Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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)));
                    }
                }
            }
        }
Exemplo n.º 5
0
        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);
			}
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
        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>");
        }
Exemplo n.º 8
0
        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>");
        }
Exemplo n.º 9
0
 public override void Process(CommandContext state)
 {
     state["RedirectTo"] = editManager.GetEditExistingItemUrl(state.Content);
 }
Exemplo n.º 10
0
 public string GetEditExistingItemUrl(ContentItem item)
 {
     return(urls.GetEditExistingItemUrl(item));
 }