Example #1
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var mainAdminMenu = new SectionMenuItem("Admin", "/global/admin")
            {
                IsAvailable = request => PrincipalInfo.Current.HasPathAccess(UriSupport.Combine("/AdminPage", string.Empty))
            };

            var firstMenuItem = new UrlMenuItem("Hangfire", "/global/admin/main", "/episerver/backoffice/Plugins/hangfire")
            {
                IsAvailable = request => true,
                SortIndex   = 100
            };

            var secondMenuItem = new UrlMenuItem("Logging", "/global/admin/logging", "/LogManager")
            {
                IsAvailable = request => true,
                SortIndex   = 100
            };

            var thirdMenuItem = new UrlMenuItem("Elmah Logs", "/global/admin/elmah", "/elmah")
            {
                IsAvailable = request => true,
                SortIndex   = 100
            };

            return(new MenuItem[]
            {
                mainAdminMenu,
                firstMenuItem,
                secondMenuItem,
                thirdMenuItem
            });
        }
Example #2
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            DropDownMenuItem reportsMenu = new DropDownMenuItem("Reporting", "/global/commerce/reports")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex   = 100
            };

            UrlMenuItem urlMenuItem = new UrlMenuItem("Latest sales",
                                                      "/global/commerce/reports/sales",
                                                      "/commercereports/index")
            {
                SortIndex   = 100,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            UrlMenuItem latestorders = new UrlMenuItem("Latest orders",
                                                       "/global/commerce/reports/latestorders",
                                                       "/commercereports/latestorders")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex   = 200
            };


            return(new MenuItem[]
            {
                reportsMenu,
                urlMenuItem,
                latestorders
            });
        }
        public IEnumerable<MenuItem> GetMenuItems()
        {
            DropDownMenuItem reportsMenu = new DropDownMenuItem("Reporting", "/global/commerce/reports")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex = 100
            };

            UrlMenuItem urlMenuItem = new UrlMenuItem("Latest sales",
                "/global/commerce/reports/sales",
                "/commercereports/index")
            {
                SortIndex = 100,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            UrlMenuItem latestorders = new UrlMenuItem("Latest orders",
                "/global/commerce/reports/latestorders",
                "/commercereports/latestorders")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex = 200
            };

            return new MenuItem[]
            {
                reportsMenu,
                urlMenuItem,
                latestorders
            };
        }
