From dd5903836925331a1265c2cc0b2c84ff4d612bcd Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 26 Aug 2013 10:29:30 +0200 Subject: [PATCH 1/4] Fixes U4-2686 Error when trying to delete member group with ampersand in name. --- .../umbraco/webservices/legacyAjaxCalls.asmx.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/legacyAjaxCalls.asmx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/legacyAjaxCalls.asmx.cs index cd4664f9a3..22647e82c5 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/legacyAjaxCalls.asmx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/legacyAjaxCalls.asmx.cs @@ -68,20 +68,23 @@ namespace umbraco.presentation.webservices public void Delete(string nodeId, string alias, string nodeType) { AuthorizeRequest(true); + + //U4-2686 - alias is html encoded, make sure to decode + alias = HttpUtility.HtmlDecode(alias); //check which parameters to pass depending on the types passed in int intNodeID; if (nodeType == "memberGroup") { - presentation.create.dialogHandler_temp.Delete(nodeType, 0, alias); + create.dialogHandler_temp.Delete(nodeType, 0, alias); } else if (int.TryParse(nodeId, out intNodeID) && nodeType != "member") // Fix for #26965 - numeric member login gets parsed as nodeId { - presentation.create.dialogHandler_temp.Delete(nodeType, intNodeID, alias); + create.dialogHandler_temp.Delete(nodeType, intNodeID, alias); } else { - presentation.create.dialogHandler_temp.Delete(nodeType, 0, nodeId); + create.dialogHandler_temp.Delete(nodeType, 0, nodeId); } } From cbe8f15007e355916a6f7ce8f93ad2ccb9e5c4e0 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 26 Aug 2013 12:11:07 +0200 Subject: [PATCH 2/4] U4-2636 Allow at root property are outside of view in backoffice --- .../umbraco/controls/ContentTypeControlNew.ascx.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs index 86f11eeb77..9173f9f681 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs @@ -76,10 +76,16 @@ namespace umbraco.controls LoadContentType(); SetupInfoPane(); - if (!HideStructure) + + if (HideStructure) + { + pnlStructure.Visible = false; + } + else { SetupStructurePane(); } + SetupGenericPropertiesPane(); SetupTabPane(); From 2345a5e13324d1026ec1c295fc60c3c71debf69d Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 26 Aug 2013 13:45:09 +0200 Subject: [PATCH 3/4] U4-2477 Member editing - Indicate which box is active and which is inactive --- src/Umbraco.Web.UI/umbraco/config/lang/en.xml | 2 ++ src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml | 2 ++ .../umbraco/controls/dualSelectBox.cs | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml index 18a6aea35e..6bdf7b5ba1 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml @@ -150,6 +150,8 @@ Last edited Remove file Link to document + Member of group(s) + Not a member of group(s) Where do you want to create the new %0% diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml index 256293a2ce..26227d226f 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml @@ -134,6 +134,8 @@ Last edited Remove file Link to document + Member of group(s) + Not a member of group(s) Where do you want to create the new %0% diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/controls/dualSelectBox.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/controls/dualSelectBox.cs index 50daea513b..34ad91303e 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/controls/dualSelectBox.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/controls/dualSelectBox.cs @@ -1,4 +1,5 @@ using System; +using System.Web.Razor; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; @@ -57,6 +58,13 @@ namespace umbraco.controls table.CellPadding = 5; table.CellSpacing = 0; table.Border = 0; + + HtmlTableRow header = new HtmlTableRow(); + header.Controls.Add(new HtmlTableCell { InnerHtml = ui.Text("content", "notmemberof") }); + header.Controls.Add(new HtmlTableCell { InnerHtml= " " }); + header.Controls.Add(new HtmlTableCell { InnerHtml = ui.Text("content", "memberof") }); + table.Controls.Add(header); + HtmlTableRow row = new HtmlTableRow(); table.Controls.Add(row); HtmlTableCell cFirst = new HtmlTableCell(); From ee4312b7f2e39bbfb91516d457bf5e136d0c8cab Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 26 Aug 2013 13:56:22 +0200 Subject: [PATCH 4/4] U4-2464 Single user protection, password not changeable! --- .../umbraco/dialogs/protectPage.aspx.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs index fb3c51faf7..59a6ba54c3 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs @@ -2,6 +2,8 @@ using System; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; +using System.Windows.Forms.VisualStyles; +using umbraco.cms.businesslogic.member; using umbraco.cms.businesslogic.web; using umbraco.controls; using umbraco.cms.helpers; @@ -193,7 +195,8 @@ namespace umbraco.presentation.umbraco.dialogs { try { - if (cms.businesslogic.member.MemberType.GetByAlias("_umbracoSystemDefaultProtectType") == null) + if ( + cms.businesslogic.member.MemberType.GetByAlias("_umbracoSystemDefaultProtectType") == null) { cms.businesslogic.member.MemberType.MakeNew(BusinessLogic.User.GetUser(0), "_umbracoSystemDefaultProtectType"); } @@ -202,13 +205,23 @@ namespace umbraco.presentation.umbraco.dialogs { cms.businesslogic.member.MemberType.MakeNew(BusinessLogic.User.GetUser(0), "_umbracoSystemDefaultProtectType"); } + // create member - cms.businesslogic.member.Member mem = cms.businesslogic.member.Member.MakeNew(simpleLogin.Text, "", cms.businesslogic.member.MemberType.GetByAlias("_umbracoSystemDefaultProtectType"), base.getUser()); + Member mem = cms.businesslogic.member.Member.MakeNew(simpleLogin.Text, "", cms.businesslogic.member.MemberType.GetByAlias("_umbracoSystemDefaultProtectType"), base.getUser()); // working around empty password restriction for Umbraco Member Mode mem.Password = simplePassword.Text; member = Membership.GetUser(simpleLogin.Text); } } + else + { + // change password if it's not empty + if (string.IsNullOrWhiteSpace(simplePassword.Text) == false) + { + var mem = Member.GetMemberFromLoginName(simpleLogin.Text); + mem.Password = simplePassword.Text; + } + } // Create or find a memberGroup string simpleRoleName = "__umbracoRole_" + simpleLogin.Text;