예제 #1
0
        private void PopulateModel()
        {
            model = new Models.AdminMenuPage
            {
                PageTitle   = Resource.AdvancedToolsHeading,
                PageHeading = Resource.AdvancedToolsHeading
            };

            if (isAdmin || isContentAdmin || isSiteEditor)
            {
                model.Links.AddRange(new List <ContentAdminLink>
                {
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "AdminMenuUrlManagerLink",
                        Url          = SiteRoot + "/Admin/UrlManager.aspx",
                        CssClass     = "adminlink-advanced-urls",
                        IconCssClass = "fa fa-link",
                        SortOrder    = 10
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "RedirectManagerLink",
                        Url          = SiteRoot + "/Admin/RedirectManager.aspx",
                        CssClass     = "adminlink-advanced-redirects",
                        IconCssClass = "fa fa-reply",
                        SortOrder    = 15
                    },
                });
            }

            if (isAdmin && siteSettings.IsServerAdminSite)
            {
                model.Links.AddRange(new List <ContentAdminLink>
                {
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "AdminMenuBannedIPAddressesLabel",
                        Url          = SiteRoot + "/Admin/BannedIPAddresses.aspx",
                        CssClass     = "adminlink-advanced-bannedip",
                        IconCssClass = "fa fa-ban",
                        SortOrder    = 20
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "AdminMenuFeatureModulesLink",
                        Url          = SiteRoot + "/Admin/ModuleAdmin.aspx",
                        CssClass     = "adminlink-advanced-modules",
                        IconCssClass = "fa fa-star",
                        SortOrder    = 25
                    },
                });

                if ((!WebConfigSettings.DisableTaskQueue) && (isAdmin || WebUser.IsNewsletterAdmin))
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "TaskQueueMonitorHeading",
                        Url          = SiteRoot + "/Admin/TaskQueueMonitor.aspx",
                        CssClass     = "adminlink-advanced-queue",
                        IconCssClass = "fa fa-clock-o",
                        SortOrder    = 30
                    });
                }

                if (WebConfigSettings.EnableDeveloperMenuInAdminMenu)
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "DevTools",
                        ResourceKey  = "DevToolsHeading",
                        Url          = SiteRoot + "/DevAdmin/Default.aspx",
                        CssClass     = "adminlink-advanced-devtools",
                        IconCssClass = "fa fa-wrench",
                        SortOrder    = 35
                    });
                }
            }

            //Supplemental Links
            model.Links.AddRange(supplementalLinks.AdminLinks.Where(l => l.Parent.ToLower() == "advancedtools").ToList());

            //BreadCrumbs

            model.BreadCrumbs = new Models.BreadCrumbs
            {
                CrumbArea = Models.BreadCrumbArea.Admin,
                Crumbs    =
                {
                    new BreadCrumb
                    {
                        Text       = Resource.AdminMenuLink,
                        Url        = SiteRoot + "/Admin/AdminMenu.aspx",
                        SortOrder  = -1,
                        SystemName = "AdminMenu",
                        Parent     = "root"
                    },
                    new BreadCrumb
                    {
                        Text       = Resource.AdvancedToolsLink,
                        Url        = SiteRoot + "/Admin/AdvancedTools.aspx",
                        IsCurrent  = true,
                        SortOrder  = 0,
                        SystemName = "AdvancedTools",
                        Parent     = "AdminMenu"
                    }
                }
            };

            //Sort the whole thing (allows mixing Supplemental Links with system links instead of them always being at the bottom)
            model.Links.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));
        }