Example #4
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var dashboard = new UrlMenuItem("Configuration",
                                            "/global/foundation/configuration",
                                            $"{Paths.ToResource("Foundation.Demo", "foundationconfiguration")}/index")
            {
                SortIndex   = 0,
                IsAvailable = (_) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            var powerbi = new DropDownMenuItem("Power Bi", "/global/foundation/powerbi")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex   = 400,
                Alignment   = MenuItemAlignment.Right
            };

            var ga = new UrlMenuItem("Google Analytics",
                                     "/global/foundation/powerbi/google",
                                     $"{Paths.ToResource("Foundation.Demo", "bireports")}/index/google")
            {
                SortIndex   = 13,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            var advance = new UrlMenuItem("Marketing",
                                          "/global/foundation/powerbi/marketing",
                                          $"{Paths.ToResource("Foundation.Demo", "bireports")}/index/marketing")
            {
                SortIndex   = 11,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            var perform = new UrlMenuItem("Commerce",
                                          "/global/foundation/powerbi/commerce",
                                          $"{Paths.ToResource("Foundation.Demo", "bireports")}/index/commerce")
            {
                SortIndex   = 10,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            var segment = new UrlMenuItem("Segments",
                                          "/global/foundation/powerbi/commerce",
                                          $"{Paths.ToResource("Foundation.Demo", "bireports")}/index/segments")
            {
                SortIndex   = 12,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            return(new MenuItem[]
            {
                dashboard,
                powerbi,
                ga,
                advance,
                perform,
                segment
            });
        }
 protected virtual UrlMenuItem CreateUrlMenuItem(string title, string logicalPath, string resourcePath)
 {
     var menuItem = new UrlMenuItem(title, // Title
                                   logicalPath, // Logical path
                                   resourcePath);
     menuItem.IsAvailable = (request) => PrincipalInfo.HasAdminAccess;
     return menuItem;
 }
        protected virtual UrlMenuItem CreateUrlMenuItem(string title, string logicalPath, string resourcePath)
        {
            var menuItem = new UrlMenuItem(title,
                                           logicalPath,
                                           resourcePath);

            menuItem.IsAvailable = ((RequestContext request) => true);
            return(menuItem);
        }
Example #7
0
        protected virtual UrlMenuItem CreateUrlMenuItem(string title, string logicalPath, string resourcePath)
        {
            var menuItem = new UrlMenuItem(title,       // Title
                                           logicalPath, // Logical path
                                           resourcePath);

            menuItem.IsAvailable = (request) => PrincipalInfo.HasAdminAccess;
            return(menuItem);
        }
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var pinMenuItemCommerce = new UrlMenuItem(
                            "<span class=\"epi-iconPin menuPinButton\"></span>",
                            "/global/commerce/catalog",
                            "javascript: return;"
                            );
            pinMenuItemCommerce.Alignment = MenuItemAlignment.Right;

            return new List<MenuItem>() { pinMenuItemCommerce };
        }
Example #9
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var pinMenuItemCms = new UrlMenuItem(
                            "<span class=\"epi-iconPin menuPinButton\"></span>",
                            "/global/cms/edit",
                            "javascript: return;"
                            );
            pinMenuItemCms.Alignment = MenuItemAlignment.Right;

            return new List<MenuItem>() { pinMenuItemCms };
        }
        /// <summary>
        ///     Provides the CMS menu section and the CMS settings section.
        /// </summary>
        /// <returns>
        ///     A list of <see cref="MenuItem" />s that the provider exposes.
        /// </returns>
        public IEnumerable <MenuItem> GetMenuItems()
        {
            UrlMenuItem cmsGlobalSettings = new UrlMenuItem(
                "Global settings",
                "/global/cms/settings",
                "/episerver/Epi.Extensions.Settings/settings")
            {
                IsAvailable = request => PrincipalInfo.HasAdminAccess
            };

            return(new MenuItem[] { cmsGlobalSettings });
        }
Example #11
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            UrlMenuItem urlMenuItem = new UrlMenuItem("Price Update", "/global/commerce/priceupdate",
                "/plugins/commercetools/prices/updateprices.aspx");
            urlMenuItem.IsAvailable = ((RequestContext request) => true);
            urlMenuItem.SortIndex = 100;

            return new MenuItem[]
            {
                urlMenuItem
            };
        }
Example #12
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var menuItem = new UrlMenuItem(LocalizationService.Current.GetString("/plugins/contenttypeusage/displayname"),
                                           "/global/cms/admin/csp", "/ContentTypeUsage/Index")
            {
                IsAvailable = context => true, SortIndex = 100
            };

            return(new List <MenuItem>(1)
            {
                menuItem
            });
        }
Example #13
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            UrlMenuItem urlMenuItem = new UrlMenuItem("Price Update", "/global/commerce/priceupdate",
                                                      "/plugins/commercetools/prices/updateprices.aspx");

            urlMenuItem.IsAvailable = ((RequestContext request) => true);
            urlMenuItem.SortIndex   = 100;

            return(new MenuItem[]
            {
                urlMenuItem
            });
        }
Example #14
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var toolbox = new SectionMenuItem("Profile-Admin", "/global/profileadmin")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditorAccess
            };

            var profies = new UrlMenuItem("User profiles", "/global/profileadmin/profiles", "/profileadmin/profiles")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditorAccess
            };

            return(new MenuItem[] { toolbox, profies });
        }
Example #15
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var pinMenuItemCommerce = new UrlMenuItem(
                "<span class=\"epi-iconPin menuPinButton\"></span>",
                "/global/commerce/catalog",
                "javascript: return;"
                );

            pinMenuItemCommerce.Alignment = MenuItemAlignment.Right;

            return(new List <MenuItem>()
            {
                pinMenuItemCommerce
            });
        }
