diff --git a/umbraco/businesslogic/StateHelper.cs b/umbraco/businesslogic/StateHelper.cs index a276b9fc1b..84ac7ad5f5 100644 --- a/umbraco/businesslogic/StateHelper.cs +++ b/umbraco/businesslogic/StateHelper.cs @@ -235,7 +235,7 @@ namespace umbraco.BusinessLogic HttpCookie cookie = context.Request.Cookies[key]; if (cookie == null) { // Check for session - if (context.Session[key] != null) + if (context.Session != null && context.Session[key] != null) if (context.Session[key].ToString() != "0") tempValue = context.Session[key].ToString(); } diff --git a/umbraco/presentation/umbraco/dialogs/Preview.aspx.cs b/umbraco/presentation/umbraco/dialogs/Preview.aspx.cs index d0bf31aa25..bc04182cbf 100644 --- a/umbraco/presentation/umbraco/dialogs/Preview.aspx.cs +++ b/umbraco/presentation/umbraco/dialogs/Preview.aspx.cs @@ -21,13 +21,14 @@ namespace umbraco.presentation.dialogs protected void Page_Load(object sender, EventArgs e) { Document d = new Document(int.Parse(helper.Request("id"))); - bool includeChildren = !String.IsNullOrEmpty(UmbracoContext.Current.Request["children"]) ? true : false; + bool includeChildren = true; // !String.IsNullOrEmpty(UmbracoContext.Current.Request["children"]) ? true : false; PreviewContent pc = new PreviewContent(Guid.NewGuid()); pc.PrepareDocument(base.getUser(), d, includeChildren); pc.SavePreviewSet(); docLit.Text = d.Text; changeSetUrl.Text = pc.PreviewsetPath; StateHelper.SetCookieValue("PreviewSet", pc.PreviewSet.ToString()); + Response.Redirect("../../" + d.Id.ToString() + ".aspx", true); } } } diff --git a/umbraco/presentation/umbraco/editContent.aspx.cs b/umbraco/presentation/umbraco/editContent.aspx.cs index 1e27427796..7341cbd744 100644 --- a/umbraco/presentation/umbraco/editContent.aspx.cs +++ b/umbraco/presentation/umbraco/editContent.aspx.cs @@ -353,7 +353,7 @@ namespace umbraco.cms.presentation tp.Menu.InsertSplitter(2); uicontrols.MenuIconI menuItem = tp.Menu.NewIcon(3); menuItem.AltText = ui.Text("buttons", "showPage", this.getUser()); - menuItem.OnClickCommand = "window.open('../" + Request["id"] + ".aspx?umbVersion=" + _document.Version.ToString() + "','umbPreview')"; + menuItem.OnClickCommand = "window.open('dialogs/preview.aspx?id=" + Request["id"] + "','umbPreview')"; menuItem.ImageURL = SystemDirectories.Umbraco + "/images/editor/vis.gif"; // tp.Menu.InsertSplitter(4); } diff --git a/umbraco/presentation/umbraco/preview/Preview.cs b/umbraco/presentation/umbraco/preview/Preview.cs index 3cc9db82f5..b06e0e04a9 100644 --- a/umbraco/presentation/umbraco/preview/Preview.cs +++ b/umbraco/presentation/umbraco/preview/Preview.cs @@ -36,7 +36,8 @@ namespace umbraco.presentation.preview XmlContent = (XmlDocument) content.Instance.XmlContent.Clone(); // inject current document xml - content.AppendDocumentXml(documentObject.Id, documentObject.Level, documentObject.Parent.Id, documentObject.ToPreviewXml(XmlContent), XmlContent); + int parentId = documentObject.Level == 1 ? -1 : documentObject.Parent.Id; + content.AppendDocumentXml(documentObject.Id, documentObject.Level, parentId, documentObject.ToPreviewXml(XmlContent), XmlContent); if (includeSubs) { diff --git a/umbraco/presentation/web.config.UMBRACOTOSH.xslt b/umbraco/presentation/web.config.UMBRACOTOSH.xslt index 1b79100220..f50b184c1b 100644 --- a/umbraco/presentation/web.config.UMBRACOTOSH.xslt +++ b/umbraco/presentation/web.config.UMBRACOTOSH.xslt @@ -8,7 +8,7 @@ - 4.1.0.beta +