예제 #2
0
        private void PopulateModel()
        {
            model = new Models.AdminMenuPage
            {
                PageTitle   = Resource.AdminMenuHeading,
                PageHeading = Resource.AdminMenuHeading
            };

            //Site Settings
            if (IsAdminOrContentAdmin || isSiteEditor)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuSiteSettingsLink",
                    Url          = SiteRoot + "/Admin/SiteSettings.aspx",
                    CssClass     = "adminlink-sitesettings",
                    IconCssClass = "fa fa-cog",
                    SortOrder    = -1
                });
            }

            //Site List
            if (WebConfigSettings.AllowMultipleSites && siteSettings.IsServerAdminSite && IsAdmin)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "SiteList",
                    Url          = SiteRoot + "/Admin/SiteList.aspx",
                    CssClass     = "adminlink-sitelist",
                    IconCssClass = "fa fa-list",
                    SortOrder    = 10
                });
            }

            //Security Advisor
            if (IsAdmin && siteSettings.IsServerAdminSite)
            {
                var needsAttention = !securityAdvisor.UsingCustomMachineKey() || securityAdvisor.DefaultAdmin().userExists;

                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = needsAttention ? "SecurityAdvisorNeedsAttention" : "SecurityAdvisor",
                    Url          = SiteRoot + "/Admin/SecurityAdvisor.aspx",
                    CssClass     = needsAttention ? "adminlink-securityadvisor text-danger" : "adminlink-securityadvisor",
                    IconCssClass = needsAttention ? "fa fa-shield text-danger" : "fa fa-shield",
                    SortOrder    = 15
                });
            }

            //Role Admin
            if (WebUser.IsRoleAdmin || IsAdmin)
            {
                var addLink = true;

                if (WebConfigSettings.UseRelatedSiteMode && WebConfigSettings.RelatedSiteModeHideRoleManagerInChildSites && siteSettings.SiteId != WebConfigSettings.RelatedSiteID)
                {
                    addLink = false;
                }

                if (addLink)
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "AdminMenuRoleAdminLink",
                        Url          = SiteRoot + "/Admin/RoleManager.aspx",
                        CssClass     = "adminlink-rolemanager",
                        IconCssClass = "fa fa-users",
                        SortOrder    = 20
                    });
                }
            }

            //Site Permissions
            if (IsAdmin)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "SiteSettingsPermissionsTab",
                    Url          = SiteRoot + "/Admin/PermissionsMenu.aspx",
                    CssClass     = "adminlink-sitepermissions",
                    IconCssClass = "fa fa-key",
                    SortOrder    = 25
                });
            }

            //Member List
            if (WebUser.IsInRoles(siteSettings.RolesThatCanViewMemberList) || WebUser.IsInRoles(siteSettings.RolesThatCanLookupUsers))
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "MemberListLink",
                    Url          = SiteRoot + WebConfigSettings.MemberListUrl,
                    CssClass     = "adminlink-memberlist",
                    IconCssClass = "fa fa-address-book-o",
                    SortOrder    = 30
                });
            }

            //Add User
            if (WebUser.IsInRoles(siteSettings.RolesThatCanCreateUsers + siteSettings.RolesThatCanManageUsers + siteSettings.RolesThatCanLookupUsers))
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "MemberListAddUserLabel",
                    Url          = SiteRoot + "/Admin/ManageUsers.aspx?userId=-1",
                    CssClass     = "adminlink-adduser",
                    IconCssClass = "fa fa-user-plus",
                    SortOrder    = 35
                });
            }

            //Page Manager
            if (IsAdminOrContentAdmin || isSiteEditor || SiteMapHelper.UserHasAnyCreatePagePermissions(siteSettings))
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuPageTreeLink",
                    Url          = SiteRoot + WebConfigSettings.PageTreeRelativeUrl,
                    CssClass     = "adminlink-pagemanager",
                    IconCssClass = "fa fa-sitemap",
                    SortOrder    = 40
                });
            }

            //Content Manager
            if (IsAdminOrContentAdmin || isSiteEditor)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuContentManagerLink",
                    Url          = SiteRoot + "/Admin/ContentCatalog.aspx",
                    CssClass     = "adminlink-contentmanager",
                    IconCssClass = "fa fa-hand-pointer-o",
                    SortOrder    = 45
                });
            }

            //Content Workflow
            if (WebConfigSettings.EnableContentWorkflow && siteSettings.EnableContentWorkflow)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuContentWorkflowLabel",
                    Url          = SiteRoot + "/Admin/ContentWorkflow.aspx",
                    CssClass     = "adminlink-contentworkflow",
                    IconCssClass = "fa fa-code-fork",
                    SortOrder    = 50
                });
            }

            //Content Templates/Styles
            if (IsAdminOrContentAdmin || isSiteEditor || WebUser.IsInRoles(siteSettings.RolesThatCanEditContentTemplates))
            {
                model.Links.AddRange(new List <ContentAdminLink> {
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "ContentTemplates",
                        Url          = SiteRoot + "/Admin/ContentTemplates.aspx",
                        CssClass     = "adminlink-contenttemplates",
                        IconCssClass = "fa fa-object-group",
                        SortOrder    = 55
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "ContentStyleTemplates",
                        Url          = SiteRoot + "/Admin/ContentStyles.aspx",
                        CssClass     = "adminlink-contentstyles",
                        IconCssClass = "fa fa-code",
                        SortOrder    = 60
                    }
                });
            }

            //Design Tools
            if (IsAdmin || WebUser.IsContentAdmin || WebUser.IsInRoles(siteSettings.RolesThatCanManageSkins))
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "DevTools",
                    ResourceKey  = "DesignTools",
                    Url          = SiteRoot + "/DesignTools/Default.aspx",
                    CssClass     = "adminlink-designtools",
                    IconCssClass = "fa fa-paint-brush",
                    SortOrder    = 65
                });
            }

            //File Manager
            //using the FileManagerLink to check if the link should render because it has a lot of criteria, best not to duplicate it
            var fileManagerLinkTest = new FileManagerLink();

            if (fileManagerLinkTest.ShouldRender())
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuFileManagerLink",
                    Url          = SiteRoot + "/FileManager?view=fullpage",
                    CssClass     = "adminlink-filemanager",
                    IconCssClass = "fa fa-folder-open",
                    SortOrder    = 70
                });
            }

            //Newsletter
            if (WebConfigSettings.EnableNewsletter && (IsAdmin || isSiteEditor || WebUser.IsNewsletterAdmin))
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuNewsletterAdminLabel",
                    Url          = SiteRoot + "/eletter/Admin.aspx",
                    CssClass     = "adminlink-newsletter",
                    IconCssClass = "fa fa-newspaper-o",
                    SortOrder    = 75
                });
            }

            //Commerce
            if (isCommerceReportViewer && commerceConfig != null && commerceConfig.IsConfigured)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "CommerceReportsLink",
                    Url          = SiteRoot + "/Admin/SalesSummary.aspx",
                    CssClass     = "adminlink-commercereports",
                    IconCssClass = "fa fa-shopping-basket",
                    SortOrder    = 80
                });
            }

            //Registration Agreement
            if (IsAdminOrContentAdmin)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "RegistrationAgreementLink",
                    Url          = SiteRoot + "/Admin/EditRegistrationAgreement.aspx",
                    CssClass     = "adminlink-registrationagreement",
                    IconCssClass = "fa fa-handshake-o",
                    SortOrder    = 85
                });

                //Login Page Text
                if (!WebConfigSettings.DisableLoginInfo)
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "LoginPageContent",
                        Url          = SiteRoot + "/Admin/EditLoginInfo.aspx",
                        CssClass     = "adminlink-logininfo",
                        IconCssClass = "fa fa-file-o",
                        SortOrder    = 90
                    });
                }

                //Core Data
                if (siteSettings.IsServerAdminSite)
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "CoreDataAdministrationLink",
                        Url          = SiteRoot + "/Admin/CoreData.aspx",
                        CssClass     = "adminlink-coredata",
                        IconCssClass = "fa fa-database",
                        SortOrder    = 95
                    });
                }
            }

            //Adv. Tools
            if (IsAdminOrContentAdmin || isSiteEditor)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdvancedToolsLink",
                    Url          = SiteRoot + "/Admin/AdvancedTools.aspx",
                    CssClass     = "adminlink-advancedtools",
                    IconCssClass = "fa fa-wrench",
                    SortOrder    = 100
                });

                //System Info
                if (siteSettings.IsServerAdminSite || WebConfigSettings.ShowSystemInformationInChildSiteAdminMenu)
                {
                    model.Links.Add(new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "AdminMenuServerInfoLabel",
                        Url          = SiteRoot + "/Admin/ServerInformation.aspx",
                        CssClass     = "adminlink-serverinfo",
                        IconCssClass = "fa fa-info-circle",
                        SortOrder    = 105
                    });
                }
            }

            //Log Viewer
            if (IsAdmin && siteSettings.IsServerAdminSite && WebConfigSettings.EnableLogViewer)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AdminMenuServerLogLabel",
                    Url          = SiteRoot + "/Admin/ServerLog.aspx",
                    CssClass     = "adminlink-log",
                    IconCssClass = "fa fa-clipboard",
                    SortOrder    = 110
                });
            }

            //Supplemental Links
            model.Links.AddRange(supplementalLinks.AdminLinks.Where(l => l.Parent.ToLower() == "root").ToList());

            //Sort the whole thing (allows mixing Supplemental Links with system links instead of them always being at the bottom)
            model.Links.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));
        }
