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)); }
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); })); }
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); })); }