private void renderPage() { // OK, so now we're finally in a position to load up the values of the page fields: SourceDocIcon.AlternateText = "Icon of document being publishing out."; SourceDocIcon.ImageUrl = WBUtils.DocumentIcon32(sourceDocAsItem.Url); TitleField.Text = sourceFile.Title; ReadOnlyNameField.Text = sourceDocAsItem.Name; NameField.Text = sourceDocAsItem.Name; OriginalFileName.Text = sourceDocAsItem.WBxGetColumnAsString(WorkBox.COLUMN_NAME__ORIGINAL_FILENAME); DocumentFileNamingConvention.Text = documentRecordsType.DocumentNamingConvention.Replace("<", "<").Replace(">", ">"); RecordsTypeUIControlValue.Value = documentRecordsType.UIControlValue; PickRecordsTypeButton.OnClientClick = "WorkBoxFramework_pickANewRecordsType(WorkBoxFramework_PublishDoc_pickedANewRecordsType, '" + documentRecordsType.UIControlValue + "'); return false;"; RecordsType.Text = documentRecordsType.FullPath.Replace("/", " / "); WBTermCollection <WBTerm> functionalAreas = sourceDocAsItem.WBxGetMultiTermColumn <WBTerm>(functionalAreasTaxonomy, WorkBox.COLUMN_NAME__FUNCTIONAL_AREA); functionalAreaFieldIsEditable = documentRecordsType.IsFunctionalAreaEditable; if (functionalAreaFieldIsEditable) { functionalAreasTaxonomy.InitialiseTaxonomyControl(FunctionalAreaField, WorkBox.COLUMN_NAME__FUNCTIONAL_AREA, false, false, this); String functionalAreaValue = functionalAreas.UIControlValue; if (functionalAreaValue.Contains(";")) { string[] allFunctionalValues = functionalAreaValue.Split(';'); functionalAreaValue = allFunctionalValues[0]; } FunctionalAreaField.Text = functionalAreaValue; } else { ReadOnlyFunctionalAreaField.Text = functionalAreas.Names(); } bool userCanPublishToPublic = false; SPGroup publishersGroup = WorkBox.OwningTeam.PublishersGroup(SPContext.Current.Site); if (publishersGroup != null) { if (publishersGroup.ContainsCurrentUser) { userCanPublishToPublic = true; } } String selectedZone = WBRecordsType.PROTECTIVE_ZONE__PROTECTED; if (userCanPublishToPublic) { if (destinationType.Equals(WorkBox.PUBLISHING_OUT_DESTINATION_TYPE__PUBLIC_WEB_SITE)) { WBLogging.Generic.Verbose("In PUBLIC: The destination type was: " + destinationType); selectedZone = WBRecordsType.PROTECTIVE_ZONE__PUBLIC; } else if (destinationType.Equals(WorkBox.PUBLISHING_OUT_DESTINATION_TYPE__PUBLIC_EXTRANET)) { WBLogging.Generic.Verbose("In PUBLIC EXTRANET: The destination type was: " + destinationType); selectedZone = WBRecordsType.PROTECTIVE_ZONE__PUBLIC_EXTRANET; } else { WBLogging.Generic.Verbose("The destination type was: " + destinationType); selectedZone = WBRecordsType.PROTECTIVE_ZONE__PROTECTED; } } else { selectedZone = WBRecordsType.PROTECTIVE_ZONE__PROTECTED; } List <String> protectiveZoneList = new List <String>(); protectiveZoneList.Add(selectedZone); ProtectiveZone.DataSource = protectiveZoneList; ProtectiveZone.DataBind(); ProtectiveZone.SelectedValue = selectedZone; if (showSubjectTags) { if (documentRecordsType.IsDocumentSubjectTagsRequired) { SubjectTagsTitle.Text = "Subject Tags" + WBConstant.REQUIRED_ASTERISK; } else { SubjectTagsTitle.Text = "Subject Tags (optional)"; } SubjectTagsDescription.Text = documentRecordsType.DocumentSubjectTagsDescription; subjectTagsTaxonomy.InitialiseTaxonomyControl(SubjectTagsField, WorkBox.COLUMN_NAME__SUBJECT_TAGS, true, true, this); WBTermCollection <WBTerm> subjectTags = sourceDocAsItem.WBxGetMultiTermColumn <WBTerm>(subjectTagsTaxonomy, WorkBox.COLUMN_NAME__SUBJECT_TAGS); SubjectTagsField.Text = subjectTags.WBxToString(); } if (showReferenceID) { if (documentRecordsType.IsDocumentReferenceIDRequired) { ReferenceIDTitle.Text = "Reference ID" + WBConstant.REQUIRED_ASTERISK; } else { ReferenceIDTitle.Text = "Reference ID (optional)"; } ReferenceIDDescription.Text = documentRecordsType.DocumentReferenceIDDescription; ReferenceID.Text = sourceDocAsItem.WBxGetColumnAsString(WorkBox.COLUMN_NAME__REFERENCE_ID); } if (showReferenceDate) { if (documentRecordsType.IsDocumentReferenceDateRequired) { ReferenceDateTitle.Text = "Reference Date" + WBConstant.REQUIRED_ASTERISK; } else { ReferenceDateTitle.Text = "Reference Date (optional)"; } ReferenceDateDescription.Text = documentRecordsType.DocumentReferenceDateDescription; if (sourceDocAsItem.WBxColumnHasValue(WorkBox.COLUMN_NAME__REFERENCE_DATE)) { ReferenceDate.SelectedDate = (DateTime)sourceDocAsItem[WorkBox.COLUMN_NAME__REFERENCE_DATE]; } else { ReferenceDate.SelectedDate = DateTime.Now; } } if (showSeriesTag) { if (documentRecordsType.IsDocumentSeriesTagRequired) { SeriesTagTitle.Text = "Series Tag" + WBConstant.REQUIRED_ASTERISK; } else { SeriesTagTitle.Text = "Series Tag (optional)"; } SeriesTagDescription.Text = documentRecordsType.DocumentSeriesTagDescription; SeriesTagDropDownList.DataSource = GetSeriesTagDataSource(documentRecordsType.DocumentSeriesTagParentTerm(seriesTagsTaxonomy)); SeriesTagDropDownList.DataTextField = "SeriesTagTermName"; SeriesTagDropDownList.DataValueField = "SeriesTagTermUIControlValue"; SeriesTagDropDownList.DataBind(); if (sourceDocAsItem.WBxColumnHasValue(WorkBox.COLUMN_NAME__SERIES_TAG)) { SeriesTagDropDownList.SelectedValue = sourceDocAsItem.WBxGetSingleTermColumn <WBTerm>(seriesTagsTaxonomy, WorkBox.COLUMN_NAME__SERIES_TAG).UIControlValue; } } if (showScanDate) { if (documentRecordsType.IsDocumentScanDateRequired) { ScanDateTitle.Text = "Scan Date" + WBConstant.REQUIRED_ASTERISK; } else { ScanDateTitle.Text = "Scan Date (optional)"; } ScanDateDescription.Text = documentRecordsType.DocumentScanDateDescription; if (sourceDocAsItem.WBxColumnHasValue(WorkBox.COLUMN_NAME__SCAN_DATE)) { ScanDate.SelectedDate = (DateTime)sourceDocAsItem[WorkBox.COLUMN_NAME__SCAN_DATE]; } } teamsTaxonomy.InitialiseTaxonomyControl(OwningTeamField, WorkBox.COLUMN_NAME__OWNING_TEAM, false); TaxonomyFieldValue owningTeamValue = sourceDocAsItem[WorkBox.COLUMN_NAME__OWNING_TEAM] as TaxonomyFieldValue; OwningTeamField.Text = owningTeamValue.WBxUIControlValue(); teamsTaxonomy.InitialiseTaxonomyControl(InvolvedTeamsField, WorkBox.COLUMN_NAME__INVOLVED_TEAMS, true); TaxonomyFieldValueCollection involvedTeamsValues = sourceDocAsItem[WorkBox.COLUMN_NAME__INVOLVED_TEAMS] as TaxonomyFieldValueCollection; InvolvedTeamsField.Text = involvedTeamsValues.WBxUIControlValue(); if (functionalAreaFieldIsEditable) { FunctionalAreaField.Focus(); } else { PickRecordsTypeButton.Focus(); } }
private void renderPage() { if (pageRendered) { return; } WBLogging.Generic.Unexpected("Rendering 'New Work Box' page"); WBCollection collection = new WBCollection(WorkBoxCollectionUrl.Value); CreateNewWorkBoxText.Text = workBoxRecordsType.CreateNewWorkBoxText; RecordsType.Text = workBoxRecordsType.FullPath.Replace("/", " / "); string namingConvention = workBoxRecordsType.WorkBoxNamingConvention; string uniqueIDprefix = workBoxRecordsType.WorkBoxUniqueIDPrefix; if (uniqueIDprefix != "") { namingConvention = namingConvention.Replace("<Unique ID Prefix>", uniqueIDprefix); namingConvention = namingConvention.Replace("<UID Prefix>", uniqueIDprefix); } WorkBoxNamingConvention.Text = namingConvention.Replace("<", "<").Replace(">", ">"); DataView templates = GetTemplatesDataSource(collection, workBoxRecordsType); if (templates.Count == 0) { NoTemplatesError.Text = "There are no templates for this work box records type!"; onlyOneWorkBoxTemplate = true; } else { if (templates.Count == 1) { DataRow theTemplate = templates.Table.Rows[0]; onlyOneWorkBoxTemplate = true; WorkBoxTemplate.Text = theTemplate["WorkBoxTemplateTextField"].WBxToString(); WorkBoxTemplateID.Value = theTemplate["WorkBoxTemplateValueField"].WBxToString(); } else { onlyOneWorkBoxTemplate = false; WorkBoxTemplates.DataSource = templates; WorkBoxTemplates.DataTextField = "WorkBoxTemplateTextField"; WorkBoxTemplates.DataValueField = "WorkBoxTemplateValueField"; WorkBoxTemplates.DataBind(); WBTemplate defaultTemplate = collection.DefaultTemplate(workBoxRecordsType); if (defaultTemplate != null) { WorkBoxTemplates.SelectedValue = defaultTemplate.ID.ToString(); } // We're going to use the fact that this hidden field is blank to assume // that there was more than one value: WorkBoxTemplateID.Value = ""; } } if (functionalAreaFieldIsEditable) { functionalAreas.InitialiseTaxonomyControl(FunctionalAreaField, WorkBox.COLUMN_NAME__FUNCTIONAL_AREA, true, true, null); if (!IsPostBack && functionalAreaInitialValue != null) { FunctionalAreaField.Text = functionalAreaInitialValue; } } else { ReadOnlyFunctionalAreaField.Text = workBoxRecordsType.DefaultFunctionalArea(functionalAreas).Names(); } // teams.InitialiseTaxonomyControl(OwningTeamField, WorkBox.COLUMN_NAME__OWNING_TEAM, false); teams.InitialiseTaxonomyControl(InvolvedTeamsField, WorkBox.COLUMN_NAME__INVOLVED_TEAMS, true); showShortTitle = workBoxRecordsType.WorkBoxShortTitleRequirement != WBRecordsType.METADATA_REQUIREMENT__HIDDEN; if (showShortTitle) { if (workBoxRecordsType.IsWorkBoxShortTitleRequired) { ShortTitleTitle.Text = "Short Title" + WBConstant.REQUIRED_ASTERISK; } else { ShortTitleTitle.Text = "Short Title (optional)"; } ShortTitleDescription.Text = workBoxRecordsType.WorkBoxShortTitleDescription; } showReferenceID = workBoxRecordsType.WorkBoxReferenceIDRequirement != WBRecordsType.METADATA_REQUIREMENT__HIDDEN; if (showReferenceID) { if (workBoxRecordsType.IsWorkBoxReferenceIDRequired) { ReferenceIDTitle.Text = "Reference ID" + WBConstant.REQUIRED_ASTERISK; } else { ReferenceIDTitle.Text = "Reference ID (optional)"; } ReferenceIDDescription.Text = workBoxRecordsType.WorkBoxReferenceIDDescription; // ReferenceID.Text = sourceDocAsItem.WBxGetColumnAsString(WorkBox.COLUMN_NAME__REFERENCE_ID); } showReferenceDate = workBoxRecordsType.WorkBoxReferenceDateRequirement != WBRecordsType.METADATA_REQUIREMENT__HIDDEN; if (showReferenceDate) { // Setting the local to a value that should make the date format DD/MM/YYYY // ReferenceDate.LocaleId = 2057; if (workBoxRecordsType.IsWorkBoxReferenceDateRequired) { ReferenceDateTitle.Text = "Reference Date" + WBConstant.REQUIRED_ASTERISK; } else { ReferenceDateTitle.Text = "Reference Date (optional)"; } ReferenceDateDescription.Text = workBoxRecordsType.WorkBoxReferenceDateDescription; /* * if (sourceDocAsItem.WBxColumnHasValue(WorkBox.COLUMN_NAME__REFERENCE_DATE)) * { * ReferenceDate.SelectedDate = (DateTime)sourceDocAsItem[WorkBox.COLUMN_NAME__REFERENCE_DATE]; * } * else * { * } * */ } showSeriesTag = workBoxRecordsType.WorkBoxSeriesTagRequirement != WBRecordsType.METADATA_REQUIREMENT__HIDDEN; if (showSeriesTag) { if (workBoxRecordsType.IsWorkBoxSeriesTagRequired) { SeriesTagTitle.Text = "Series Tag" + WBConstant.REQUIRED_ASTERISK; } else { SeriesTagTitle.Text = "Series Tag (optional)"; } SeriesTagDescription.Text = workBoxRecordsType.DocumentSeriesTagDescription; SeriesTagDropDownList.DataSource = GetSeriesTagsDataSource(workBoxRecordsType.WorkBoxSeriesTagParentTerm(seriesTags)); SeriesTagDropDownList.DataTextField = "SeriesTagTermName"; SeriesTagDropDownList.DataValueField = "SeriesTagTermUIControlValue"; SeriesTagDropDownList.DataBind(); if (!IsPostBack && seriesTagInitialValue != "") { if (SeriesTagDropDownList.Items.FindByValue(seriesTagInitialValue) != null) { SeriesTagDropDownList.SelectedValue = seriesTagInitialValue; } } } ErrorMessageLabel.Text = errorMessage; if (functionalAreaFieldIsEditable) { FunctionalAreaField.Focus(); } else { if (!onlyOneWorkBoxTemplate) { WorkBoxTemplates.Focus(); } else { if (showShortTitle) { WorkBoxShortTitle.Focus(); } else { // Just to have the focus somewhere: InvolvedTeamsField.Focus(); } } } if (relatedWorkBox != null) { relatedWorkBox.Dispose(); } collection.Dispose(); pageRendered = true; }