Merge remote-tracking branch 'origin/master-v7' into dev-v7
Conflicts: build/UmbracoVersion.txt src/SolutionInfo.cs src/Umbraco.Core/Cache/FullDataSetRepositoryCachePolicy.cs src/Umbraco.Core/Cache/FullDataSetRepositoryCachePolicyFactory.cs src/Umbraco.Core/Configuration/UmbracoVersion.cs src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/PublicAccessRepository.cs src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs src/Umbraco.Core/Umbraco.Core.csproj src/Umbraco.Tests/Cache/FullDataSetCachePolicyTests.cs src/Umbraco.Web.UI.Client/src/common/directives/components/grid/grid.rte.directive.js src/Umbraco.Web.UI.Client/src/less/hacks.less src/Umbraco.Web.UI/Umbraco.Web.UI.csproj src/Umbraco.Web/WebBootManager.cs
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using Umbraco.Core.CodeAnnotations;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.IO;
|
||||
@@ -52,7 +53,7 @@ namespace umbraco
|
||||
if (IsPartialViewMacro == false)
|
||||
{
|
||||
var attempt = fileService.CreatePartialView(model, snippetName, User.Id);
|
||||
_returnUrl = string.Format("settings/views/EditView.aspx?treeType=partialViews&file={0}", model.Path.TrimStart('/'));
|
||||
_returnUrl = string.Format("settings/views/EditView.aspx?treeType=partialViews&file={0}", HttpUtility.UrlEncode(model.Path.TrimStart('/').Replace("\\", "/")));
|
||||
return attempt.Success;
|
||||
}
|
||||
else
|
||||
@@ -68,7 +69,7 @@ namespace umbraco
|
||||
macroService.Save(new Macro(attempt.Result.Alias, attempt.Result.Alias) { ScriptPath = virtualPath });
|
||||
}
|
||||
|
||||
_returnUrl = string.Format("settings/views/EditView.aspx?treeType=partialViewMacros&file={0}", model.Path.TrimStart('/'));
|
||||
_returnUrl = string.Format("settings/views/EditView.aspx?treeType=partialViewMacros&file={0}", HttpUtility.UrlEncode(model.Path.TrimStart('/').Replace("\\", "/")));
|
||||
return attempt.Success;
|
||||
}
|
||||
|
||||
|
||||
@@ -183,71 +183,71 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
SimpleLoginNameValidator.IsValid = true;
|
||||
|
||||
var provider = MembershipProviderExtensions.GetMembersMembershipProvider();
|
||||
|
||||
int pageId = int.Parse(helper.Request("nodeId"));
|
||||
|
||||
if (Page.IsValid)
|
||||
if (e.CommandName == "simple")
|
||||
{
|
||||
int pageId = int.Parse(helper.Request("nodeId"));
|
||||
var memberLogin = simpleLogin.Visible ? simpleLogin.Text : SimpleLoginLabel.Text;
|
||||
|
||||
if (e.CommandName == "simple")
|
||||
var member = provider.GetUser(memberLogin, false);
|
||||
if (member == null)
|
||||
{
|
||||
var memberLogin = simpleLogin.Visible ? simpleLogin.Text : SimpleLoginLabel.Text;
|
||||
var tempEmail = "u" + Guid.NewGuid().ToString("N") + "@example.com";
|
||||
|
||||
var member = provider.GetUser(memberLogin, false);
|
||||
if (member == null)
|
||||
// this needs to work differently depending on umbraco members or external membership provider
|
||||
if (provider.IsUmbracoMembershipProvider() == false)
|
||||
{
|
||||
var tempEmail = "u" + Guid.NewGuid().ToString("N") + "@example.com";
|
||||
|
||||
// this needs to work differently depending on umbraco members or external membership provider
|
||||
if (provider.IsUmbracoMembershipProvider() == false)
|
||||
member = provider.CreateUser(memberLogin, simplePassword.Text, tempEmail);
|
||||
}
|
||||
else
|
||||
{
|
||||
//if it's the umbraco membership provider, then we need to tell it what member type to create it with
|
||||
if (MemberType.GetByAlias(Constants.Conventions.MemberTypes.SystemDefaultProtectType) == null)
|
||||
{
|
||||
member = provider.CreateUser(memberLogin, simplePassword.Text, tempEmail);
|
||||
MemberType.MakeNew(BusinessLogic.User.GetUser(0), Constants.Conventions.MemberTypes.SystemDefaultProtectType);
|
||||
}
|
||||
else
|
||||
var castedProvider = provider.AsUmbracoMembershipProvider();
|
||||
MembershipCreateStatus status;
|
||||
member = castedProvider.CreateUser(Constants.Conventions.MemberTypes.SystemDefaultProtectType,
|
||||
memberLogin, simplePassword.Text, tempEmail, null, null, true, null, out status);
|
||||
if (status != MembershipCreateStatus.Success)
|
||||
{
|
||||
//if it's the umbraco membership provider, then we need to tell it what member type to create it with
|
||||
if (MemberType.GetByAlias(Constants.Conventions.MemberTypes.SystemDefaultProtectType) == null)
|
||||
{
|
||||
MemberType.MakeNew(BusinessLogic.User.GetUser(0), Constants.Conventions.MemberTypes.SystemDefaultProtectType);
|
||||
}
|
||||
var castedProvider = provider.AsUmbracoMembershipProvider();
|
||||
MembershipCreateStatus status;
|
||||
member = castedProvider.CreateUser(Constants.Conventions.MemberTypes.SystemDefaultProtectType,
|
||||
memberLogin, simplePassword.Text, tempEmail, null, null, true, null, out status);
|
||||
if (status != MembershipCreateStatus.Success)
|
||||
{
|
||||
SimpleLoginNameValidator.IsValid = false;
|
||||
SimpleLoginNameValidator.ErrorMessage = "Could not create user: " + status;
|
||||
SimpleLoginNameValidator.Text = "Could not create user: " + status;
|
||||
return;
|
||||
}
|
||||
SimpleLoginNameValidator.IsValid = false;
|
||||
SimpleLoginNameValidator.ErrorMessage = "Could not create user: " + status;
|
||||
SimpleLoginNameValidator.Text = "Could not create user: " + status;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (pp_pass.Visible)
|
||||
{
|
||||
SimpleLoginNameValidator.IsValid = false;
|
||||
SimpleLoginLabel.Visible = true;
|
||||
SimpleLoginLabel.Text = memberLogin;
|
||||
simpleLogin.Visible = false;
|
||||
pp_pass.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// Create or find a memberGroup
|
||||
var simpleRoleName = "__umbracoRole_" + member.UserName;
|
||||
if (Roles.RoleExists(simpleRoleName) == false)
|
||||
{
|
||||
Roles.CreateRole(simpleRoleName);
|
||||
}
|
||||
if (Roles.IsUserInRole(member.UserName, simpleRoleName) == false)
|
||||
{
|
||||
Roles.AddUserToRole(member.UserName, simpleRoleName);
|
||||
}
|
||||
|
||||
Access.ProtectPage(true, pageId, int.Parse(loginPagePicker.Value), int.Parse(errorPagePicker.Value));
|
||||
Access.AddMembershipRoleToDocument(pageId, simpleRoleName);
|
||||
Access.AddMembershipUserToDocument(pageId, member.UserName);
|
||||
}
|
||||
else if (e.CommandName == "advanced")
|
||||
else if (pp_pass.Visible)
|
||||
{
|
||||
SimpleLoginNameValidator.IsValid = false;
|
||||
SimpleLoginLabel.Visible = true;
|
||||
SimpleLoginLabel.Text = memberLogin;
|
||||
simpleLogin.Visible = false;
|
||||
pp_pass.Visible = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// Create or find a memberGroup
|
||||
var simpleRoleName = "__umbracoRole_" + member.UserName;
|
||||
if (Roles.RoleExists(simpleRoleName) == false)
|
||||
{
|
||||
Roles.CreateRole(simpleRoleName);
|
||||
}
|
||||
if (Roles.IsUserInRole(member.UserName, simpleRoleName) == false)
|
||||
{
|
||||
Roles.AddUserToRole(member.UserName, simpleRoleName);
|
||||
}
|
||||
|
||||
Access.ProtectPage(true, pageId, int.Parse(loginPagePicker.Value), int.Parse(errorPagePicker.Value));
|
||||
Access.AddMembershipRoleToDocument(pageId, simpleRoleName);
|
||||
Access.AddMembershipUserToDocument(pageId, member.UserName);
|
||||
}
|
||||
else if (e.CommandName == "advanced")
|
||||
{
|
||||
if (cv_errorPage.IsValid && cv_loginPage.IsValid)
|
||||
{
|
||||
Access.ProtectPage(false, pageId, int.Parse(loginPagePicker.Value), int.Parse(errorPagePicker.Value));
|
||||
|
||||
@@ -257,19 +257,23 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
else
|
||||
Access.RemoveMembershipRoleFromDocument(pageId, li.Value);
|
||||
}
|
||||
|
||||
feedback.Text = ui.Text("publicAccess", "paIsProtected", new cms.businesslogic.CMSNode(pageId).Text) + "</p><p><a href='#' onclick='" + ClientTools.Scripts.CloseModalWindow() + "'>" + ui.Text("closeThisWindow") + "</a>";
|
||||
|
||||
p_buttons.Visible = false;
|
||||
pane_advanced.Visible = false;
|
||||
pane_simple.Visible = false;
|
||||
var content = ApplicationContext.Current.Services.ContentService.GetById(pageId);
|
||||
//reloads the current node in the tree
|
||||
ClientTools.SyncTree(content.Path, true);
|
||||
//reloads the current node's children in the tree
|
||||
ClientTools.ReloadActionNode(false, true);
|
||||
feedback.type = global::umbraco.uicontrols.Feedback.feedbacktype.success;
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
feedback.Text = ui.Text("publicAccess", "paIsProtected", new cms.businesslogic.CMSNode(pageId).Text) + "</p><p><a href='#' onclick='" + ClientTools.Scripts.CloseModalWindow() + "'>" + ui.Text("closeThisWindow") + "</a>";
|
||||
|
||||
p_buttons.Visible = false;
|
||||
pane_advanced.Visible = false;
|
||||
pane_simple.Visible = false;
|
||||
var content = ApplicationContext.Current.Services.ContentService.GetById(pageId);
|
||||
//reloads the current node in the tree
|
||||
ClientTools.SyncTree(content.Path, true);
|
||||
//reloads the current node's children in the tree
|
||||
ClientTools.ReloadActionNode(false, true);
|
||||
feedback.type = global::umbraco.uicontrols.Feedback.feedbacktype.success;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user