protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (HttpContext.Current == null) { return; }
            EnableViewState = false;
            basePage = Page as CmsPage;

            Visible = ShouldRender();
            if (!Visible) { return; }

            if (basePage == null) { return; }

            if (CssClass.Length > 0)
            {
                CssClass = "adminlink pagesettingslink " + CssClass;
            }
            else
            {
                CssClass = "adminlink pagesettingslink";
            }

            ToolTip = Resource.PageSettingsTooltip;

            if (SiteUtils.SslIsAvailable())
            {
                if (basePage.CurrentPage != null)
                {
                    NavigateUrl = basePage.SiteRoot + "/Admin/PageSettings.aspx?pageid=" + basePage.CurrentPage.PageId.ToInvariantString();
                }
            }
            else
            {
                if (basePage.CurrentPage != null)
                {
                    NavigateUrl = basePage.RelativeSiteRoot + "/Admin/PageSettings.aspx?pageid=" + basePage.CurrentPage.PageId.ToInvariantString();
                }

            }

            if (basePage.UseIconsForAdminLinks)
            {
                ImageUrl = Page.ResolveUrl("~/Data/SiteImages/" + WebConfigSettings.EditPageSettingsImage);
                Text = Resource.PagePropertiesEditText;
            }
            else
            {
                Text = Resource.PageConfigLink;
            }
        }
Exemple #2
0
        private void SetupWorkflowControls()
        {
            if (HttpContext.Current == null)
            {
                return;
            }

            if (siteModule == null)
            {
                return;
            }
            if (module == null)
            {
                return;
            }


            CmsPage cmsPage = this.Page as CmsPage;

            if ((cmsPage != null) && (cmsPage.ViewMode == PageViewMode.WorkInProgress))
            {
                //ScriptReference script = new ScriptReference();
                //script.Path = "~/ClientScript/jqmojo/jquery.cluetip.js";
                //cmsPage.ScriptConfig.AddPathScriptReference(script);

                //this.Controls.Add(statusLink);

                switch (workflowStatus)
                {
                case ContentWorkflowStatus.Draft:

                    ibPostDraftContentForApproval.ImageUrl = Page.ResolveUrl(WebConfigSettings.RequestApprovalImage);
                    ibPostDraftContentForApproval.ToolTip  = Resource.RequestApprovalToolTip;
                    ibPostDraftContentForApproval.Visible  = true;
                    //statusLink.HelpKey = "workflowstatus-draft-help";

                    statusIcon.ToolTip = Resource.WorkflowDraft;
                    //statusLink.Visible = true;
                    //statusLink.HookupScript();

                    if (WebConfigSettings.WorkflowShowPublishForUnSubmittedDraft)
                    {
                        if (
                            (cmsPage.CurrentPage != null) &&
                            (isAdminEditor || WebUser.IsInRoles(cmsPage.CurrentPage.EditRoles) || WebUser.IsInRoles(this.module.AuthorizedEditRoles) ||
                             (WebConfigSettings.Use3LevelContentWorkflow && (WebUser.IsInRoles(cmsPage.CurrentPage.DraftApprovalRoles) || WebUser.IsInRoles(this.module.DraftApprovalRoles)))
                            )
                            )
                        {
                            ibApproveContent.ImageUrl = Page.ResolveUrl(WebConfigSettings.ApproveContentImage);
                            ibApproveContent.Visible  = true;
                            ibApproveContent.ToolTip  = Resource.ApproveContentToolTip;
                        }
                    }

                    break;

                case ContentWorkflowStatus.AwaitingApproval:

                    if (WebConfigSettings.Use3LevelContentWorkflow)
                    {
                        //joe davis
                        //disable edit link because draft is awaiting approval
                        lnkModuleEdit.Visible = false;
                    }

                    //if (WebUser.IsAdminOrContentAdminOrContentPublisher)
                    if (
                        (cmsPage.CurrentPage != null) &&
                        (isAdminEditor || WebUser.IsInRoles(cmsPage.CurrentPage.EditRoles) || WebUser.IsInRoles(this.module.AuthorizedEditRoles) ||
                         (WebConfigSettings.Use3LevelContentWorkflow && (WebUser.IsInRoles(cmsPage.CurrentPage.DraftApprovalRoles) || WebUser.IsInRoles(this.module.DraftApprovalRoles)))
                        )
                        )
                    {
                        if (WebConfigSettings.Use3LevelContentWorkflow)
                        {
                            //user can edit current draft awaiting approval
                            lnkModuleEdit.Visible = true;
                        }

                        //add in the reject and approve links:
                        ibApproveContent.ImageUrl = Page.ResolveUrl(WebConfigSettings.ApproveContentImage);
                        ibApproveContent.Visible  = true;
                        ibApproveContent.ToolTip  = Resource.ApproveContentToolTip;

                        lnkRejectContent.NavigateUrl =
                            siteRoot
                            + "/Admin/RejectContent.aspx?mid=" + module.ModuleId.ToInvariantString()
                            + "&pageid=" + module.PageId.ToInvariantString();

                        lnkRejectContent.ImageUrl = Page.ResolveUrl(WebConfigSettings.RejectContentImage);
                        lnkRejectContent.ToolTip  = Resource.RejectContentToolTip;
                        lnkRejectContent.Visible  = true;
                    }

                    statusIcon.ToolTip = WebConfigSettings.Use3LevelContentWorkflow ? Resource.WorkflowAwaitingApproval3Level : Resource.WorkflowAwaitingApproval;

                    //statusLink.Visible = true;
                    //statusLink.HookupScript();

                    break;

                case ContentWorkflowStatus.AwaitingPublishing:
                    //joe davis
                    if (
                        (cmsPage.CurrentPage != null) &&
                        (isAdminEditor || WebUser.IsInRoles(cmsPage.CurrentPage.EditRoles) || WebUser.IsInRoles(this.module.AuthorizedEditRoles))
                        )
                    {
                        //add in the reject and publish links:
                        ibPublishContent.ImageUrl = Page.ResolveUrl(WebConfigSettings.PublishContentImage);
                        ibPublishContent.Visible  = true;
                        ibPublishContent.ToolTip  = Resource.PublishContentToolTip;

                        lnkRejectContent.NavigateUrl =
                            siteRoot
                            + "/Admin/RejectContent.aspx?mid=" + module.ModuleId.ToInvariantString()
                            + "&pageid=" + module.PageId.ToInvariantString();

                        lnkRejectContent.ImageUrl = Page.ResolveUrl(WebConfigSettings.RejectContentImage);
                        lnkRejectContent.ToolTip  = Resource.RejectContentToolTip;
                        lnkRejectContent.Visible  = true;
                    }

                    statusIcon.ToolTip = Resource.WorkflowAwaitingPublishing;

                    break;

                case ContentWorkflowStatus.ApprovalRejected:
                    // statusLink.HelpKey = "workflowstatus-rejected-help";
                    statusIcon.ToolTip = Resource.WorkflowRejected;
                    //statusLink.Visible = true;
                    //statusLink.HookupScript();
                    break;
                }

                if (
                    (workflowStatus != ContentWorkflowStatus.Cancelled) &&
                    (workflowStatus != ContentWorkflowStatus.Approved) &&
                    (workflowStatus != ContentWorkflowStatus.None)
                    )
                {
                    //allow changes to be cancelled:
                    ibCancelChanges.ImageUrl = Page.ResolveUrl(WebConfigSettings.CancelContentChangesImage);
                    ibCancelChanges.ToolTip  = Resource.CancelChangesToolTip;
                    ibCancelChanges.Visible  = true;
                }
            }
        }