예제 #3
0
        private void PopulateModel()
        {
            model = new Models.AdminMenuPage
            {
                PageTitle   = Resource.AdminMenuContentWorkflowLabel,
                PageHeading = Resource.AdminMenuContentWorkflowLabel
            };

            model.Links.AddRange(new List <ContentAdminLink>
            {
                new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AwaitingApprovalHeading",
                    Url          = SiteRoot + "/Admin/ContentAwaitingApproval.aspx",
                    CssClass     = "adminlink-workflow-needapproval",
                    IconCssClass = "fa fa-thumbs-o-up",
                    SortOrder    = 10
                },
                new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "RejectedContentHeading",
                    Url          = SiteRoot + "/Admin/RejectedContent.aspx",
                    CssClass     = "adminlink-workflow-rejected",
                    IconCssClass = "fa fa-thumbs-o-down",
                    SortOrder    = 20
                },
                new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "PendingPagesTitle",
                    Url          = SiteRoot + "/Admin/PendingPages.aspx",
                    CssClass     = "adminlink-workflow-pendingpages",
                    IconCssClass = "fa fa-file-text-o",
                    SortOrder    = 20
                }
            });

            if (WebConfigSettings.Use3LevelContentWorkflow)
            {
                model.Links.Add(new ContentAdminLink
                {
                    ResourceFile = "Resource",
                    ResourceKey  = "AwaitingPublishingHeading",
                    Url          = SiteRoot + "/Admin/ContentAwaitingPublishing.aspx",
                    CssClass     = "adminlink-workflow-needpublishing",
                    IconCssClass = "fa fa-paper-plane-o",
                    SortOrder    = 15
                });
            }

            //Supplemental Links
            model.Links.AddRange(supplementalLinks.AdminLinks.Where(l => l.Parent.ToLower() == "workflow").ToList());

            //BreadCrumbs

            model.BreadCrumbs = new Models.BreadCrumbs
            {
                CrumbArea = Models.BreadCrumbArea.Admin,
                Crumbs    =
                {
                    new BreadCrumb
                    {
                        Text       = Resource.AdminMenuLink,
                        Url        = SiteRoot + "/Admin/AdminMenu.aspx",
                        SortOrder  = -1,
                        SystemName = "AdminMenu",
                        Parent     = "root"
                    },
                    new BreadCrumb
                    {
                        Text       = Resource.AdminMenuContentWorkflowLabel,
                        Url        = SiteRoot + "/Admin/ContentWorkflow.aspx",
                        IsCurrent  = true,
                        SortOrder  = 0,
                        SystemName = "ContentWorkflow",
                        Parent     = "AdminMenu"
                    }
                }
            };

            //skin style information
            //model.SkinConfig = new SkinConfig
            //{
            //	PanelOptions = new List<PanelOption>
            //	{
            //		new PanelOption { Name = "OuterWrapperPanel", Class = "outerwrap"},
            //		new PanelOption { Name = "InnerWrapperPanel", Class = "panelwrapper"},
            //		new PanelOption { Name = "OuterBodyPanel", Class = "outerbody"},
            //		new PanelOption { Name = "InnerBodyPanel", Class = "modulecontent"}
            //	}
            //};

            //Sort the whole thing (allows mixing Supplemental Links with system links instead of them always being at the bottom)
            model.Links.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));
            model.BreadCrumbs.Crumbs.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));
        }