Example #16
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var label = _localizationService.GetString("/globalmenu/toolbox/label");
            var toolboxLabel = string.IsNullOrWhiteSpace(label) ? "Toolbox" : label;
            var toolbox = new SectionMenuItem(toolboxLabel, "/global/toolbox")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditAccess
            };

            label = _localizationService.GetString("/globalmenu/toolbox/translations/label");
            var translationsLabel = string.IsNullOrWhiteSpace(label) ? "Translations" : label;
            var translationTool = new UrlMenuItem(translationsLabel, "/global/toolbox/translations", "/toolbox/translations")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditAccess
            };
            return new MenuItem[] { toolbox, translationTool };
        }
Example #17
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            List <MenuItem> menuItems       = new List <MenuItem>();
            var             newsletterRoles = new List <string>()
            {
                "NewsletterAdmins", "NewsletterEditors", "CmsAdmins"
            };
            SectionMenuItem sectionMenuItem = new SectionMenuItem("Newsletter", "/global/newsletter");

            sectionMenuItem.IsAvailable = x => newsletterRoles.Any(y => x.HttpContext.User.IsInRole(y));
            menuItems.Add(sectionMenuItem);


            // During installation, we'll show another menu
            int version = DatabaseVersion.GetInstalledDatabaseVersion();

            if (version == DatabaseVersion.NotInstalled)
            {
                // Link to database installer page
                UrlMenuItem urlMenuItem = new UrlMenuItem("Newsletter Installation", "/global/newsletter/install",
                                                          NewsLetterConfiguration.GetModuleBaseDir() + "/plugin/admin/newsletterinstall.aspx");
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex   = 100;
                menuItems.Add(urlMenuItem);
            }
            else
            {
                UrlMenuItem urlMenuItem = new UrlMenuItem("Newsletters", "/global/newsletter/newsletters", NewsLetterConfiguration.GetModuleBaseDir("/plugin/newsletters.aspx"));
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex   = 100;
                menuItems.Add(urlMenuItem);

                urlMenuItem             = new UrlMenuItem("Lists", "/global/newsletter/lists", NewsLetterConfiguration.GetModuleBaseDir("/plugin/lists.aspx"));
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex   = 200;
                menuItems.Add(urlMenuItem);

                //TODO: Add this menu item, when admin settings are ready to be moved from appsettings to dds
                //UrlMenuItem urlAdminMenuItem = new UrlMenuItem("Admin", "/global/newsletter/admin",
                //    NewsLetterConfiguration.GetModuleBaseDir() + "/plugin/Admin/NewsLetterAdmin.aspx");
                //urlAdminMenuItem.IsAvailable = ((RequestContext request) => true);
                //urlAdminMenuItem.SortIndex = 200;
            }

            return(menuItems.ToArray());
        }
Example #18
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var menuItems = new List<MenuItem>();
            var context = HttpContext.Current;

            if (!Convert.ToBoolean(context.Items["GetaTopMenuIsSet"]))
            {
                var mainMenu = new SectionMenuItem("Geta", MenuPaths.Global + "/geta") { IsAvailable = request => SecurityHelper.HasAccess };
                menuItems.Add(mainMenu);
                context.Items["GetaTopMenuIsSet"] = true;
            }

            var adminItem = new UrlMenuItem("CacheManager", MenuPaths.Global + "/geta/cachemanager", Path.Combine(ModuleHelper.MyModulePath, "Default").Replace("\\", "/")) { IsAvailable = request => SecurityHelper.HasAccess };
            menuItems.Add(adminItem);

            return menuItems;
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var mainAdminMenu = new SectionMenuItem("Overview dashboard", "/global/overviewdashboard");

            mainAdminMenu.IsAvailable = ((RequestContext request) => PrincipalInfo.HasAdminAccess); //(request) => PrincipalInfo.HasEditAccess;

            var firstMenuItem = new UrlMenuItem("Main", "/global/overviewdashboard/main", "/overviewdashboard/main");

            firstMenuItem.IsAvailable = ((RequestContext request) => true);
            firstMenuItem.SortIndex   = 100;

            return(new MenuItem[]
            {
                mainAdminMenu,
                firstMenuItem
            });
        }