Exemple #3
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (HttpContext.Current == null)
            {
                return;
            }

            EnableViewState = false;
            basePage        = Page as CmsPage;

            Visible = ShouldRender();

            if (!Visible)
            {
                return;
            }

            if (basePage == null)
            {
                return;
            }

            if (CssClass.Length > 0)
            {
                CssClass = "adminlink pagesettingslink " + CssClass;
            }
            else
            {
                CssClass = "adminlink pagesettingslink";
            }

            ToolTip = Resource.PageSettingsTooltip;

            if (SiteUtils.SslIsAvailable())
            {
                if (basePage.CurrentPage != null)
                {
                    NavigateUrl = basePage.SiteRoot + "/Admin/PageSettings.aspx?pageid=" + basePage.CurrentPage.PageId.ToInvariantString();
                }
            }
            else
            {
                if (basePage.CurrentPage != null)
                {
                    NavigateUrl = basePage.RelativeSiteRoot + "/Admin/PageSettings.aspx?pageid=" + basePage.CurrentPage.PageId.ToInvariantString();
                }
            }

            Literal literalTop = new Literal();

            literalTop.Text = literalExtraTopContent;
            Controls.Add(literalTop);

            Literal literalText = new Literal();

            literalText.Text = Resource.PageConfigLink;
            Controls.Add(literalText);

            Literal literalBottom = new Literal();

            literalBottom.Text = literalExtraBottomContent;
            Controls.Add(literalBottom);


            if (!string.IsNullOrWhiteSpace(linkImageUrl))
            {
                if (linkImageUrl.StartsWith("~/"))
                {
                    ImageUrl = Page.ResolveUrl(linkImageUrl);
                }
                else
                {
                    string skinPath = SiteUtils.GetSkinBaseUrl(Page);

                    ImageUrl = Page.ResolveUrl(skinPath + linkImageUrl.TrimStart('/'));
                }
            }
        }