예제 #4
0
        private void PopulateModel()
        {
            model = new Models.AdminMenuPage
            {
                PageTitle   = Resource.CoreDataAdministrationHeading,
                PageHeading = Resource.CoreDataAdministrationHeading
            };
            if (siteSettings.IsServerAdminSite)
            {
                model.Links.AddRange(new List <ContentAdminLink>
                {
                    // don't have multi-language tools yet so this is not needed
                    //new ContentAdminLink
                    //{
                    //	ResourceFile = "Resource",
                    //	ResourceKey = "LanguageAdministrationLink",
                    //	Url = SiteRoot + "/Admin/AdminLanguage.aspx",
                    //	CssClass = "adminlink-coredata-language",
                    //	IconCssClass = "fa fa-language",
                    //	SortOrder = 10
                    //},

                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "CurrencyAdministrationLink",
                        Url          = SiteRoot + "/Admin/AdminCurrency.aspx",
                        CssClass     = "adminlink-coredata-currency",
                        IconCssClass = "fa fa-usd",
                        SortOrder    = 10
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "CountryAdministrationLink",
                        Url          = SiteRoot + "/Admin/AdminCountry.aspx",
                        CssClass     = "adminlink-coredata-country",
                        IconCssClass = "fa fa-flag",
                        SortOrder    = 15
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "GeoZoneAdministrationLink",
                        Url          = SiteRoot + "/Admin/AdminGeoZone.aspx",
                        CssClass     = "adminlink-coredata-geozone",
                        IconCssClass = "fa fa-globe",
                        SortOrder    = 20
                    },
                });
            }

            if (isAdmin || isContentAdmin)
            {
                model.Links.AddRange(new List <ContentAdminLink>
                {
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "TaxClassAdminLink",
                        Url          = SiteRoot + "/Admin/AdminTaxClass.aspx",
                        CssClass     = "adminlink-coredata-taxclass",
                        IconCssClass = "fa fa-balance-scale",
                        SortOrder    = 25
                    },
                    new ContentAdminLink
                    {
                        ResourceFile = "Resource",
                        ResourceKey  = "TaxRateAdminLink",
                        Url          = SiteRoot + "/Admin/AdminTaxRate.aspx",
                        CssClass     = "adminlink-coredata-taxrate",
                        IconCssClass = "fa fa-percent",
                        SortOrder    = 30
                    },
                });
            }

            //Supplemental Links
            model.Links.AddRange(supplementalLinks.AdminLinks.Where(l => l.Parent.ToLower() == "coredata").ToList());

            //BreadCrumbs

            model.BreadCrumbs = new Models.BreadCrumbs
            {
                CrumbArea = Models.BreadCrumbArea.Admin,
                Crumbs    =
                {
                    new BreadCrumb
                    {
                        Text       = Resource.AdminMenuLink,
                        Url        = SiteRoot + "/Admin/AdminMenu.aspx",
                        SortOrder  = -1,
                        SystemName = "AdminMenu",
                        Parent     = "root"
                    },
                    new BreadCrumb
                    {
                        Text       = Resource.CoreDataAdministrationLink,
                        Url        = SiteRoot + "/Admin/CoreData.aspx",
                        IsCurrent  = true,
                        SortOrder  = 0,
                        SystemName = "CoreData",
                        Parent     = "AdminMenu"
                    }
                }
            };

            //Sort the whole thing (allows mixing Supplemental Links with system links instead of them always being at the bottom)
            model.Links.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));
        }