Example #20
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var label        = _localizationService.GetString("/globalmenu/toolbox/label");
            var toolboxLabel = string.IsNullOrWhiteSpace(label) ? "Toolbox" : label;
            var toolbox      = new SectionMenuItem(toolboxLabel, "/global/toolbox")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditAccess
            };

            label = _localizationService.GetString("/globalmenu/toolbox/translations/label");
            var translationsLabel = string.IsNullOrWhiteSpace(label) ? "Translations" : label;
            var translationTool   = new UrlMenuItem(translationsLabel, "/global/toolbox/translations", "/toolbox/translations")
            {
                IsAvailable = (request) => PrincipalInfo.HasEditAccess
            };

            return(new MenuItem[] { toolbox, translationTool });
        }
        public IEnumerable<MenuItem> GetMenuItems()
        {
            List<MenuItem> menuItems = new List<MenuItem>();
            var newsletterRoles = new List<string>()
            {
                "NewsletterAdmins","NewsletterEditors","CmsAdmins"
            };
            SectionMenuItem sectionMenuItem = new SectionMenuItem("Newsletter", "/global/newsletter");
            sectionMenuItem.IsAvailable = x => newsletterRoles.Any(y => x.HttpContext.User.IsInRole(y));
            menuItems.Add(sectionMenuItem);

            // During installation, we'll show another menu
            int version = DatabaseVersion.GetInstalledDatabaseVersion();
            if (version == DatabaseVersion.NotInstalled)
            {
                // Link to database installer page
                UrlMenuItem urlMenuItem = new UrlMenuItem("Newsletter Installation", "/global/newsletter/install",
                    NewsLetterConfiguration.GetModuleBaseDir() + "/plugin/admin/newsletterinstall.aspx");
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex = 100;
                menuItems.Add(urlMenuItem);
            }
            else
            {
                UrlMenuItem urlMenuItem = new UrlMenuItem("Newsletters", "/global/newsletter/newsletters", NewsLetterConfiguration.GetModuleBaseDir("/plugin/newsletters.aspx"));
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex = 100;
                menuItems.Add(urlMenuItem);

                urlMenuItem = new UrlMenuItem("Lists", "/global/newsletter/lists", NewsLetterConfiguration.GetModuleBaseDir("/plugin/lists.aspx"));
                urlMenuItem.IsAvailable = ((RequestContext request) => true);
                urlMenuItem.SortIndex = 200;
                menuItems.Add(urlMenuItem);

                //TODO: Add this menu item, when admin settings are ready to be moved from appsettings to dds
                //UrlMenuItem urlAdminMenuItem = new UrlMenuItem("Admin", "/global/newsletter/admin",
                //    NewsLetterConfiguration.GetModuleBaseDir() + "/plugin/Admin/NewsLetterAdmin.aspx");
                //urlAdminMenuItem.IsAvailable = ((RequestContext request) => true);
                //urlAdminMenuItem.SortIndex = 200;
            }

            return menuItems.ToArray();
        }
Example #22
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var menuItems = new List<MenuItem>();

            if (!Convert.ToBoolean(HttpContext.Current.Items[GetaTopMenuIsSetKey]))
            {
                var mainMenu = new SectionMenuItem("Geta", ParentPath) { IsAvailable = CheckAccess };
                menuItems.Add(mainMenu);
                HttpContext.Current.Items[GetaTopMenuIsSetKey] = true;
            }

            var adminItem = new UrlMenuItem("DDS Admin", ParentPath + "/dds_admin", RootMenuUri + "/Admin/Default.aspx")
                                {
                                    IsAvailable = CheckAccess
                                };
            menuItems.Add(adminItem);

            return menuItems;
        }
