/// <summary> /// Creates settings group. Called when the "Create group" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool CreateSettingsGroup() { // Get the settings category SettingsCategoryInfo settingsCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsCategory"); if (settingsCategory != null) { // Create new settings group object SettingsCategoryInfo newGroup = new SettingsCategoryInfo(); // Set the properties newGroup.CategoryDisplayName = "My New Settings Group"; newGroup.CategoryName = "MyNewSettingsGroup"; newGroup.CategoryOrder = 0; newGroup.CategoryParentID = settingsCategory.CategoryID; newGroup.CategoryIsGroup = true; newGroup.CategoryIsCustom = true; // Create the settings group SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newGroup); return(true); } return(false); }
protected override void OnInit(EventArgs e) { base.OnInit(e); mCategoryId = QueryHelper.GetInteger("categoryid", 0); mTreeRoot = QueryHelper.GetText("treeroot", "customsettings"); mWholeSettings = mTreeRoot == "settings"; mRootName = mWholeSettings ? "CMS.Settings" : "CMS.CustomSettings"; if (mCategoryId > 0) { mCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(mCategoryId); } else { mCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mRootName); } if (mCategoryInfo != null) { mCategoryId = mCategoryInfo.CategoryID; } // Intialize the control SetupControl(); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); string[,] breadcrumbs = new string[2, 4]; breadcrumbs[0, 2] = "_parent"; breadcrumbs[1, 1] = ""; // Set bradcrumbs for editing if (skeEditKey.SettingsKeyObj != null) { SettingsCategoryInfo sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(skeEditKey.SettingsKeyObj.KeyCategoryID); breadcrumbs[0, 0] = sci.CategoryDisplayName; breadcrumbs[0, 1] = ResolveUrl("CustomSettingsCategory_Default.aspx?treeroot=" + mTreeRoot + "&categoryid=" + sci.CategoryParentID + "&siteid=" + mSiteId); breadcrumbs[1, 0] = skeEditKey.SettingsKeyObj.KeyDisplayName; } // Set bradcrumbs for creating new key else { if (mParentGroup != null) { SettingsCategoryInfo parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { breadcrumbs[0, 0] = parentCat.CategoryDisplayName; breadcrumbs[0, 1] = ResolveUrl("CustomSettingsCategory_Default.aspx?treeroot=" + mTreeRoot + "&categoryid=" + parentCat.CategoryParentID + "&siteid=" + mSiteId); breadcrumbs[1, 0] = GetString("Development.CustomSettings.NewKey"); } } } CurrentMaster.Title.Breadcrumbs = breadcrumbs; }
/// <summary> /// Creates settings key. Called when the "Create key" button is pressed. /// </summary> private bool CreateSettingsKey() { // Get the settings group SettingsCategoryInfo settingsGroup = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsGroup"); if (settingsGroup != null) { // Create new settings key object SettingsKeyInfo newKey = new SettingsKeyInfo(); // Set the properties newKey.KeyDisplayName = "My new key"; newKey.KeyName = "MyNewKey"; newKey.KeyDescription = "My new key description"; newKey.KeyType = "string"; newKey.KeyValue = "My new value"; newKey.KeyCategoryID = settingsGroup.CategoryID; newKey.KeyDefaultValue = null; // Set Site ID for site specific settings key (for global settings key is default value 0). newKey.SiteID = CMSContext.CurrentSiteID; // Create the settings key SettingsKeyProvider.SetValue(newKey); return(true); } return(false); }
/// <summary> /// Creates settings category. Called when the "Create category" button is pressed. /// </summary> private bool CreateSettingsCategory() { // Get parent category ID SettingsCategoryInfo parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.CustomSettings"); if (parentCategory != null) { // Create new settings category object SettingsCategoryInfo newCategory = new SettingsCategoryInfo(); // Set the properties newCategory.CategoryDisplayName = "My New Settings Category"; newCategory.CategoryName = "MyNewSettingsCategory"; newCategory.CategoryOrder = 0; newCategory.CategoryParentID = parentCategory.CategoryID; newCategory.CategoryIsGroup = false; newCategory.CategoryIsCustom = true; // Create settings category SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newCategory); return(true); } return(false); }
/// <summary> /// Deletes settings group. Called when the "Delete group" button is pressed. /// Expects the CreateSettingsGroup method to be run first. /// </summary> private bool DeleteSettingsGroup() { // Get the settings group SettingsCategoryInfo deleteGroup = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsGroup"); // Delete the settings group SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(deleteGroup); return(deleteGroup != null); }
/// <summary> /// Deletes settings category. Called when the "Delete category" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool DeleteSettingsCategory() { // Get the settings category SettingsCategoryInfo deleteCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsCategory"); // Delete the settings category SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(deleteCategory); return(deleteCategory != null); }
protected void Page_Load(object sender, EventArgs e) { //Get parameters mKeyName = QueryHelper.GetString("keyname", ""); mSiteId = QueryHelper.GetInteger("siteid", -1); mParentGroup = QueryHelper.GetString("parentgroup", null); mTreeRoot = QueryHelper.GetText("treeroot", "customsettings"); skeEditKey.IsCustomSetting = mTreeRoot.EqualsCSafe("customsettings", true); skeEditKey.OnSaved += new EventHandler(skeEditKey_OnSaved); if (skeEditKey.IsCustomSetting) { SettingsCategoryInfo root = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.CustomSettings"); if (root != null) { skeEditKey.RootCategoryID = root.CategoryID; } } // Set up editing mode if ((mSiteId >= 0) && !string.IsNullOrEmpty(mKeyName)) { mEditedKey = SettingsKeyProvider.GetSettingsKeyInfo(mKeyName, mSiteId); // Set id of key if (mEditedKey != null) { skeEditKey.SettingsKeyID = mEditedKey.KeyID; } } // Set up creating mode else { if (mParentGroup != null) { SettingsCategoryInfo parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { skeEditKey.SelectedGroupID = parentCat.CategoryID; } } } // Check if there is something right created to edit. if (ViewState["newId"] != null) { skeEditKey.SettingsKeyID = ValidationHelper.GetInteger(ViewState["newId"], 0); } skeEditKey.TreeRefreshUrl = "~/CMSModules/Settings/Development/CustomSettings/CustomSettings_Menu.aspx?treeroot=" + mTreeRoot + "&"; skeEditKey.HeaderRefreshUrl = "~/CMSModules/Settings/Development/CustomSettings/CustomSettingsCategory_Tabs.aspx?selectedtab=keys&treeroot=" + mTreeRoot + "&"; }
public void CreateGroup(Group group) { var parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(group.Category.Name); var newGroup = new SettingsCategoryInfo { CategoryDisplayName = group.DisplayName, CategoryName = Guid.NewGuid().ToString(), CategoryParentID = parentCategory.CategoryID, CategoryIsGroup = true, CategoryIsCustom = true, CategoryResourceID = parentCategory.CategoryResourceID }; SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newGroup); }
public void CreateCategory(Category category) { var parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(category.CategoryParentName); var newCategory = new SettingsCategoryInfo { CategoryDisplayName = category.DisplayName, CategoryName = category.Name, CategoryParentID = parentCategory.CategoryID, CategoryIsGroup = false, CategoryIsCustom = true, CategoryResourceID = parentCategory.CategoryResourceID }; SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newCategory); }
public bool GroupExists(string displayName, string categoryName) { var parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(categoryName); if (parentCategory == null) { throw new ArgumentException($"Parent category with name {categoryName} does not exist"); } var groupExists = SettingsCategoryInfoProvider.GetSettingsCategories() .WhereEquals(nameof(SettingsCategoryInfo.CategoryParentID), parentCategory.CategoryID) .And() .WhereEquals(nameof(SettingsCategoryInfo.CategoryDisplayName), displayName) .Any(); return(groupExists); }
/// <summary> /// Gets and updates settings group. Called when the "Get and update group" button is pressed. /// Expects the CreateSettingsGroup method to be run first. /// </summary> private bool GetAndUpdateSettingsGroup() { // Get the settings group SettingsCategoryInfo updateGroup = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsGroup"); if (updateGroup != null) { // Update the property updateGroup.CategoryDisplayName = updateGroup.CategoryDisplayName.ToLowerCSafe(); // Update the settings group SettingsCategoryInfoProvider.SetSettingsCategoryInfo(updateGroup); return(true); } return(false); }
/// <summary> /// Gets and updates settings category. Called when the "Get and update category" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool GetAndUpdateSettingsCategory() { // Get the settings category SettingsCategoryInfo updateCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsCategory"); if (updateCategory != null) { // Update the property updateCategory.CategoryDisplayName = updateCategory.CategoryDisplayName.ToLowerCSafe(); // Update settings category SettingsCategoryInfoProvider.SetSettingsCategoryInfo(updateCategory); return(true); } return(false); }
protected override void OnInit(EventArgs e) { base.OnInit(e); int categoryId = QueryHelper.GetInteger("categoryid", -1); // Get root of tree mTreeRoot = QueryHelper.GetString("treeroot", "customsettings"); // Get site id mSiteId = QueryHelper.GetInteger("siteid", 0); // Find category if (categoryId >= 0) { mCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); } // Use root category for CustomSettings or Settings if category not found or specified if ((categoryId == -1) || (mCategory == null)) { switch (mTreeRoot) { case ("customsettings"): grpEdit.CategoryName = "CMS.CustomSettings"; break; case ("settings"): default: grpEdit.CategoryName = "CMS.Settings"; break; } mCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(grpEdit.CategoryName); } grpEdit.CategoryName = mCategory.CategoryName; grpEdit.SiteID = mSiteId; grpEdit.ActionPerformed += new CommandEventHandler(grpEdit_ActionPerformed); grpEdit.OnNewKey += new CommandEventHandler(grpEdit_OnNewKey); grpEdit.OnKeyAction += new OnActionEventHandler(grpEdit_OnKeyAction); // Read data grpEdit.ReloadData(); }
protected override void OnInit(EventArgs e) { base.OnInit(e); int categoryId = QueryHelper.GetInteger("categoryid", -1); // Find category if (categoryId >= 0) { mCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); } // Use root category for Settings if category not found or specified if ((categoryId == -1) || (mCategory == null)) { mCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.Settings"); } // Set edited object EditedObject = mCategory; if (mCategory.CategoryParentID != 0) { grpEdit.CategoryName = mCategory.CategoryName; grpEdit.ModuleID = moduleId; grpEdit.ActionPerformed += grpEdit_ActionPerformed; grpEdit.OnNewKey += grpEdit_OnNewKey; grpEdit.OnKeyAction += grpEdit_OnKeyAction; // Read data grpEdit.ReloadData(); } if (!Resource.ResourceIsInDevelopment && !SystemContext.DevelopmentMode) { // Show information about installed module ShowInformation(GetString("settingcategory.installedmodule")); } else if ((mCategory.CategoryID == categoryId) && (mCategory.CategoryParentID == 0)) { // Show information about creating module categories and groups ShowInformation(GetString("settingcategory.createmodulecategory")); } }
protected void Page_Load(object sender, EventArgs e) { //Get parameters mKeyName = QueryHelper.GetString("keyname", ""); mParentGroup = QueryHelper.GetString("parentgroup", null); skeEditKey.OnSaved += skeEditKey_OnSaved; // Set up editing mode if (!string.IsNullOrEmpty(mKeyName)) { mEditedKey = SettingsKeyInfoProvider.GetSettingsKeyInfo(mKeyName, 0); // Set id of key if (mEditedKey != null) { skeEditKey.SettingsKeyID = mEditedKey.KeyID; } } // Set up creating mode else { if (mParentGroup != null) { SettingsCategoryInfo parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { skeEditKey.SelectedGroupID = parentCat.CategoryID; } } } // Check if there is something right created to edit. if (ViewState["newId"] != null) { skeEditKey.SettingsKeyID = ValidationHelper.GetInteger(ViewState["newId"], 0); } skeEditKey.ModuleID = mModuleId; }
private SettingsCategoryInfo GetGroup(string displayName, string categoryName) { var parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(categoryName); if (parentCategory == null) { throw new ArgumentException($"Parent category with name {categoryName} does not exist"); } var group = SettingsCategoryInfoProvider.GetSettingsCategories() .WhereEquals(nameof(SettingsCategoryInfo.CategoryParentID), parentCategory.CategoryID) .And() .WhereEquals(nameof(SettingsCategoryInfo.CategoryDisplayName), displayName) .FirstOrDefault(); if (group == null) { throw new ArgumentException($"Group with display name {displayName} does not exist"); } return(group); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); var categoryBreadcrumb = new BreadcrumbItem(); var settingBreadcrumb = new BreadcrumbItem(); // Set bradcrumbs for editing if (skeEditKey.SettingsKeyObj != null) { var sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(skeEditKey.SettingsKeyObj.KeyCategoryID); categoryBreadcrumb.Text = sci.CategoryDisplayName; categoryBreadcrumb.RedirectUrl = URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "Modules.Settings.EditKeys", false), "categoryid=" + sci.CategoryParentID + "&moduleid=" + mModuleId); settingBreadcrumb.Text = skeEditKey.SettingsKeyObj.KeyDisplayName; } // Set bradcrumbs for creating new key else { if (mParentGroup != null) { var parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { categoryBreadcrumb.Text = parentCat.CategoryDisplayName; categoryBreadcrumb.RedirectUrl = URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "Modules.Settings.EditKeys", false), "categoryid=" + parentCat.CategoryParentID + "&moduleid=" + mModuleId); settingBreadcrumb.Text = GetString("Development.CustomSettings.NewKey"); } } } PageBreadcrumbs.AddBreadcrumb(categoryBreadcrumb); PageBreadcrumbs.AddBreadcrumb(settingBreadcrumb); }
protected override void OnInit() { base.OnInit(); ApplicationEvents.End.Execute += End_Execute; if (SettingsHelper.AppSettings[nameof(WebConfigKeys.CMSStorageProviderAssembly)] == "AzureStorageProvider") { var provider = new StorageProvider("AzureStorageProvider", "AzureStorageProvider", true); StorageHelper.MapStoragePath("/", provider); } if (SettingsKeyInfoProvider.GetSettingsKeyInfo(nameof(SettingsKeys.AzureStorageProviderEnableLogs)) == null) { var category = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.Debug.General"); // settings key does not exist var logEnabledKey = new SettingsKeyInfo { KeyName = nameof(SettingsKeys.AzureStorageProviderEnableLogs), KeyDisplayName = "Azure Storage Provider Enable Logs", KeyDescription = "Enables logs", KeyType = "boolean", KeyCategoryID = category.CategoryID, KeyDefaultValue = "False", KeyIsGlobal = true, KeyIsCustom = false, KeyIsHidden = false }; logEnabledKey.Insert(); } if (ValidationHelper.GetBoolean(SettingsHelper.AppSettings[nameof(WebConfigKeys.AzureStorageProviderInitializeAtAppStart)], false)) { BlobDirectoryCollection.Instance.GetOrCreate(string.Empty).Reinitialize(); } }
protected void Page_Load(object sender, EventArgs e) { ScriptHelper.RegisterJQuery(this.Page); // Root of tree flag string treeRoot = QueryHelper.GetString("treeroot", "customsettings"); // Decide which category to use as root: custom settings or settings switch (treeRoot) { case ("settings"): treeSettings.CategoryName = "CMS.Settings"; treeSettings.RootIsClickable = true; this.menuElem.WholeSettings = true; break; case ("customsettings"): default: treeSettings.CategoryName = "CMS.CustomSettings"; this.menuElem.WholeSettings = false; break; } this.menuElem.AfterAction += new OnActionEventHandler(menuElem_AfterAction); // Prepare root info SettingsCategoryInfo rootCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(treeSettings.CategoryName); StringBuilder sb = new StringBuilder(""); StringBuilder sbAfter = new StringBuilder(""); // Create links for JS sb.Append("var frameURL = '").Append(ResolveUrl("~/CMSModules/Settings/Development/CustomSettings/CustomSettingsCategory_Default.aspx?treeroot=" + ScriptHelper.GetString(treeRoot, false))).Append("';"); sb.Append("var newURL = '").Append(ResolveUrl("~/CMSModules/Settings/Development/CustomSettings/CustomSettingsCategory_Edit.aspx?treeroot=" + ScriptHelper.GetString(treeRoot, false))).Append("';"); sb.Append("var rootParentId = ").Append(rootCat != null ? rootCat.CategoryParentID : 0).Append(";"); // Disable delete on custom settings category if (treeRoot == "settings") { DataSet ds = SettingsCategoryInfoProvider.GetSettingsCategories("CategoryName = 'CMS.CustomSettings'", null, 1, "CategoryID"); int customSettingsId = 0; if (!DataHelper.DataSourceIsEmpty(ds)) { customSettingsId = SqlHelperClass.GetInteger(ds.Tables[0].Rows[0]["CategoryID"], 0); } sb.Append("var customSettingsId = ").Append(customSettingsId).Append(";"); } else { sb.Append("var customSettingsId = 0;"); } if (!RequestHelper.IsPostBack()) { int categoryId = QueryHelper.GetInteger("categoryid", -1); treeSettings.SelectPath = "/"; SettingsCategoryInfo category = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); // Select requested category if (category != null) { treeSettings.SelectPath = category.CategoryIDPath; this.menuElem.ElementID = category.CategoryID; this.menuElem.ParentID = category.CategoryParentID; this.menuElem.Value = category.CategoryID + "|" + category.CategoryParentID; // Select category after page load sbAfter.Append("SelectNode(" + ScriptHelper.GetString(category.CategoryName) + ");"); sbAfter.Append("enableMenu(").Append(category.CategoryID).Append(",").Append(category.CategoryParentID).Append(");"); } // Select root else { if (rootCat != null) { this.menuElem.ElementID = rootCat.CategoryID; this.menuElem.ParentID = rootCat.CategoryParentID; this.menuElem.Value = rootCat.CategoryID + "|" + rootCat.CategoryParentID; } // Select category after page load sbAfter.Append("SelectNode(").Append(ScriptHelper.GetString(treeSettings.CategoryName)).Append(");"); sbAfter.Append("enableMenu(").Append(rootCat.CategoryID).Append(",").Append(rootCat.CategoryParentID).Append(");"); } } sb.Append("var postParentId = ").Append(rootCat.CategoryParentID).Append(";"); this.ltlScript.Text = ScriptHelper.GetScript(sb.ToString()); this.ltlAfterScript.Text = ScriptHelper.GetScript(sbAfter.ToString()); }
/// <summary> /// Handles OnClick event of btnOk. /// </summary> /// <param name="sender">Asp Button instance</param> /// <param name="e">EventArgs instance</param> protected void btnOk_Click(object sender, EventArgs e) { if (IsValid()) { // Get category by name SettingsCategoryInfo categoryObj = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(txtCategoryName.Text.Trim()); // If name is unique OR ids are same if ((categoryObj == null) || (categoryObj.CategoryID == SettingsCategoryID)) { SettingsCategoryInfo sci = SettingsCategoryObj; if (sci == null) { sci = new SettingsCategoryInfo(); sci.CategoryOrder = CategoryOrder; } if (sci.CategoryParentID != drpCategory.SelectedCategory) { // When parent has been changed set the order for the category as the last possible order sci.CategoryOrder = SettingsCategoryInfoProvider.GetLastSettingsCategoryOrder(drpCategory.SelectedCategory) + 1; } sci.CategoryName = txtCategoryName.Text.Trim(); sci.CategoryDisplayName = txtCategoryDisplayName.Text.Trim(); sci.CategoryIconPath = txtIconPath.Text.Trim(); sci.CategoryParentID = SelectedParentCategory; sci.CategoryIsGroup = IsGroupEdit; sci.CategoryResourceID = ValidationHelper.GetInteger(ucSelectModule.Value, ModuleID); SettingsCategoryInfoProvider.SetSettingsCategoryInfo(sci); SettingsCategoryObj = sci; RaiseOnSaved(); // Set the info message if (ContentRefreshUrl == null) { ShowChangesSaved(); } // Reload header and content after save int categoryIdToShow = sci.CategoryIsGroup ? sci.CategoryParentID : sci.CategoryID; StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); if (!String.IsNullOrEmpty(TreeRefreshUrl)) { sb.AppendFormat(@"if (window.parent.parent.frames['settingstree'] != null) {{ window.parent.parent.frames['settingstree'].location = '{0}&categoryid={1}'; }} if (window.parent.frames['settingstree'] != null) {{ window.parent.frames['settingstree'].location = '{0}&categoryid={1}'; }}", ResolveUrl(TreeRefreshUrl), categoryIdToShow); } if (!String.IsNullOrEmpty(ContentRefreshUrl)) { sb.AppendFormat("window.location = '{0}&categoryid={1}';", ResolveUrl(ContentRefreshUrl), sci.CategoryID); } sb.Append("}"); ltlScript.Text = ScriptHelper.GetScript(sb.ToString()); } else { ShowError(GetString("general.codenameexists")); } } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); string[,] breadcrumbs = new string[2, 4]; breadcrumbs[0, 2] = "customsettingsmain"; // Get root category: Settings or CustomSettings SettingsCategoryInfo customSettingsRoot = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mTreeRoot == "settings" ? "CMS.Settings" : "CMS.CustomSettings"); // Parent category info for level up link SettingsCategoryInfo parentCategoryInfo = null; if (mCategoryId <= 0) { // Set new title string title = GetString(catEdit.IsGroupEdit ? "settings.group.new" : "settingsedit.category_list.newitemcaption"); if (!catEdit.IsGroupEdit && mShowTitle) { CurrentMaster.Title.TitleText = title; } catEdit.ShowParentSelector = false; if (catEdit.SettingsCategoryObj == null) { catEdit.RootCategoryID = mParentId; parentCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(mParentId); breadcrumbs[1, 0] = title; } else { parentCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(catEdit.SettingsCategoryObj.CategoryParentID); breadcrumbs[1, 0] = catEdit.SettingsCategoryObj.CategoryDisplayName; } } else { SetEditEnabled(false); // One level up link category Id, but maximaly to current root mLinkCatId = customSettingsRoot.CategoryID == catEdit.SettingsCategoryObj.CategoryParentID ? customSettingsRoot.CategoryID : (catEdit.IsGroupEdit ? catEdit.SettingsCategoryObj.CategoryParentID : catEdit.SettingsCategoryObj.CategoryID); parentCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(mLinkCatId); breadcrumbs[1, 0] = GetString(catEdit.IsGroupEdit ? catEdit.SettingsCategoryObj.CategoryDisplayName : "settingsedit.settingscategory.edit.headercaption"); if (mShowTitle && !catEdit.IsGroupEdit) { CurrentMaster.Title.TitleText = GetString("settingsedit.settingscategory.edit.headercaption"); } if (catEdit.SettingsCategoryObj.CategoryID != customSettingsRoot.CategoryID) { SetEditEnabled(true); // Allow assigning of all categories in edit mode catEdit.RootCategoryID = customSettingsRoot != null ? customSettingsRoot.CategoryID : catEdit.SettingsCategoryObj.CategoryParentID; catEdit.IsGroupEdit = catEdit.SettingsCategoryObj.CategoryIsGroup; } } // Set up title and breadcrumbs if (parentCategoryInfo != null) { breadcrumbs[0, 0] = ResHelper.LocalizeString(parentCategoryInfo.CategoryDisplayName); breadcrumbs[0, 1] = ResolveUrl("~/CMSModules/Settings/Development/CustomSettings/CustomSettingsCategory_Default.aspx") + "?treeroot=" + mTreeRoot + "&categoryid=" + parentCategoryInfo.CategoryID; } if (mCategoryId <= 0 || catEdit.IsGroupEdit) { CurrentMaster.Title.Breadcrumbs = breadcrumbs; } CurrentMaster.Title.TitleImage = GetImageUrl("Objects/CMS_CustomSettings/object.png"); }
/// <summary> /// Handles OnClick event of btnOk. /// </summary> /// <param name="sender">Asp Button instance</param> /// <param name="e">EventArgs instance</param> protected void btnOk_Click(object sender, EventArgs e) { if (IsValid()) { // Get category by name SettingsCategoryInfo categoryObj = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(txtCategoryName.Text.Trim()); // If name is unique OR ids are same if ((categoryObj == null) || (categoryObj.CategoryID == mSettingsCategoryId)) { SettingsCategoryInfo sci = SettingsCategoryObj; if (sci == null) { sci = new SettingsCategoryInfo(); sci.CategoryOrder = mCategoryOrder; } if (sci.CategoryParentID != drpCategory.SelectedCategory) { // When parent has been changed set the order for the category as the last possible order sci.CategoryOrder = SettingsCategoryInfoProvider.GetLastSettingsCategoryOrder(drpCategory.SelectedCategory) + 1; } sci.CategoryName = txtCategoryName.Text.Trim(); sci.CategoryDisplayName = txtCategoryDisplayName.Text.Trim(); sci.CategoryIconPath = txtIconPath.Text.Trim(); sci.CategoryParentID = drpCategory.SelectedCategory; sci.CategoryIsGroup = mIsGroupEdit; sci.CategoryIsCustom = mIsCustom || chkIsCustom.Checked; SettingsCategoryInfoProvider.SetSettingsCategoryInfo(sci); SettingsCategoryObj = sci; RaiseOnSaved(); // Set the info message if (ContentRefreshUrl == null) { ShowChangesSaved(); } // Reload header and content after save int categoryIdToShow = sci.CategoryIsGroup ? sci.CategoryParentID : sci.CategoryID; StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); if (HeaderRefreshUrl != null) { sb.Append("if (window.parent.parent.frames['customsettingscategorytabs'] != null) {"); sb.Append("window.parent.parent.frames['customsettingscategorytabs'].location = '" + ResolveUrl(HeaderRefreshUrl) + "categoryid=" + categoryIdToShow + "';"); sb.Append("}"); sb.Append("if (window.parent.frames['customsettingscategorytabs'] != null) {"); sb.Append("window.parent.frames['customsettingscategorytabs'].location = '" + ResolveUrl(HeaderRefreshUrl) + "categoryid=" + categoryIdToShow + "';"); sb.Append("}"); } if (TreeRefreshUrl != null) { sb.Append("if (window.parent.parent.frames['customsettingstree'] != null) {"); sb.Append("window.parent.parent.frames['customsettingstree'].location = '" + ResolveUrl(TreeRefreshUrl) + "categoryid=" + categoryIdToShow + "';"); sb.Append("}"); sb.Append("if (window.parent.frames['customsettingstree'] != null) {"); sb.Append("window.parent.frames['customsettingstree'].location = '" + ResolveUrl(TreeRefreshUrl) + "categoryid=" + categoryIdToShow + "';"); sb.Append("}"); } if (ContentRefreshUrl != null) { sb.Append("window.location = '" + ResolveUrl(ContentRefreshUrl) + "categoryid=" + sci.CategoryID + "';"); } sb.Append("}"); ltlScript.Text = ScriptHelper.GetScript(sb.ToString()); } else { ShowError(GetString("general.codenameexists")); } } }
protected void Page_Load(object sender, EventArgs e) { // Id of parent if creating new category. mParentId = QueryHelper.GetInteger("parentid", -1); // Id of category if editing existing category. mCategoryId = QueryHelper.GetInteger("categoryid", -1); // Set isGroup flag. catEdit.IsGroupEdit = QueryHelper.GetBoolean("isgroup", false); catEdit.IncludeRootCategory = !catEdit.IsGroupEdit; if (ViewState["newId"] != null) { mCategoryId = ValidationHelper.GetInteger(ViewState["newId"], 0); } catEdit.OnSaved += catEdit_OnSaved; // Set up of root category in parent selector and refreshing catEdit.DisplayOnlyCategories = true; catEdit.SettingsCategoryID = mCategoryId; // Set tree refreshing catEdit.TreeRefreshUrl = "~/CMSModules/Modules/Pages/Settings/Tree.aspx?moduleid=" + moduleId; // Get root category: Settings or CustomSettings SettingsCategoryInfo settingsRoot = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.Settings"); if (mCategoryId <= 0) { catEdit.ShowParentSelector = false; if (catEdit.SettingsCategoryObj == null) { catEdit.RootCategoryID = mParentId; } // Redirect to editing form if (catEdit.IsGroupEdit) { catEdit.ContentRefreshUrl = URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "Modules.Settings.EditCategory", false), "moduleId=" + moduleId); } else { catEdit.ContentRefreshUrl = URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "EditSettingsCategory", false), "tabName=Modules.Settings.EditCategory&moduleId=" + moduleId); } } else { SetEditEnabled(false); // Do not show root category if (catEdit.SettingsCategoryObj.CategoryID != settingsRoot.CategoryID) { SetEditEnabled(true); // Allow assigning of all categories in edit mode catEdit.RootCategoryID = settingsRoot.CategoryID; catEdit.IsGroupEdit = catEdit.SettingsCategoryObj.CategoryIsGroup; } else { ShowInformation(GetString("settingcategory.rootcategorywarning")); } } }