/// <summary> /// Loads form layout of document, bizform, systemtable or alternative form. /// </summary> protected void LoadData() { if (DataClassID > 0) { if (!IsAlternative) { classInfo = DataClassInfoProvider.GetDataClassInfo(DataClassID); UIContext.EditedObject = classInfo; } else { altFormInfo = AlternativeFormInfoProvider.GetAlternativeFormInfo(ObjectID); UIContext.EditedObject = altFormInfo; } if (!RequestHelper.IsPostBack()) { LayoutTypeEnum layoutType = LayoutTypeEnum.Html; InitTypeSelector(); if (!IsAlternative) { if (classInfo != null) { // Load layout of document, bizform or systemtable FormLayout = classInfo.ClassFormLayout; layoutType = classInfo.ClassFormLayoutType; } } else { if (altFormInfo != null) { // Load layout of alternative form FormLayout = altFormInfo.FormLayout; layoutType = altFormInfo.FormLayoutType; } } radCustomLayout.Checked = LayoutIsSet; drpLayoutType.SelectedValue = layoutType.ToString(); // Switch visibility of layout editors based on layout type plcHTML.Visible = drpLayoutType.SelectedValue.EqualsCSafe(LayoutTypeEnum.Html.ToString(), StringComparison.InvariantCultureIgnoreCase); plcASCX.Visible = !plcHTML.Visible; } if (radCustomLayout.Checked) { InitDialog(); } radAutoLayout.Checked = !radCustomLayout.Checked; } else { UIContext.EditedObject = null; } }
protected void Page_Load(object sender, EventArgs e) { // Get alternative form ID from URL int altFormId = QueryHelper.GetInteger("altformid", 0); CurrentMaster.BodyClass += " FieldEditorBody"; // Get alternative form AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); if (afi != null) { // Get name of the edited class string className = DataClassInfoProvider.GetClassName(afi.FormClassID); // Initialize field editor altFormFieldEditor.Mode = FieldEditorModeEnum.SystemTable; altFormFieldEditor.ShowFieldVisibility = (className.ToLowerCSafe().Trim() == SiteObjectType.USER.ToLowerCSafe()); altFormFieldEditor.AlternativeFormID = altFormId; altFormFieldEditor.DisplayedControls = FieldEditorControlsEnum.SystemTables; if (className.ToLowerCSafe().Trim() == PredefinedObjectType.SKU) { altFormFieldEditor.ShowInheritanceSettings = true; } } }
/// <summary> /// Upgrades form category properties. /// </summary> private static void UpgradeFormCategories() { try { var resourceStringRegex = new Regex(@"(?<tag><cms:FormCategory[^>]*\s)(GroupingText)?ResourceString\s*="); var resourceStringReplacement = "${tag}CategoryTitleResourceString="; var groupingTextRegex = new Regex(@"(?<tag><cms:FormCategory[^>]*\s)GroupingText\s*="); var groupingTextReplacement = "${tag}CategoryTitle="; var classes = DataClassInfoProvider.GetClasses().Where("[ClassFormLayout] != '' AND [ClassFormLayout] LIKE '%cms:FormCategory%'"); foreach (var dci in classes) { dci.ClassFormLayout = resourceStringRegex.Replace(dci.ClassFormLayout, resourceStringReplacement); dci.ClassFormLayout = groupingTextRegex.Replace(dci.ClassFormLayout, groupingTextReplacement); DataClassInfoProvider.SetDataClassInfo(dci); } var altForms = AlternativeFormInfoProvider.GetAlternativeForms("[FormLayout] != '' AND [FormLayout] LIKE '%cms:FormCategory%'", null); foreach (var afi in altForms) { afi.FormLayout = resourceStringRegex.Replace(afi.FormLayout, resourceStringReplacement); afi.FormLayout = groupingTextRegex.Replace(afi.FormLayout, groupingTextReplacement); AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); } } catch (Exception ex) { EventLogProvider.LogException("Upgrade - Form categories", "Upgrade", ex); } }
/// <summary> /// Saves form layout. /// </summary> protected void SaveData() { bool saved = false; bool deleted = false; // Get form layout string layout = FormLayout; // Delete layout if editor is hidden if (!CustomLayoutEnabled) { deleted = LayoutIsSet; layout = null; } if (DataClassID > 0) { if (!IsAlternative) { DataClassInfo dci = DataClassInfoProvider.GetDataClass(DataClassID); CMSPage.EditedObject = dci; if (dci != null) { // Update dataclass form layout and save object dci.ClassFormLayout = layout; DataClassInfoProvider.SetDataClass(dci); saved = true; } } else { AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(ObjectID); CMSPage.EditedObject = afi; if (afi != null) { // Update alternative form layout and save object afi.FormLayout = layout; AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); saved = true; } } // Display info if successfully saved if (saved) { if (!deleted) { ShowChangesSaved(); } else { ShowConfirmation(GetString("DocumentType_Edit_Form.LayoutDeleted")); } } } else { CMSPage.EditedObject = null; } }
/// <summary> /// Loads form layout of document, bizform, systemtable or alternative form. /// </summary> protected void LoadData() { if (DataClassID > 0) { if (!IsAlternative) { DataClassInfo dci = DataClassInfoProvider.GetDataClass(DataClassID); CMSPage.EditedObject = dci; if (dci != null) { // Load layout of document, bizform or systemtable FormLayout = dci.ClassFormLayout; } } else { AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(ObjectID); CMSPage.EditedObject = afi; if (afi != null) { // Load layout of alternative form FormLayout = afi.FormLayout; } } } else { CMSPage.EditedObject = null; } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { this.myProfile.IsLiveSite = true; if (this.StopProcessing) { this.myProfile.StopProcessing = true; } else { // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName); if (afi != null) { this.myProfile.AlternativeFormName = this.AlternativeFormName; this.myProfile.AllowEditVisibility = this.AllowEditVisibility; } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName); lblError.Visible = true; plcContent.Visible = false; } } }
/// <summary> /// Fills alternative form list according to selection in class CMSDropDownList. /// </summary> protected void LoadAltFormsList() { int formClassId = ValidationHelper.GetInteger(drpClass.SelectedValue, 0); DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormClassID=" + formClassId, "FormName"); lstAlternativeForms.Items.Clear(); if (!DataHelper.DataSourceIsEmpty(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { AlternativeFormInfo afi = new AlternativeFormInfo(dr); if (afi != null) { if ((afi.FormDisplayName != String.Empty) && (afi.FormName != String.Empty)) { lstAlternativeForms.Items.Add(new ListItem(ResHelper.LocalizeString(afi.FormDisplayName), afi.FullName)); } } } lstAlternativeForms.SelectedValue = null; lstAlternativeForms.DataBind(); } ds.Dispose(); }
protected void Page_Load(object sender, EventArgs e) { altFormId = QueryHelper.GetInteger("altformid", 0); // Validate AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); EditedObject = afi; if (afi == null) { return; } // Init values if (!RequestHelper.IsPostBack()) { nameElem.DisplayName = afi.FormDisplayName; nameElem.CodeName = afi.FormName; } nameElem.ShowSubmitButton = true; nameElem.Click += new EventHandler(nameElem_Click); if (QueryHelper.GetInteger("saved", 0) == 1) { lblInfo.Visible = true; lblInfo.Text = GetString("general.changessaved"); // Reload header if changes were saved ScriptHelper.RefreshTabHeader(Page, null); } }
/// <summary> /// Click event - updates new values. /// </summary> /// <param name="sender">Sender</param> /// <param name="e">Params</param> protected void nameElem_Click(object sender, EventArgs e) { // Check 'EditForm' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.form", "EditForm")) { RedirectToCMSDeskAccessDenied("cms.form", "EditForm"); } // Code name validation string err = new Validator().IsIdentificator(nameElem.CodeName, GetString("general.erroridentificatorformat")).Result; if (err != String.Empty) { lblError.Visible = true; lblError.Text = err; lblInfo.Visible = false; return; } // Validate form id AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); EditedObject = afi; if (afi == null) { return; } // Checking for duplicate items DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormName='" + SqlHelperClass.GetSafeQueryString(nameElem.CodeName, false) + "' AND FormClassID=" + afi.FormClassID, null); if (!DataHelper.DataSourceIsEmpty(ds)) { if (!((ds.Tables.Count == 1) && (ds.Tables[0].Rows.Count == 1) && ( ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["FormID"], 0) == altFormId))) { lblError.Visible = true; lblError.Text = GetString("general.codenameexists"); lblInfo.Visible = false; return; } } afi.FormDisplayName = nameElem.DisplayName; afi.FormName = nameElem.CodeName; AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); // Required to log staging task, alternative form is not binded to bizform as child using (CMSActionContext context = new CMSActionContext()) { context.CreateVersion = false; // Log synchronization BizFormInfo bfi = BizFormInfoProvider.GetBizFormInfo(formId); SynchronizationHelper.LogObjectChange(bfi, TaskTypeEnum.UpdateObject); } URLHelper.Redirect("AlternativeForms_Edit_General.aspx?altformid=" + altFormId + "&formid=" + formId + "&saved=1"); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { myProfile.IsLiveSite = true; if (StopProcessing) { myProfile.StopProcessing = true; } else { // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName); if (afi != null) { myProfile.AlternativeFormName = AlternativeFormName; myProfile.AllowEditVisibility = AllowEditVisibility; myProfile.AfterSaveRedirectURL = AfterSaveRedirectURL; myProfile.SubmitButtonResourceString = SubmitButtonResourceString; myProfile.FormCSSClass = FormCSSClass; myProfile.MarkRequiredFields = MarkRequiredFields; myProfile.UseColonBehindLabel = UseColonBehindLabel; myProfile.ValidationErrorMessage = GetString("general.errorvalidationerror"); } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName); lblError.Visible = true; plcContent.Visible = false; } } }
protected void Page_Load(object sender, EventArgs e) { AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(mAlternativeFormId); UIContext.EditedObject = afi; if (afi == null) { return; } DataClassInfo dci = DataClassInfoProvider.GetDataClassInfo(afi.FormClassID); if (dci == null) { ShowError(GetString("general.invalidid")); } else { string formDef = dci.ClassFormDefinition; string coupledClassName = null; if (afi.FormCoupledClassID > 0) { // If coupled class is defined combine form definitions DataClassInfo coupledDci = DataClassInfoProvider.GetDataClassInfo(afi.FormCoupledClassID); if (coupledDci != null) { formDef = FormHelper.MergeFormDefinitions(formDef, coupledDci.ClassFormDefinition); coupledClassName = coupledDci.ClassName; } } var resource = ResourceInfo.Provider.Get(QueryHelper.GetInteger("moduleid", 0)); // Allow development mode only for non-system tables fieldEditor.DevelopmentMode = (resource != null) && resource.IsEditable; // Set original form definition fieldEditor.OriginalFormDefinition = formDef; // Merge class and alternative form definitions formDef = FormHelper.MergeFormDefinitions(formDef, afi.FormDefinition); // Initialize field editor mode and load form definition fieldEditor.AlternativeFormFullName = afi.FullName; fieldEditor.FormDefinition = formDef; // Specify set of controls which should be offered for field types fieldEditor.DisplayedControls = mDisplayedControls; fieldEditor.ClassName = dci.ClassName; fieldEditor.CoupledClassName = coupledClassName; // Handle definition update (move up, move down, delete, OK button) fieldEditor.OnAfterDefinitionUpdate += fieldEditor_OnAfterDefinitionUpdate; fieldEditor.OnFieldNameChanged += fieldEditor_OnFieldNameChanged; } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (this.StopProcessing) { // Do nothing } else { // Set default visibility pnlRegForm.Visible = true; lblInfo.Visible = false; // WAI validation lblCaptcha.AssociatedControlClientID = captchaElem.InputClientID; // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeForm); if (afi != null) { formUser.AlternativeFormFullName = this.AlternativeForm; formUser.Info = new UserInfo(); formUser.Info.ClearData(); formUser.ClearAfterSave = false; formUser.Visible = true; formUser.ValidationErrorMessage = this.RegistrationErrorMessage; formUser.IsLiveSite = true; // Reload form if not in PortalEngine environment and if post back if ((this.StandAlone) && (RequestHelper.IsPostBack())) { formUser.ReloadData(); } captchaElem.Visible = this.DisplayCaptcha; lblCaptcha.Visible = this.DisplayCaptcha; plcCaptcha.Visible = this.DisplayCaptcha; btnRegister.Text = this.ButtonText; btnRegister.Click += btnRegister_Click; formUser.OnBeforeSave += formUser_OnBeforeSave; lblInfo.CssClass = "EditingFormInfoLabel"; lblError.CssClass = "EditingFormErrorLabel"; if (formUser.BasicForm != null) { // Set the live site context formUser.BasicForm.ControlContext.ContextName = CMS.SiteProvider.ControlContext.LIVE_SITE; } } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeForm); lblError.Visible = true; pnlRegForm.Visible = false; } } }
private void listElem_OnDelete(object sender, object actionArgument) { // Check 'EditForm' permission if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.form", "EditForm", SiteInfoProvider.GetSiteName(formInfo.FormSiteID))) { RedirectToAccessDenied("cms.form", "EditForm"); } AlternativeFormInfoProvider.DeleteAlternativeFormInfo(ValidationHelper.GetInteger(actionArgument, 0)); }
/// <summary> /// After form definition update event handler. /// </summary> private void fieldEditor_OnAfterDefinitionUpdate(object sender, EventArgs e) { // Perform OnBeforeSave if defined if (OnBeforeSave != null) { OnBeforeSave(this, EventArgs.Empty); } // Stop processing if set from outside if (StopProcessing) { return; } // Get alternative form info object and data class info object AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(mAlternativeFormId); if (afi != null) { DataClassInfo dci = DataClassInfoProvider.GetDataClassInfo(afi.FormClassID); if (dci != null) { string formDefinition = dci.ClassFormDefinition; if (afi.FormCoupledClassID > 0) { // Combine form definitions of class and its coupled class DataClassInfo coupledDci = DataClassInfoProvider.GetDataClassInfo(afi.FormCoupledClassID); if (coupledDci != null) { formDefinition = FormHelper.MergeFormDefinitions(formDefinition, coupledDci.ClassFormDefinition); } } // Compare original and alternative form definitions - store differences only afi.FormDefinition = FormHelper.GetFormDefinitionDifference(formDefinition, fieldEditor.FormDefinition, true); // Update alternative form info in database AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); } else { ShowError(GetString("general.invalidid")); } } // Perform OnAfterSave if defined if (OnAfterSave != null) { OnAfterSave(this, EventArgs.Empty); } }
void nameElem_Click(object sender, EventArgs e) { // Check 'EditForm' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.form", "EditForm")) { RedirectToCMSDeskAccessDenied("cms.form", "EditForm"); } // Code name validation string err = new Validator().IsIdentificator(nameElem.CodeName, GetString("general.erroridentificatorformat")).Result; if (err != String.Empty) { lblError.Visible = true; lblError.Text = err; return; } // Checking for duplicate items DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormName='" + nameElem.CodeName + "' AND FormClassID=" + classId, null); if (!DataHelper.DataSourceIsEmpty(ds)) { lblError.Visible = true; lblError.Text = GetString("general.codenameexists"); return; } // Create new info object AlternativeFormInfo afi = new AlternativeFormInfo(); afi.FormID = 0; afi.FormGUID = Guid.NewGuid(); afi.FormClassID = classId; afi.FormName = nameElem.CodeName; afi.FormDisplayName = nameElem.DisplayName; AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); // Required to log staging task, alternative form is not binded to bizform as child using (CMSActionContext context = new CMSActionContext()) { context.CreateVersion = false; // Log synchronization SynchronizationHelper.LogObjectChange(bfi, TaskTypeEnum.UpdateObject); } URLHelper.Redirect("AlternativeForms_Frameset.aspx?formid=" + formId.ToString() + "&altformid=" + afi.FormID + "&saved=1"); }
/// <summary> /// Click event - updates new values. /// </summary> /// <param name="sender">Sender</param> /// <param name="e">Params</param> void btnOK_Click(object sender, EventArgs e) { // Code name validation string err = new Validator().IsIdentificator(txtCodeName.Text, GetString("general.erroridentificatorformat")).Result; if (err != String.Empty) { lblError.Visible = true; lblError.Text = err; lblInfo.Visible = false; return; } // Validate form id AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); EditedObject = afi; if (afi == null) { return; } // Checking for duplicate items DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormName='" + SqlHelperClass.GetSafeQueryString(txtCodeName.Text, false) + "' AND FormClassID=" + afi.FormClassID, null); if (!DataHelper.DataSourceIsEmpty(ds)) { if (!((ds.Tables.Count == 1) && (ds.Tables[0].Rows.Count == 1) && ( ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["FormID"], 0) == altFormId))) { lblError.Visible = true; lblError.Text = GetString("general.codenameexists"); lblInfo.Visible = false; return; } } afi.FormDisplayName = txtDisplayName.Text; afi.FormName = txtCodeName.Text; AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); lblInfo.Visible = true; lblInfo.Text = GetString("general.changessaved"); // Reload header if changes were saved ScriptHelper.RefreshTabHeader(Page, null); }
protected void Page_Load(object sender, EventArgs e) { // Validate query params against hash value and check if control ID is not potential XSS threat string txtClientId = QueryHelper.GetString("txtelem", ""); string lblClientId = QueryHelper.GetString("lblelem", ""); Regex re = RegexHelper.GetRegex(@"[\w\d_$$]*"); if (!QueryHelper.ValidateHash("hash") || !re.IsMatch(txtClientId) || !re.IsMatch(lblClientId)) { pnlContent.Visible = false; btnOk.Visible = false; return; } if (!RequestHelper.IsPostBack()) { DataSet dsClasses = AlternativeFormInfoProvider.GetClassesWithAlternativeForms(); drpClass.DataSource = dsClasses; drpClass.DataValueField = "FormClassID"; drpClass.DataTextField = "ClassName"; drpClass.DataBind(); if (!DataHelper.DataSourceIsEmpty(dsClasses)) { // Try to preselect class from drop-down list string className = QueryHelper.GetString("classname", string.Empty); if (className != string.Empty) { drpClass.SelectedIndex = drpClass.Items.IndexOf(drpClass.Items.FindByText(className)); } else { drpClass.SelectedIndex = 0; } // Load alternative forms for selected class LoadAltFormsList(); } } btnOk.OnClientClick = "SelectCurrentAlternativeForm('" + txtClientId + "','" + lblClientId + "'); return false;"; btnCancel.OnClientClick = "Cancel(); return false;"; CurrentMaster.Title.TitleText = GetString("altforms.selectaltform"); CurrentMaster.Title.TitleImage = GetImageUrl("Design/Selectors/selectaltform.png"); ltlScript.Text = ScriptHelper.GetScript("var lstAlternativeForms = document.getElementById('" + lstAlternativeForms.ClientID + "');"); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { // Get group info GroupInfo gi = null; if (((GroupName == "") || GroupName == GroupInfoProvider.CURRENT_GROUP) && (CommunityContext.CurrentGroup != null)) { gi = CommunityContext.CurrentGroup; } else { gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); } if (gi != null) { // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName); if (afi != null) { // Initialize data form formElem.Visible = true; formElem.Info = gi; formElem.AlternativeFormFullName = AlternativeFormName; formElem.SubmitButton.Visible = false; formElem.IsLiveSite = true; } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName); lblError.Visible = true; plcContent.Visible = false; } } else { // Hide data form formElem.Visible = false; lblNoProfile.Visible = true; lblNoProfile.Text = NoProfileText; } } }
/// <summary> /// Updates an existing alternative forms form definitions. Appends existing custom fields to new version definitions. /// </summary> private static void UpdateAlternativeForms() { DataSet classes = GetFormDefinitions(true); if (!DataHelper.DataSourceIsEmpty(classes)) { foreach (DataRow row in classes.Tables[0].Rows) { string objectName = DataHelper.GetStringValue(row, FORM_DEFINITION_NAME_COLUMN); string newDefinition = DataHelper.GetStringValue(row, FORM_DEFINITION_VALUE_COLUMN); if (!string.IsNullOrEmpty(objectName) && !string.IsNullOrEmpty(newDefinition)) { var altForm = AlternativeFormInfoProvider.GetAlternativeFormInfo(objectName); if (altForm != null) { var mainDci = DataClassInfoProvider.GetDataClassInfo(altForm.FormClassID); var classFormDefinition = mainDci.ClassFormDefinition; if (altForm.FormCoupledClassID > 0) { // If coupled class is defined combine form definitions var coupledDci = DataClassInfoProvider.GetDataClassInfo(altForm.FormCoupledClassID); if (coupledDci != null) { classFormDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, coupledDci.ClassFormDefinition); } } var oldVersionDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, altForm.FormDefinition); var newVersionDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, newDefinition); var newVersionFi = new FormInfo(newVersionDefinition); var oldVersionFi = new FormInfo(oldVersionDefinition); CopyCustomFields(oldVersionFi, newVersionFi, true); // Save the modified form definition altForm.FormDefinition = FormHelper.GetFormDefinitionDifference(classFormDefinition, newVersionFi.GetXmlDefinition(), true); altForm.Update(); } } } } }
private void listElem_OnDelete(object sender, object actionArgument) { // Check 'EditForm' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.form", "EditForm")) { RedirectToCMSDeskAccessDenied("cms.form", "EditForm"); } AlternativeFormInfoProvider.DeleteAlternativeFormInfo(ValidationHelper.GetInteger(actionArgument, 0)); // Required to log staging task, alternative form is not bound to bizform as child using (CMSActionContext context = new CMSActionContext()) { context.CreateVersion = false; // Log synchronization SynchronizationHelper.LogObjectChange(bfi, TaskTypeEnum.UpdateObject); } }
protected void Page_Load(object sender, EventArgs e) { // Get alternative form ID from URL int altFormId = QueryHelper.GetInteger("altformid", 0); CurrentMaster.BodyClass += " FieldEditorBody"; // Get alternative form AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); if (afi != null) { // Initialize field editor altFormFieldEditor.AlternativeFormID = altFormId; } ScriptHelper.HideVerticalTabs(this); }
protected void Page_Load(object sender, EventArgs e) { AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(mAlternativeFormId); CMSPage.EditedObject = afi; if (afi != null) { DataClassInfo dci = DataClassInfoProvider.GetDataClass(afi.FormClassID); if (dci != null) { string formDef = dci.ClassFormDefinition; string coupledClassName = null; if (afi.FormCoupledClassID > 0) { // If coupled class is defined combine form definitions DataClassInfo coupledDci = DataClassInfoProvider.GetDataClass(afi.FormCoupledClassID); if (coupledDci != null) { formDef = FormHelper.MergeFormDefinitions(formDef, coupledDci.ClassFormDefinition, true); coupledClassName = coupledDci.ClassName; } } // Merge class and alternative form definitions formDef = FormHelper.MergeFormDefinitions(formDef, afi.FormDefinition); // Initialize field editor mode and load form definition fieldEditor.IsAlternativeForm = true; fieldEditor.AlternativeFormFullName = afi.FullName; fieldEditor.FormDefinition = formDef; // Specify set of controls which should be offered for field types fieldEditor.DisplayedControls = mDisplayedControls; fieldEditor.ClassName = dci.ClassName; fieldEditor.CoupledClassName = coupledClassName; // Handle definition update (move up, move down, delete, OK button) fieldEditor.OnAfterDefinitionUpdate += fieldEditor_OnAfterDefinitionUpdate; } else { ShowErrorMessage(); } } }
void btnOK_Click(object sender, EventArgs e) { // Code name validation string err = new Validator().IsIdentificator(this.txtCodeName.Text, GetString("general.erroridentificatorformat")).Result; if (err != String.Empty) { lblError.Visible = true; lblError.Text = err; return; } // Checking for duplicate items DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormName='" + SqlHelperClass.GetSafeQueryString(this.txtCodeName.Text, false) + "' AND FormClassID=" + classId, null); if (!DataHelper.DataSourceIsEmpty(ds)) { lblError.Visible = true; lblError.Text = GetString("general.codenameexists"); return; } // Create new info object AlternativeFormInfo afi = new AlternativeFormInfo(); afi.FormID = 0; afi.FormGUID = Guid.NewGuid(); afi.FormClassID = classId; afi.FormName = this.txtCodeName.Text; afi.FormDisplayName = this.txtDisplayName.Text; DataClassInfo dci = DataClassInfoProvider.GetDataClass(SiteObjectType.USERSETTINGS); if (dci != null) { afi.FormCoupledClassID = (this.chkCombineUserSettings.Checked) ? dci.ClassID : 0; } AlternativeFormInfoProvider.SetAlternativeFormInfo(afi); URLHelper.Redirect("Frameset.aspx?classid=" + classId + "&altformid=" + afi.FormID + "&saved=1"); }
protected void nameElem_Click(object sender, EventArgs e) { // Code name validation string err = new Validator().IsIdentificator(nameElem.CodeName, GetString("general.erroridentificatorformat")).Result; if (err != String.Empty) { lblError.Visible = true; lblError.Text = err; return; } // Checking for duplicate items DataSet ds = AlternativeFormInfoProvider.GetAlternativeForms("FormName='" + SqlHelperClass.GetSafeQueryString(nameElem.CodeName, false) + "' AND FormClassID=" + classId, null); if (!DataHelper.DataSourceIsEmpty(ds)) { lblError.Visible = true; lblError.Text = GetString("general.codenameexists"); return; } // Create new info object AlternativeFormInfo alternativeFormInfo = new AlternativeFormInfo(); alternativeFormInfo.FormID = 0; alternativeFormInfo.FormGUID = Guid.NewGuid(); alternativeFormInfo.FormClassID = classId; alternativeFormInfo.FormName = nameElem.CodeName; alternativeFormInfo.FormDisplayName = nameElem.DisplayName; try { AlternativeFormInfoProvider.SetAlternativeFormInfo(alternativeFormInfo); URLHelper.Redirect("AlternativeForms_Frameset.aspx?classid=" + classId + "&altformid=" + alternativeFormInfo.FormID + "&saved=1"); } catch (Exception ex) { lblError.Visible = true; lblError.Text = ex.Message; } }
/// <summary> /// Initializes filter form. /// </summary> private void InitializeFilterForm() { // If ClassID is not used don't initialize if (ClassID != UniSelector.US_NONE_RECORD) { if (ClassID > 0) { var className = DataClassInfoProvider.GetClassName(ClassID); var formName = className + ".filter"; var form = AlternativeFormInfoProvider.GetAlternativeFormInfo(formName); formName += (form != null) ? "+cms.document.simplefilter" : "+cms.document.filter"; gridDocuments.FilterFormName = formName; } else { gridDocuments.FilterFormName = "cms.document.filter"; } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { // Get user info UserInfo ui = GetUser(); if (ui != null) { // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName); if (afi != null) { // Initialize data form formElem.Visible = true; formElem.Info = ui; formElem.AlternativeFormFullName = AlternativeFormName; formElem.IsLiveSite = true; formElem.ApplyVisibility = ApplyVisibility; formElem.VisibilityFormName = VisibilityFormName; formElem.SubmitButton.Visible = false; } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName); lblError.Visible = true; plcContent.Visible = false; } } else { // Hide data form formElem.Visible = false; lblNoProfile.Visible = true; lblNoProfile.Text = NoProfileText; } } }
/// <summary> /// Fills alternative form list according to selection in class selector. /// </summary> private void LoadAltFormsList() { int formClassId = ValidationHelper.GetInteger(drpClass.Value, 0); var altForms = AlternativeFormInfoProvider.GetAlternativeForms() .Columns("FormName", "FormDisplayName", "FormClassID") .WhereEquals("FormClassID", formClassId) .OrderBy("FormName"); lstAlternativeForms.Items.Clear(); foreach (var alternativeForm in altForms) { if ((alternativeForm.FormDisplayName != String.Empty) && (alternativeForm.FormName != String.Empty)) { lstAlternativeForms.Items.Add(new ListItem(ResHelper.LocalizeString(alternativeForm.FormDisplayName), alternativeForm.FullName)); } } lstAlternativeForms.SelectedValue = null; lstAlternativeForms.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { // Get alternative form ID from URL int altFormId = QueryHelper.GetInteger("altformid", 0); CurrentMaster.BodyClass += " FieldEditorBody"; // Get alternative form AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); if (afi != null) { // Get name of the edited class string className = DataClassInfoProvider.GetClassName(afi.FormClassID); // Initialize field editor altFormFieldEditor.AlternativeFormID = altFormId; altFormFieldEditor.ShowFieldVisibility = className.Equals(UserInfo.OBJECT_TYPE, StringComparison.InvariantCultureIgnoreCase); } ScriptHelper.HideVerticalTabs(this); }
/// <summary> /// Updates an existing alternative forms form definitions. Appends existing custom fields to new version definitions. /// </summary> private static void UpdateAlternativeForms() { var path = Path.Combine(mWebsitePath, "App_Data\\CMSTemp\\Upgrade\\AlternativeForms"); var forms = GetAllFiles(path); foreach (var formPath in forms) { var form = Path.GetFileNameWithoutExtension(formPath); var altForm = AlternativeFormInfoProvider.GetAlternativeFormInfo(form); if (altForm != null) { var mainDci = DataClassInfoProvider.GetDataClassInfo(altForm.FormClassID); var classFormDefinition = mainDci.ClassFormDefinition; if (altForm.FormCoupledClassID > 0) { // If coupled class is defined combine form definitions var coupledDci = DataClassInfoProvider.GetDataClassInfo(altForm.FormCoupledClassID); if (coupledDci != null) { classFormDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, coupledDci.ClassFormDefinition); } } // Make sure that the false flag for extra fields is not used in future upgrades (8.0 further) since extra custom fields could be added to alternative forms since v8 var oldVersionDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, altForm.FormDefinition, false); var newVersionDefinition = FormHelper.MergeFormDefinitions(classFormDefinition, File.ReadAllText(formPath)); var newVersionFi = new FormInfo(newVersionDefinition); var oldVersionFi = new FormInfo(oldVersionDefinition); CopyCustomFields(oldVersionFi, newVersionFi); // Save the modified form definition altForm.FormDefinition = FormHelper.GetFormDefinitionDifference(classFormDefinition, newVersionFi.GetXmlDefinition(), true); altForm.Update(); } } }
protected void Page_Load(object sender, EventArgs e) { // Check 'ReadForm' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.form", "ReadForm")) { RedirectToCMSDeskAccessDenied("cms.form", "ReadForm"); } altFormId = QueryHelper.GetInteger("altformid", 0); formId = QueryHelper.GetInteger("formid", 0); // Validate AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(altFormId); EditedObject = afi; if (afi == null) { return; } // Init values if (!RequestHelper.IsPostBack()) { nameElem.DisplayName = afi.FormDisplayName; nameElem.CodeName = afi.FormName; } nameElem.ShowSubmitButton = true; nameElem.Click += new EventHandler(nameElem_Click); if (QueryHelper.GetInteger("saved", 0) == 1) { lblInfo.Visible = true; lblInfo.Text = GetString("general.changessaved"); // Reload header if changes were saved ScriptHelper.RefreshTabHeader(Page, null); } }