using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.Reporting; using CMS.UIControls; public partial class CMSModules_Reporting_Tools_ReportCategory_General : CMSReportingPage { protected int mCategoryID = 0; private bool mIsRoot = false; protected void Page_Load(object sender, EventArgs e) { Title = "Report category edit"; rfvCodeName.ErrorMessage = GetString("ReportCategory_Edit.ErrorCodeName"); rfvDisplayName.ErrorMessage = GetString("ReportCategory_Edit.ErrorDisplayName"); // control initializations lblCategoryDisplayName.Text = GetString("ReportCategory_Edit.CategoryDisplayNameLabel"); lblCategoryCodeName.Text = GetString("ReportCategory_Edit.CategoryCodeNameLabel"); string currentReportCategory = GetString("ReportCategory_Edit.NewItemCaption"); // get reportCategory id from query string mCategoryID = ValidationHelper.GetInteger(Request.QueryString["CategoryID"], 0); if (mCategoryID > 0) { ReportCategoryInfo reportCategoryObj = ReportCategoryInfoProvider.GetReportCategoryInfo(mCategoryID); if (reportCategoryObj != null) { if (reportCategoryObj.CategoryCodeName == "/") { plcCategoryName.Visible = false; mIsRoot = true; } currentReportCategory = reportCategoryObj.CategoryDisplayName; // fill editing form if (!RequestHelper.IsPostBack()) { LoadData(reportCategoryObj); // show that the reportCategory was created or updated successfully if ((ValidationHelper.GetString(Request.QueryString["saved"], "") == "1") && !URLHelper.IsPostback()) { ShowChangesSaved(); } } } } } /// /// Load data of editing reportCategory. /// /// ReportCategory object protected void LoadData(ReportCategoryInfo reportCategoryObj) { txtCategoryDisplayName.Text = reportCategoryObj.CategoryDisplayName; txtCategoryCodeName.Text = reportCategoryObj.CategoryCodeName; } /// /// Sets data to database. /// protected void btnOK_Click(object sender, EventArgs e) { // check 'modify' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.reporting", "Modify")) { RedirectToAccessDenied("cms.reporting", "Modify"); } string errorMessage = new Validator().NotEmpty(txtCategoryCodeName.Text, GetString("ReportCategory_Edit.ErrorCodeName")).NotEmpty(txtCategoryDisplayName.Text, GetString("ReportCategory_Edit.ErrorDisplayName")).Result; //Test codename if root is not edited if ((!mIsRoot) && (String.IsNullOrEmpty(errorMessage)) && (!ValidationHelper.IsCodeName(txtCategoryCodeName.Text.Trim()))) { errorMessage = GetString("ReportCategory_Edit.InvalidCodeName"); } if (String.IsNullOrEmpty(errorMessage)) { ReportCategoryInfo rcCodeNameCheck = ReportCategoryInfoProvider.GetReportCategoryInfo(txtCategoryCodeName.Text.Trim()); //check reportCategory codename if ((rcCodeNameCheck == null) || (rcCodeNameCheck.CategoryID == mCategoryID)) { string script = string.Empty; ReportCategoryInfo reportCategoryObj = ReportCategoryInfoProvider.GetReportCategoryInfo(mCategoryID); // if reportCategory doesn't already exist, create new one if (reportCategoryObj == null) { reportCategoryObj = new ReportCategoryInfo(); } if (reportCategoryObj.CategoryDisplayName != txtCategoryDisplayName.Text.Trim()) { // Refresh the breadcrumb ScriptHelper.RefreshTabHeader(Page, GetString("general.general")); } reportCategoryObj.CategoryDisplayName = txtCategoryDisplayName.Text.Trim(); reportCategoryObj.CategoryCodeName = txtCategoryCodeName.Text.Trim(); ReportCategoryInfoProvider.SetReportCategoryInfo(reportCategoryObj); script += @"if (parent.parent.frames['reportcategorytree']) { parent.parent.frames['reportcategorytree'].location.href = 'ReportCategory_tree.aspx?categoryid=" + reportCategoryObj.CategoryID + @"'; }"; ltlScript.Text = ScriptHelper.GetScript(script); } else { ShowError(GetString("ReportCategory_Edit.ReportCategoryAlreadyExists")); } } else { ShowError(errorMessage); } } }