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