Example #23
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var perform = new SectionMenuItem("Perform", "/global/perform")
            {
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins"),
                SortIndex   = 300
            };

            var overview = new UrlMenuItem("Overview", "/global/perform/overview", $"{Paths.ToResource("SiteModules", "perform")}/index/")
            {
                SortIndex   = 10,
                IsAvailable = (request) => PrincipalInfo.CurrentPrincipal.IsInRole("CommerceAdmins")
            };

            return(new MenuItem[]
            {
                perform,
                overview
            });
        }
Example #24
0
        public IEnumerable<MenuItem> GetMenuItems()
        {
            var menuItems = new List<MenuItem> {};
            const string parentPath = MenuPaths.Global + "/geta";
            HttpContext context = HttpContext.Current;

            if (!Convert.ToBoolean(context.Items["GetaTopMenuIsSet"]))
            {
                var mainMenu = new SectionMenuItem("Geta", parentPath) { IsAvailable = CheckAccess };
                menuItems.Add(mainMenu);
                context.Items["GetaTopMenuIsSet"] = true;
            }

            var adminItem = new UrlMenuItem("Cache Manager",
                                            parentPath + "/cachemanager",
                                            RootMenuUri + "/Admin/Default.aspx") {IsAvailable = CheckAccess};
            menuItems.Add(adminItem);

            return menuItems;
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var url = Paths.ToResource(GetType(), "explorer");

            var storageExpolrerLink = new UrlMenuItem(
                _localizationService.GetString("/storageexplorer/menuitem"),
                MenuPaths.Global + "/Cms/storageexplorer",
                url)
            {
                SortIndex   = 15,
                Alignment   = MenuItemAlignment.Left,
                IsAvailable = _ => HasAccessToStorageExpolrerUI
            };

            var menus = new List <MenuItem>();

            if (HasAccessToStorageExpolrerUI)
            {
                menus.Add(storageExpolrerLink);
            }
            return(menus);
        }
