Ejemplo n.º 1
0
        public ActionResult EditNavigationItem(int id) {
            NavigationViewModel model = new NavigationViewModel();

            var metadataTypes = _contentDefinitionService.GetUserDefinedTypes();
            var contentItem = _contentManager.Get(id, VersionOptions.Latest);
            var pluralService = PluralizationService.CreateService(new CultureInfo("en-US"));
            model.EntityName = contentItem.As<MenuPart>().MenuText;
            model.EntityName = pluralService.Singularize(model.EntityName);
            var menuId = contentItem.As<MenuPart>().Record.MenuId;
            var perspectiveItem = _contentManager.Get(menuId, VersionOptions.Latest);
            model.Title = perspectiveItem.As<TitlePart>().Title;
            model.IconClass = contentItem.As<ModuleMenuItemPart>().IconClass;
            model.Entities = metadataTypes.Select(item => new SelectListItem {
                Text = item.Name,
                Value = item.Name,
                Selected = item.Name == model.EntityName
            }).ToList();
            model.NavigationId = id;
            model.PrespectiveId = menuId;
            return View(model);
        }
Ejemplo n.º 2
0
 public ActionResult CreateNavigationItem(int id) {
     NavigationViewModel model = new NavigationViewModel();
     var metadataTypes = _contentDefinitionService.GetUserDefinedTypes();
     var perspectiveItem = _contentManager.Get(id, VersionOptions.Latest);
     model.Title = perspectiveItem.As<TitlePart>().Title;
     model.Entities = metadataTypes.Select(item => new SelectListItem {
         Text = item.Name,
         Value = item.Name,
         Selected = item.Name == model.EntityName
     }).ToList();
     model.NavigationId = 0;
     model.PrespectiveId = id;
     return View(model);
 }
Ejemplo n.º 3
0
        public ActionResult CreateNavigationItemPOST(int perspectiveId, int navigationId, NavigationViewModel model) {
            var pluralService = PluralizationService.CreateService(new CultureInfo("en-US"));
            string pluralContentTypeName = pluralService.Pluralize(model.EntityName);

            if (string.IsNullOrWhiteSpace(model.IconClass)) {
                Response.StatusCode = (int) HttpStatusCode.BadRequest;
                return Content(T("Icon is required.").ToString());
            }

            //add
            var moduleMenuPart = Services.ContentManager.New<MenuPart>("ModuleMenuItem");

            // load the menu
            var menu = Services.ContentManager.Get(perspectiveId);

            moduleMenuPart.MenuText = pluralContentTypeName;
            moduleMenuPart.MenuPosition = Position.GetNext(_navigationManager.BuildMenu(menu));
            moduleMenuPart.Menu = menu;
            //menuPart.As<MenuItemPart>().Url = "~/Coevery#/" + pluralContentTypeName;
            moduleMenuPart.As<ModuleMenuItemPart>().ContentTypeDefinitionRecord = _contentTypeDefinitionRepository.Table.FirstOrDefault(x => x.Name == model.EntityName);
            moduleMenuPart.As<ModuleMenuItemPart>().IconClass = model.IconClass;
            //menuPart.As<MenuItemPart>().FeatureId = "Coevery." + pluralContentTypeName;
            Services.ContentManager.Create(moduleMenuPart);
            if (!moduleMenuPart.ContentItem.Has<IPublishingControlAspect>() && !moduleMenuPart.ContentItem.TypeDefinition.Settings.GetModel<ContentTypeSettings>().Draftable) {
                _contentManager.Publish(moduleMenuPart.ContentItem);
            }
            return Json(new {id = moduleMenuPart.ContentItem.Id});
        }
Ejemplo n.º 4
0
        public ActionResult EditNavigationItemPOST(int perspectiveId, int navigationId, NavigationViewModel model) {
            var pluralService = PluralizationService.CreateService(new CultureInfo("en-US"));
            string pluralContentTypeName = pluralService.Pluralize(model.EntityName);

            var contentItem = _contentManager.Get(navigationId, VersionOptions.DraftRequired);
            contentItem.As<MenuPart>().MenuText = pluralContentTypeName;
            //contentItem.As<MenuItemPart>().Url = "~/Coevery#/" + pluralContentTypeName;
            contentItem.As<ModuleMenuItemPart>().ContentTypeDefinitionRecord = _contentTypeDefinitionRepository.Table.FirstOrDefault(x => x.Name == model.EntityName);
            contentItem.As<ModuleMenuItemPart>().IconClass = model.IconClass;
            //contentItem.As<MenuItemPart>().FeatureId = "Coevery." + pluralContentTypeName;
            _contentManager.Publish(contentItem);

            return new HttpStatusCodeResult(HttpStatusCode.OK);
        }