コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        issueInfo = EditedObject as IssueInfo;

        if (issueInfo == null)
        {
            RedirectToAccessDenied(GetString("general.invalidparameters"));
        }

        if (!issueInfo.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(issueInfo.TypeInfo.ModuleName, "Read");
        }

        InitAbTestingTab();

        rptEmailWidgets.DataSource = GetAvailableWidgets(issueInfo.IssueTemplateID);
        rptEmailWidgets.DataBind();

        alNoRecords.Visible = !rptEmailWidgets.HasData();

        // Set builder iframe
        builderIframe.Src = URLHelper.ResolveUrl($"~/CMSPages/Newsletters/GetEmailBuilderContent.ashx?issueid={issueInfo.IssueID}");

        // Initialize email properties control
        emailProperties.Enabled      = EditEnabled;
        emailProperties.IssueID      = issueInfo.IssueID;
        emailProperties.NewsletterID = issueInfo.IssueNewsletterID;
        emailProperties.Save        += EmailProperties_Save;

        if (!RequestHelper.IsAsyncPostback())
        {
            string moduleId             = "CMS.Newsletter/emailbuilder";
            var    zonesConfiguration   = Service.Resolve <IZonesConfigurationServiceFactory>().Create(issueInfo);
            var    localizationProvider = Service.Resolve <IClientLocalizationProvider>();
            var    newsletter           = NewsletterInfoProvider.GetNewsletterInfo(issueInfo.IssueNewsletterID);
            var    filter = new EmailBuilderContentFilter(issueInfo, newsletter);

            ScriptHelper.RegisterModule(this, "CMS/RegisterClientLocalization", localizationProvider.GetClientLocalization(moduleId));
            ScriptHelper.RegisterModule(this, "CMS.Newsletter/EmailBuilder", new
            {
                issueId = issueInfo.IssueID,
                enableWidgetManipulation = EditEnabled,
                emailContent             = zonesConfiguration.GetEmailContent(filter)
            });

            ScriptHelper.HideVerticalTabs(this);
            ScriptHelper.RefreshTabHeader(Page, issueInfo.Generalized.ObjectDisplayName);

            InitHeaderActions();
        }

        SetClientApplicationData();
    }
コード例 #2
0
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        if (Issue == null)
        {
            RedirectToAccessDenied(GetString("general.invalidparameters"));
        }

        if (!Issue.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(Issue.TypeInfo.ModuleName, "Read");
        }

        if (IsDialog && PageTitle != null)
        {
            PageTitle.TitleText = HTMLHelper.HTMLEncode(Issue.IssueDisplayName);
        }

        // Init right panel tabs
        InitWidgetsTab();
        InitEmailPropertiesTab();
        InitAbTestingTab();

        if (!RequestHelper.IsAsyncPostback())
        {
            string moduleId             = "CMS.Newsletter/emailbuilder";
            var    zonesConfiguration   = Service.Resolve <IZonesConfigurationServiceFactory>().Create(Issue);
            var    localizationProvider = Service.Resolve <IClientLocalizationProvider>();
            var    newsletter           = NewsletterInfo.Provider.Get(Issue.IssueNewsletterID);
            var    filter = new EmailBuilderContentFilter(Issue, newsletter);

            ScriptHelper.RegisterModule(this, "CMS/RegisterClientLocalization", localizationProvider.GetClientLocalization(moduleId));
            ScriptHelper.RegisterModule(this, "CMS.Newsletter/EmailBuilder", new
            {
                issueId = Issue.IssueID,
                enableWidgetManipulation = EditEnabled,
                emailContent             = zonesConfiguration.GetEmailContent(filter)
            });

            ScriptHelper.HideVerticalTabs(this);
            ScriptHelper.RefreshTabHeader(Page, Issue.Generalized.ObjectDisplayName);

            InitHeaderActions();
        }

        SetClientApplicationData();
    }