Example #26
0
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var menuItems = new List <MenuItem>();

            if (!Convert.ToBoolean(HttpContext.Current.Items[GetaTopMenuIsSetKey]))
            {
                var mainMenu = new SectionMenuItem("Geta", ParentPath)
                {
                    IsAvailable = CheckAccess
                };
                menuItems.Add(mainMenu);
                HttpContext.Current.Items[GetaTopMenuIsSetKey] = true;
            }

            var adminItem = new UrlMenuItem("DDS Admin", ParentPath + "/dds_admin", Paths.ToResource(typeof(MenuProvider), "Admin/Default.aspx"))
            {
                IsAvailable = CheckAccess
            };

            menuItems.Add(adminItem);

            return(menuItems);
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            SectionMenuItem sectionMenuItem = new SectionMenuItem("Commerce Reports", "/global/commercereports");

            sectionMenuItem.IsAvailable = ((RequestContext request) => true);
            UrlMenuItem urlMenuItem = new UrlMenuItem("Latest sales", "/global/commercereports/sales",
                                                      "/commercereports/index");

            urlMenuItem.IsAvailable = ((RequestContext request) => true);
            urlMenuItem.SortIndex   = 100;
            UrlMenuItem latestorders = new UrlMenuItem("Latest orders", "/global/commercereports/latestorders",
                                                       "/commercereports/latestorders");

            latestorders.IsAvailable = ((RequestContext request) => true);
            latestorders.SortIndex   = 200;


            return(new MenuItem[]
            {
                sectionMenuItem,
                urlMenuItem,
                latestorders
            });
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var menuPath = "/global/cms/templates";

            // Register menu items for each controller action but with the same path
            // key to ensure the menu displays in the new Episerver UI
            var menuList =
                new UrlMenuItem(
                    _localizationService.GetString("/virtualtemplatesystem/menus/menuitem", "Templates"),
                    menuPath,
                    "/" + RootUiUrl + "VirtualTemplates")
            {
                IsAvailable = (request) => IsTemplateEditor,
                SortIndex   = int.MaxValue
            };

            var menuDisplay =
                new UrlMenuItem(
                    _localizationService.GetString("/virtualtemplatesystem/menus/menuitem", "Templates"),
                    menuPath,
                    "/" + RootUiUrl + "VirtualTemplates/Display")
            {
                IsAvailable = (request) => false,
                SortIndex   = int.MaxValue
            };

            var menuEdit =
                new UrlMenuItem(
                    _localizationService.GetString("/virtualtemplatesystem/menus/menuitem", "Templates"),
                    menuPath,
                    "/" + RootUiUrl + "VirtualTemplates/Edit")
            {
                IsAvailable = (request) => false,
                SortIndex   = int.MaxValue
            };

            var menuCompare =
                new UrlMenuItem(
                    _localizationService.GetString("/virtualtemplatesystem/menus/menuitem", "Templates"),
                    menuPath,
                    "/" + RootUiUrl + "VirtualTemplates/Compare")
            {
                IsAvailable = (request) => false,
                SortIndex   = int.MaxValue
            };

            var menuRevert =
                new UrlMenuItem(
                    _localizationService.GetString("/virtualtemplatesystem/menus/menuitem", "Templates"),
                    menuPath,
                    "/" + RootUiUrl + "VirtualTemplates/Revert")
            {
                IsAvailable = (request) => false,
                SortIndex   = int.MaxValue
            };

            var list = new List <MenuItem>();

            if (this.IsTemplateEditor)
            {
                list.Add(menuList);
                list.Add(menuDisplay);
                list.Add(menuEdit);
                list.Add(menuCompare);
                list.Add(menuRevert);
            }
            return(list);
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var main = new SectionMenuItem(_translate("heading"), "/global/epinovaelasticsearchmenu")
            {
                IsAvailable = GetAccessInfo()
            };

            var admin = new UrlMenuItem(_translate("admin/heading"), "/global/epinovaelasticsearchmenu/admin", "/ElasticSearchAdmin/ElasticAdmin")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 0
            };

            var tracking = new UrlMenuItem(_translate("tracking/heading"), "/global/epinovaelasticsearchmenu/tracking", "/ElasticSearchAdmin/ElasticTracking")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 10
            };

            var index = new UrlMenuItem(_translate("indexinspector/heading"), "/global/epinovaelasticsearchmenu/index", "/ElasticSearchAdmin/ElasticIndexInspector")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 40
            };

            var synonyms = new UrlMenuItem(_translate("synonyms/heading"), "/global/epinovaelasticsearchmenu/synonyms", "/ElasticSearchAdmin/ElasticSynonyms")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 20
            };

            var bestbets = new UrlMenuItem(_translate("bestbets/heading"), "/global/epinovaelasticsearchmenu/synonyms", "/ElasticSearchAdmin/ElasticBestBets")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 25
            };

            var boosting = new UrlMenuItem(_translate("boosting/heading"), "/global/epinovaelasticsearchmenu/boosting", "/ElasticSearchAdmin/ElasticBoosting")
            {
                IsAvailable = x => false //TODO Broken, must be reviewed
            };

            var autosuggest = new UrlMenuItem(_translate("autosuggest/heading"), "/global/epinovaelasticsearchmenu/autosuggest", "/ElasticSearchAdmin/ElasticAutoSuggest")
            {
                IsAvailable = x => false, //TODO Revise usefullness
                SortIndex   = 30
            };

            var console = new UrlMenuItem(_translate("console/heading"), "/global/epinovaelasticsearchmenu/console", "/ElasticSearchAdmin/ElasticConsole")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 50
            };

            var mapping = new UrlMenuItem(_translate("console/mapping"), "/global/epinovaelasticsearchmenu/mapping", "/ElasticSearchAdmin/ElasticConsole/Mapping")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 60
            };

            var settings = new UrlMenuItem(_translate("console/settings"), "/global/epinovaelasticsearchmenu/settings", "/ElasticSearchAdmin/ElasticConsole/Settings")
            {
                IsAvailable = GetAccessInfo(),
                SortIndex   = 70
            };

            return(new MenuItem[]
            {
                main, admin, tracking, index, synonyms, bestbets, boosting, autosuggest, console, mapping, settings
            });
        }
        public IEnumerable <MenuItem> GetMenuItems()
        {
            var menuText = _localizationService.GetString("/cmsaudit/menus/audit", "Audit");

            var sectionMenu =
                new DropDownMenuItem(menuText, MenuPath)
            {
                SortIndex = int.MaxValue, IsAvailable = (_) => true
            };

            var menuSites =
                new UrlMenuItem(
                    _localizationService.GetString("/cmsaudit/menus/audit/sites", "Sites"),
                    MenuPath + "/sites",
                    Paths.ToResource("CmsAudit", ""))
            {
                IsAvailable = (request) => true,
                SortIndex   = 100
            };

            var menuPageTypes =
                new UrlMenuItem(
                    _localizationService.GetString("/cmsaudit/menus/audit/pagetypes", "Page Types"),
                    MenuPath + "/pagetypes",
                    Paths.ToResource("CmsAudit", "PageTypes"))
            {
                IsAvailable = (request) => true,
                SortIndex   = 200
            };

            var menuBlockTypes =
                new UrlMenuItem(
                    _localizationService.GetString("/cmsaudit/menus/audit/blocktypes", "Block Types"),
                    MenuPath + "/blocktypes",
                    Paths.ToResource("CmsAudit", "BlockTypes"))
            {
                IsAvailable = (request) => true,
                SortIndex   = 300
            };

            var menuVisitorGroups =
                new UrlMenuItem(
                    _localizationService.GetString("/cmsaudit/menus/audit/visitorgroups", "Visitor Groups"),
                    MenuPath + "/visitorgroups",
                    Paths.ToResource("CmsAudit", "VisitorGroups"))
            {
                IsAvailable = (request) => true,
                SortIndex   = 400
            };

            var list = new List <MenuItem>
            {
                sectionMenu,
                menuSites,
                menuPageTypes,
                menuBlockTypes,
                menuVisitorGroups
            };

            return(list);
        }
