public ActionResult CreateItem(MenuItemRecordModel itemModel, bool continueEditing, FormCollection form)
        {
            if (ModelState.IsValid)
            {
                itemModel.ParentItemId = itemModel.ParentItemId ?? 0;
                var item = MiniMapper.Map <MenuItemRecordModel, MenuItemRecord>(itemModel);
                item.PermissionNames = string.Join(",", itemModel.PermissionNames ?? new string[0]).NullEmpty();

                _menuStorage.InsertMenuItem(item);

                SaveStoreMappings(item, itemModel.SelectedStoreIds);
                SaveAclMappings(item, itemModel.SelectedCustomerRoleIds);
                UpdateLocales(item, itemModel);

                Services.EventPublisher.Publish(new ModelBoundEvent(itemModel, item, form));
                NotifySuccess(T("Admin.Common.DataSuccessfullySaved"));

                if (continueEditing)
                {
                    return(RedirectToAction("EditItem", new { id = item.Id }));
                }

                return(RedirectToAction("Edit", new { id = item.MenuId }));
            }

            PrepareModel(itemModel, null);

            return(View(itemModel));
        }
Esempio n. 2
0
        public ActionResult CreateItem(MenuItemRecordModel itemModel, bool continueEditing, FormCollection form)
        {
            if (!Services.Permissions.Authorize(StandardPermissionProvider.ManageMenus))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                var item = MiniMapper.Map <MenuItemRecordModel, MenuItemRecord>(itemModel);
                item.ParentItemId    = itemModel.ParentItemId ?? 0;
                item.PermissionNames = string.Join(",", itemModel.PermissionNames ?? new string[0]).NullEmpty();

                _menuStorage.InsertMenuItem(item);

                UpdateLocales(item, itemModel);

                Services.EventPublisher.Publish(new ModelBoundEvent(itemModel, item, form));
                NotifySuccess(T("Admin.Common.DataSuccessfullySaved"));

                if (continueEditing)
                {
                    return(RedirectToAction("EditItem", new { id = item.Id }));
                }

                return(RedirectToAction("Edit", new { id = item.MenuId }));
            }

            PrepareModel(itemModel, null);

            return(View(itemModel));
        }