private void PrepareModel(MenuRecordModel model, MenuRecord entity) { var templateNames = new string[] { "LinkList", "ListGroup", "Dropdown", "Navbar" }; if (entity != null && ModelState.IsValid) { model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(entity); model.SelectedCustomerRoleIds = _aclService.GetCustomerRoleIdsWithAccessTo(entity); model.IsCustomTemplate = entity.Template.HasValue() && !templateNames.Contains(entity.Template); } model.Locales = new List <MenuRecordLocalizedModel>(); model.AllTemplates = templateNames .Select(x => new SelectListItem { Text = x, Value = x, Selected = x.IsCaseInsensitiveEqual(entity?.Template) }) .ToList(); model.AllProviders = _menuItemProviders.Values .Select(x => new SelectListItem { Text = T("Providers.MenuItems.FriendlyName." + x.Metadata.ProviderName), Value = x.Metadata.ProviderName }) .ToList(); var entities = _menuStorage.GetMenuItems(model.Id, 0, true); model.ItemTree = entities.GetTree("EditMenu", _menuItemProviders); }
public ActionResult Edit(MenuRecordModel model, bool continueEditing, FormCollection form) { var menu = _menuStorage.GetMenuById(model.Id); if (menu == null) { return(HttpNotFound()); } if (ModelState.IsValid) { MiniMapper.Map(model, menu); menu.WidgetZone = string.Join(",", model.WidgetZone ?? new string[0]).NullEmpty(); _menuStorage.UpdateMenu(menu); SaveStoreMappings(menu, model.SelectedStoreIds); SaveAclMappings(menu, model.SelectedCustomerRoleIds); UpdateLocales(menu, model); Services.EventPublisher.Publish(new ModelBoundEvent(model, menu, form)); NotifySuccess(T("Admin.Common.DataSuccessfullySaved")); return(continueEditing ? RedirectToAction("Edit", menu.Id) : RedirectToAction("List")); } PrepareModel(model, menu); return(View(model)); }
public ActionResult List(GridCommand command, MenuRecordListModel model) { var gridModel = new GridModel <MenuRecordModel>(); if (Services.Permissions.Authorize(StandardPermissionProvider.ManageMenus)) { var menus = _menuStorage.GetAllMenus(model.SystemName, model.StoreId, true, command.Page - 1, command.PageSize); gridModel.Data = menus.Select(x => { var itemModel = new MenuRecordModel(); MiniMapper.Map(x, itemModel); return(itemModel); }); gridModel.Total = menus.TotalCount; } else { gridModel.Data = Enumerable.Empty <MenuRecordModel>(); NotifyAccessDenied(); } return(new JsonResult { MaxJsonLength = int.MaxValue, Data = gridModel }); }
public ActionResult Create(MenuRecordModel model, bool continueEditing, FormCollection form) { if (!Services.Permissions.Authorize(StandardPermissionProvider.ManageMenus)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var menu = MiniMapper.Map <MenuRecordModel, MenuRecord>(model); menu.WidgetZone = string.Join(",", model.WidgetZone ?? new string[0]).NullEmpty(); _menuStorage.InsertMenu(menu); SaveStoreMappings(menu, model); SaveAclMappings(menu, model); UpdateLocales(menu, model); Services.EventPublisher.Publish(new ModelBoundEvent(model, menu, form)); NotifySuccess(T("Admin.Common.DataSuccessfullySaved")); return(continueEditing ? RedirectToAction("Edit", new { id = menu.Id }) : RedirectToAction("List")); } PrepareModel(model, null); return(View(model)); }
public ActionResult Create() { var model = new MenuRecordModel(); PrepareModel(model, null); AddLocales(_languageService, model.Locales); return(View(model)); }
private void UpdateLocales(MenuRecord entity, MenuRecordModel model) { if (model.Locales != null) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(entity, x => x.Title, localized.Title, localized.LanguageId); } } }
public ActionResult ItemList(int id) { var model = new MenuRecordModel { Id = id }; PrepareModel(model, null); return(PartialView(model)); }
public ActionResult Create() { if (!Services.Permissions.Authorize(StandardPermissionProvider.ManageMenus)) { return(AccessDeniedView()); } var model = new MenuRecordModel(); PrepareModel(model, null); AddLocales(_languageService, model.Locales); return(View(model)); }
// Ajax. public ActionResult ItemList(int id) { if (!Services.Permissions.Authorize(StandardPermissionProvider.ManageMenus)) { NotifyAccessDenied(); return(new EmptyResult()); } var model = new MenuRecordModel { Id = id }; PrepareModel(model, null); return(PartialView(model)); }
public ActionResult List(GridCommand command, MenuRecordListModel model) { var gridModel = new GridModel <MenuRecordModel>(); var menus = _menuStorage.GetAllMenus(model.SystemName, model.StoreId, true, command.Page - 1, command.PageSize); gridModel.Data = menus.Select(x => { var itemModel = new MenuRecordModel(); MiniMapper.Map(x, itemModel); return(itemModel); }); gridModel.Total = menus.TotalCount; return(new JsonResult { MaxJsonLength = int.MaxValue, Data = gridModel }); }