using System; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.UIControls; using CMS.ExtendedControls; using CMS.ExtendedControls.ActionsConfig; public partial class CMSModules_EmailTemplates_Pages_List : CMSEmailTemplatesPage { #region "Properties" /// /// Local header actions /// public override HeaderActions HeaderActions { get { return headerActions; } } #endregion #region "Page events" protected override void OnPreInit(EventArgs e) { ((Panel)CurrentMaster.PanelBody.FindControl("pnlContent")).CssClass = string.Empty; base.OnPreInit(e); } protected void Page_Load(object sender, EventArgs e) { // Setup page title text and image CurrentMaster.Title.TitleText = GetString("EmailTemplate_List.Title"); CurrentMaster.Title.TitleImage = GetImageUrl("Objects/CMS_EmailTemplate/object.png"); CurrentMaster.Title.HelpTopicName = "e-mail_templates_list"; CurrentMaster.Title.HelpName = "helpTopic"; // Control initialization HeaderActions.AddAction(new HeaderAction() { Text = GetString("EmailTemplate_List.NewTemplateButton"), ImageUrl = GetImageUrl("Objects/CMS_EmailTemplate/add.png"), OnClientClick = "AddNewItem();" }); if (SiteID != 0) { pnlSites.Visible = false; } else { // Set site selector siteSelector.DropDownSingleSelect.AutoPostBack = true; siteSelector.AllowAll = false; siteSelector.AllowEmpty = false; siteSelector.OnlyRunningSites = false; siteSelector.UniSelector.OnSelectionChanged += new EventHandler(UniSelector_OnSelectionChanged); siteSelector.AllowSetSpecialFields = true; if (!RequestHelper.IsPostBack()) { if (SelectedSiteID > 0) { siteSelector.Value = SelectedSiteID; } else if (CMSContext.CurrentUser.UserSiteManagerAdmin) { siteSelector.Value = siteSelector.GlobalRecordValue; SelectedSiteID = ValidationHelper.GetInteger(siteSelector.GlobalRecordValue, UniSelector.US_GLOBAL_RECORD); } } else { SelectedSiteID = ValidationHelper.GetInteger(siteSelector.Value, 0); } } // Initialize email template list control emailTemplateListElem.SiteID = (SiteID > 0) ? SiteID : SelectedSiteID; emailTemplateListElem.OnCheckPermissions += emailTemplateListElem_OnCheckPermissions; emailTemplateListElem.OnEdit += emailTemplateListElem_OnEdit; } protected void Page_PreRender(object sender, EventArgs e) { // Register correct script for new item ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "AddNewItem", ScriptHelper.GetScript( "function AddNewItem() { this.window.location = '" + ResolveUrl("Edit.aspx?" + GetSiteOrSelectedSite() + "'} "))); // Register export script RegisterExportScript(); } #endregion #region "Private methods" /// /// Returns 'siteid' or 'selectedsiteid' parametr depending on QueryString. /// /// Query parameter private string GetSiteOrSelectedSite() { // Site ID is used in CMS desk if (SiteID > 0) { return "siteid=" + SiteID; } // SelectedSiteID is used in CMS Site Manager else if (SelectedSiteID > 0) { return "selectedsiteid=" + SelectedSiteID; } return String.Empty; } #endregion #region "Control events" /// /// Handles site selection change event. /// protected void UniSelector_OnSelectionChanged(object sender, EventArgs e) { // Update unigrid pnlUpdate.Update(); } /// /// Edit event handler. /// protected void emailTemplateListElem_OnEdit(object sender, EventArgs e) { URLHelper.Redirect("Edit.aspx?templateid=" + emailTemplateListElem.SelectedItemID + "&" + GetSiteOrSelectedSite()); } /// /// On check permissions event handler. /// protected void emailTemplateListElem_OnCheckPermissions(string permissionType, CMSAdminControl sender) { if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.emailtemplates", permissionType)) { RedirectToCMSDeskAccessDenied("CMS.EmailTemplates", permissionType); } } #endregion }