示例#1
0
        protected override DriverResult Editor(MenuPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var model = new MenuPartViewModel();

            if (updater.TryUpdateModel(model, Prefix, null, null))
            {
                var menu = model.OnMenu ? _orchardServices.ContentManager.Get(model.CurrentMenuId) : null;

                if (!_authorizationService.TryCheckAccess(Permissions.ManageMenus, _orchardServices.WorkContext.CurrentUser, menu))
                {
                    return(null);
                }

                part.MenuText = model.MenuText;
                part.Menu     = menu;

                if (string.IsNullOrEmpty(part.MenuPosition) && menu != null)
                {
                    part.MenuPosition = Position.GetNext(_navigationManager.BuildMenu(menu));

                    if (string.IsNullOrEmpty(part.MenuText))
                    {
                        updater.AddModelError("MenuText", T("The MenuText field is required"));
                    }
                }
            }

            return(Editor(part, shapeHelper));
        }
示例#2
0
        protected override DriverResult Editor(MenuPart part, dynamic shapeHelper)
        {
            if (!_authorizationService.TryCheckAccess(Permissions.ManageMainMenu, _orchardServices.WorkContext.CurrentUser, part))
            {
                return(null);
            }

            return(ContentShape("Parts_Navigation_Menu_Edit", () => {
                var model = new MenuPartViewModel {
                    CurrentMenuId = part.Menu == null ? -1 : part.Menu.Id,
                    ContentItem = part.ContentItem,
                    Menus = _menuService.GetMenus(),
                    OnMenu = part.Menu != null,
                    MenuText = part.MenuText
                };

                return shapeHelper.EditorTemplate(TemplateName: "Parts.Navigation.Menu.Edit", Model: model, Prefix: Prefix);
            }));
        }
示例#3
0
        protected override DriverResult Editor(MenuPart part, dynamic shapeHelper)
        {
            var allowedMenus = _menuService.GetMenus().Where(menu => _authorizationService.TryCheckAccess(Permissions.ManageMenus, _tomeltServices.WorkContext.CurrentUser, menu)).ToList();

            if (!allowedMenus.Any())
            {
                return(null);
            }

            return(ContentShape("Parts_Navigation_Menu_Edit", () => {
                var model = new MenuPartViewModel {
                    CurrentMenuId = part.Menu == null ? -1 : part.Menu.Id,
                    ContentItem = part.ContentItem,
                    Menus = allowedMenus,
                    OnMenu = part.Menu != null,
                    MenuText = part.MenuText
                };

                return shapeHelper.EditorTemplate(TemplateName: "Parts.Navigation.Menu.Edit", Model: model, Prefix: Prefix);
            }));
        }