protected void OnSaveUnpublishedCommand(object sender, CommandEventArgs e) { var ctx = ie.CreateCommandContext(); Commands.Save(ctx); Url redirectTo = ManagementPaths.GetEditExistingItemUrl(ctx.Content); if (!string.IsNullOrEmpty(Request["returnUrl"])) { redirectTo = redirectTo.AppendQuery("returnUrl", Request["returnUrl"]); } HandleResult(ctx, redirectTo); }
protected void OnSaveUnpublishedCommand(object sender, CommandEventArgs e) { var ctx = new CommandContext(ie.GetDefinition(), ie.CurrentItem, Interfaces.Editing, User, ie, new PageValidator <CommandContext>(Page)); Commands.Save(ctx); Url redirectTo = ManagementPaths.GetEditExistingItemUrl(ctx.Content); if (!string.IsNullOrEmpty(Request["returnUrl"])) { redirectTo = redirectTo.AppendQuery("returnUrl", Request["returnUrl"]); } HandleResult(ctx, redirectTo); }
private string GetRedirectUrl(NameValueCollection request) { ContentItem item = navigator.Navigate(request[PathData.ItemQueryKey]); Url url = editUrlManager.GetEditExistingItemUrl(item); if (!string.IsNullOrEmpty(request["returnUrl"])) { url = url.AppendQuery("returnUrl", request["returnUrl"]); } return(url); }
public IEnumerable <TranslateSpecification> GetEditTranslations(ContentItem item, bool includeCurrent, bool generateNonTranslated) { ILanguage itemlanguage = GetLanguage(item); if (itemlanguage == null) { yield break; } IEnumerable <ContentItem> translations = FindTranslations(item); IEnumerable <ILanguage> languages = GetAvailableLanguages(); var itemSite = host.GetSite(item); foreach (ILanguage language in languages) { if (language != itemlanguage || includeCurrent) { ContentItem translation = GetTranslation(translations, language); if (translation == null && language == itemlanguage) { translation = item; } ItemDefinition definition = definitions.GetDefinition(item); if (translation != null) { string url = editUrlManager.GetEditExistingItemUrl(translation); yield return(new TranslateSpecification(url, language, translation, definition, host.GetSite(translation))); } else { ContentItem translatedParent = GetTranslatedParent(item, language); if (translatedParent == null) { if (generateNonTranslated) { yield return(new TranslateSpecification("#", language, translation, definition, host.GetSite(language as ContentItem)) { IsTranslatable = false }); } continue; } Url url = editUrlManager.GetEditNewPageUrl(translatedParent, definition, item.ZoneName, CreationPosition.Below); url = url.AppendQuery(TranslationKey, item.TranslationKey ?? item.ID); yield return(new TranslateSpecification(url, language, translation, definition, host.GetSite(translatedParent))); } } } }
protected void OnSaveUnpublishedCommand(object sender, CommandEventArgs e) { var ctx = ie.CreateCommandContext(); try { if (ctx.Content.VersionOf.HasValue) { var draftOfTopEditor = ctx.Content.FindPartVersion(CurrentItem); ie.UpdateObject(new CommandContext(ie.Definition, draftOfTopEditor, Interfaces.Editing, Context.User)); Repository.Save(ctx.Content); } else { Commands.Save(ctx); } Url redirectTo = ManagementPaths.GetEditExistingItemUrl(ctx.Content); if (!string.IsNullOrEmpty(Request["returnUrl"])) redirectTo = redirectTo.AppendQuery("returnUrl", Request["returnUrl"]); //Check if tab redirection needed if (!String.IsNullOrWhiteSpace(selectedTab.Value)) { var tabName = selectedTab.Value.Split('_').Last(); var tabContainerDefinition = ctx.Definition.Containers.Where(c =>c is TabContainerAttribute && c.Name == tabName).FirstOrDefault(); if (tabContainerDefinition != null && !String.IsNullOrWhiteSpace((tabContainerDefinition as TabContainerAttribute).TabRedirectAfterSave)) { redirectTo = redirectTo+ "#"+ie.ClientID +"_"+ (tabContainerDefinition as TabContainerAttribute).TabRedirectAfterSave; } } HandleResult(ctx, redirectTo); } catch (N2Exception ex) { SetErrorMessage(cvException, ex); } }
protected void OnSaveUnpublishedCommand(object sender, CommandEventArgs e) { var ctx = ie.CreateCommandContext(); try { if (ctx.Content.VersionOf.HasValue) { var draftOfTopEditor = ctx.Content.FindPartVersion(CurrentItem); ie.UpdateObject(new CommandContext(ie.Definition, draftOfTopEditor, Interfaces.Editing, Context.User)); Repository.Save(ctx.Content); } else { Commands.Save(ctx); } //Items that have no versions (first version) and are drafts, will be updated to unpublished state // so that when saving and viewing the item, it will work cross sites if (!ctx.Content.VersionOf.HasValue && ctx.Content.VersionIndex == 0) { var item = ie.CurrentItem; item.State = ContentState.Unpublished; Engine.Persister.Save(item); } Url redirectTo = ManagementPaths.GetEditExistingItemUrl(ctx.Content); if (!string.IsNullOrEmpty(Request["returnUrl"])) redirectTo = redirectTo.AppendQuery("returnUrl", Request["returnUrl"]); HandleResult(ctx, redirectTo); } catch (N2Exception ex) { SetErrorMessage(cvException, ex); } }
public void WriteTitleBar(TextWriter writer, ContentItem item, string returnUrl) { var definition = definitions.GetDefinition(item.GetContentType()); writer.Write("<div class='titleBar "); writer.Write(definition.Discriminator); writer.Write("'>"); WriteCommand(writer, "Edit part", "command edit", Url.Parse(managementUrls.GetEditExistingItemUrl(item)).AppendQuery("returnUrl", returnUrl).Encode()); WriteCommand(writer, "Delete part", "command delete", Url.Parse(managementUrls.GetDeleteUrl(item)).AppendQuery("returnUrl", returnUrl).Encode()); WriteTitle(writer, definition); writer.Write("</div>"); }
public void WriteTitleBar(TextWriter writer, ContentItem item, string returnUrl) { var definition = definitions.GetDefinition(item); writer.Write("<div class='titleBar "); writer.Write(definition.Discriminator); writer.Write("'>"); string editUrl = Url.Parse(managementUrls.GetEditExistingItemUrl(item)).AppendQuery("returnUrl", returnUrl).Encode(); WriteTitle(writer, definition, editUrl); writer.Write("<span class='commands'>"); WriteCommand(writer, "Delete part", "command delete", "fa fa-trash-o", Url.Parse(managementUrls.GetDeleteUrl(item)).AppendQuery("returnUrl", returnUrl).Encode()); WriteCommand(writer, "Edit part", "command edit", "fa fa-pencil-square", editUrl); WriteCommand(writer, "Move part", "command move", "fa fa-arrows", "#"); writer.Write("</span>"); writer.Write("</div>"); }
public override void Process(CommandContext state) { state["RedirectTo"] = editManager.GetEditExistingItemUrl(state.Content); }
public string GetEditExistingItemUrl(ContentItem item) { return(urls.GetEditExistingItemUrl(item)); }