public object SaveEditContent(PageAddress pageAddress, ContentItemsInput contentItemsInput) { //TODO: (erikpo) Check permissions pageService.EditPageContent(pageAddress, contentItemsInput); //todo: (nheskew) get this all set up to edit a single content item and link back down to that content. probably needs a success message too return(Redirect(Url.Page(pageService.GetPage(pageAddress)))); }
public object GlobalSaveEdit(ContentItemsInput contentItemsInput) { //TODO: (erikpo) Check permissions /*ModelResult<IEnumerable<ContentItem>> results = */ contentItemService.EditContentItems(contentItemsInput.ContentItems); //if (!results.IsValid) //{ // ModelState.AddModelErrors(results.ValidationState); // return GlobalEdit(contentInput, currentUser); //} return(GlobalEdit(contentItemsInput.ContentItems)); //Redirect(Url.AppPath(Url.Page(results.Item))); }
public void EditPageContent(Page page, ContentItemsInput contentItemsInput) { //TODO: (erikpo) Validate input using (TransactionScope transaction = new TransactionScope()) { //TODO: (erikpo) Follow other editing patterns in Oxite and add plugin and module events foreach (ContentItemInput input in contentItemsInput.ContentItems) { repository.Save(input.ToContentItem(context.User.Cast <User>(), context.Site.ID, page.ID)); } transaction.Complete(); } }
public void OnActionExecuted(ActionExecutedContext filterContext) { OxiteViewModel model = filterContext.Controller.ViewData.Model as OxiteViewModel; if (model == null) { return; } ContentItemsInput contentItemsInput = filterContext.HttpContext.Request.GetContentItemsInput(); model.AddModelItem( contentItemsInput != null ? filterContext.HttpContext.Request.GetContentItemsInput() : new ContentItemsInput( model.GetModelItem <ContentItemViewModel>().ContentItems.Where(ci => ci.Page != null).Select(ci => new ContentItemInput(ci.Name, ci.DisplayName, ci.Body, ci.Published)) ) ); }
public static IEnumerable <ContentItemInput> GetContentItems(this ContentItemsInput contentItemsInput) { return(contentItemsInput != null ? contentItemsInput.ContentItems : null); }