Example #31
0
        private IEnumerable <MenuItem> GetPackageMenuItems(MenuItem mainMenuItem)
        {
            var packageParser     = ServiceLocator.Current.GetInstance <IInstalledPackageParser>();
            var installedPackages = packageParser.GetInstalledPackages();
            var menuItems         = new List <MenuItem>();

            var hasWarning = false;
            var hasDanger  = false;
            var i          = 1;

            foreach (var package in installedPackages)
            {
                UrlMenuItem menuItem    = null;
                var         resultStyle = _resources.CssSuccess;

                var compareResult = _packageComparer.GetPackageStatus(package);
                switch (compareResult)
                {
                case Enums.PackageStatus.UpToDate:
                    resultStyle = _resources.CssSuccess;
                    break;

                case Enums.PackageStatus.OutOfDate:
                    resultStyle = _resources.CssWarning;
                    hasWarning  = true;
                    break;

                case Enums.PackageStatus.SeverelyOutOfDate:
                    resultStyle = _resources.CssDanger;
                    hasDanger   = true;
                    break;
                }

                menuItem = new UrlMenuItem(
                    "<span>" + ResultMarkUp(resultStyle) + " <span> " + package.InstalledPackage.Id + "</span><span>",
                    "/global/versionchecker/" + i.ToString(),
                    "javascript: return;"
                    )
                {
                    ToolTip =
                        string.Format(_resources.ToolTipVersion, package.InstalledPackage.Version,
                                      package.FeedPackage.Version),
                    SortIndex = i
                };

                menuItems.Add(menuItem);
                i++;
            }

            if (hasWarning)
            {
                mainMenuItem.Text    = ResultMarkUp(_resources.CssWarning);
                mainMenuItem.ToolTip = _resources.ToolTipUpdateRequired;
            }
            if (hasDanger)
            {
                mainMenuItem.Text    = ResultMarkUp(_resources.CssDanger);
                mainMenuItem.ToolTip = _resources.ToolTipUpdateRecommended;
            }

            return(menuItems);
        }