Fixes member group editing, removes old dialog tasks, removes old references in the old ui.xml file
This commit is contained in:
@@ -22,7 +22,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
protected override IMemberGroup PerformGet(int id)
|
||||
{
|
||||
var sql = GetBaseQuery(false);
|
||||
sql.Where(GetBaseWhereClause(), new { Id = id });
|
||||
sql.Where(GetBaseWhereClause(), new { id = id });
|
||||
|
||||
var dto = Database.Fetch<NodeDto>(SqlSyntax.SelectTop(sql, 1)).FirstOrDefault();
|
||||
|
||||
|
||||
@@ -23,8 +23,6 @@ namespace Umbraco.Tests.UI
|
||||
}
|
||||
}
|
||||
|
||||
[TestCase(typeof(MemberGroupTasks), Constants.Applications.Members)]
|
||||
[TestCase(typeof(dictionaryTasks), Constants.Applications.Settings)]
|
||||
[TestCase(typeof(macroTasks), Constants.Applications.Packages)]
|
||||
[TestCase(typeof(CreatedPackageTasks), Constants.Applications.Packages)]
|
||||
public void Check_Assigned_Apps_For_Tasks(Type taskType, string app)
|
||||
|
||||
@@ -15,50 +15,6 @@
|
||||
<delete assembly="Umbraco.Web" type="macroTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initmemberGroup">
|
||||
<header>membergroup</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="MemberGroupTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="memberGroups">
|
||||
<header>membergroup</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<delete assembly="Umbraco.Web" type="MemberGroupTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initstylesheets">
|
||||
<header>Stylesheet</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheetsFolder">
|
||||
<header>Stylesheet</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
<delete assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheet">
|
||||
<header>Stylesheet editor egenskab</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="stylesheetPropertyTasks" />
|
||||
<delete assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheetProperty">
|
||||
<header>Stylesheet editor egenskab</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<delete assembly="Umbraco.Web" type="stylesheetPropertyTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initpackager">
|
||||
<header>Package</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
|
||||
@@ -15,50 +15,6 @@
|
||||
<delete assembly="Umbraco.Web" type="macroTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initmemberGroup">
|
||||
<header>membergroup</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="MemberGroupTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="memberGroups">
|
||||
<header>membergroup</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<delete assembly="Umbraco.Web" type="MemberGroupTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initstylesheets">
|
||||
<header>Stylesheet</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheetsFolder">
|
||||
<header>Stylesheet</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
<delete assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheet">
|
||||
<header>Stylesheet editor egenskab</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<create assembly="Umbraco.Web" type="stylesheetPropertyTasks" />
|
||||
<delete assembly="Umbraco.Web" type="StylesheetTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="stylesheetProperty">
|
||||
<header>Stylesheet editor egenskab</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
<tasks>
|
||||
<delete assembly="Umbraco.Web" type="stylesheetPropertyTasks" />
|
||||
</tasks>
|
||||
</nodeType>
|
||||
<nodeType alias="initpackager">
|
||||
<header>Package</header>
|
||||
<usercontrol>/create/simple.ascx</usercontrol>
|
||||
|
||||
@@ -292,6 +292,7 @@
|
||||
<area alias="member">
|
||||
<key alias="createNewMember">Create a new member</key>
|
||||
<key alias="allMembers">All Members</key>
|
||||
<key alias="memberGroupNoProperties">Member groups have no additional properties for editing.</key>
|
||||
</area>
|
||||
<area alias="create">
|
||||
<key alias="chooseNode">Where do you want to create the new %0%</key>
|
||||
|
||||
@@ -224,6 +224,10 @@ namespace Umbraco.Web.Editors
|
||||
"memberTypeApiBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl<MemberTypeController>(
|
||||
controller => controller.GetAllTypes())
|
||||
},
|
||||
{
|
||||
"memberGroupApiBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl<MemberGroupController>(
|
||||
controller => controller.GetAllGroups())
|
||||
},
|
||||
{
|
||||
"updateCheckApiBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl<UpdateCheckController>(
|
||||
controller => controller.GetCheck())
|
||||
|
||||
@@ -142,8 +142,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
.ForMember(dest => dest.Icon, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.Trashed, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.ParentId, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.Alias, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.Path, opt => opt.Ignore());
|
||||
.ForMember(dest => dest.Alias, opt => opt.Ignore());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1248,9 +1248,7 @@
|
||||
<Compile Include="umbraco.presentation\umbraco\controls\ContentPicker.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\controls\dualSelectBox.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\create\CreatedPackageTasks.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\create\dictionaryTasks.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\create\macroTasks.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\create\MemberGroupTasks.cs" />
|
||||
<Compile Include="umbraco.presentation\umbraco\dashboard\FeedProxy.aspx.cs">
|
||||
<DependentUpon>FeedProxy.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
using System.Linq;
|
||||
using System.Web.Security;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Web.Composing;
|
||||
using Umbraco.Web._Legacy.UI;
|
||||
|
||||
namespace umbraco
|
||||
{
|
||||
public class MemberGroupTasks : LegacyDialogTask
|
||||
{
|
||||
public override bool PerformSave()
|
||||
{
|
||||
Roles.CreateRole(Alias);
|
||||
_returnUrl = $"members/EditMemberGroup.aspx?id={System.Web.HttpContext.Current.Server.UrlEncode(Alias)}";
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool PerformDelete()
|
||||
{
|
||||
var roleDeleted = false;
|
||||
|
||||
// only built-in roles can be deleted
|
||||
if (Roles.Provider.Name == Constants.Conventions.Member.UmbracoRoleProviderName)
|
||||
{
|
||||
var group = Current.Services.MemberGroupService.GetByName(Alias);
|
||||
if (group != null)
|
||||
{
|
||||
Current.Services.MemberGroupService.Delete(group);
|
||||
}
|
||||
}
|
||||
|
||||
// Need to delete the member group from any content item that has it assigned in public access settings
|
||||
var publicAccessService = Current.Services.PublicAccessService;
|
||||
var allPublicAccessRules = publicAccessService.GetAll();
|
||||
|
||||
// Find only rules which have the current role name (alias) assigned to them
|
||||
var rulesWithDeletedRoles = allPublicAccessRules.Where(x => x.Rules.Any(r => r.RuleValue == Alias));
|
||||
|
||||
var contentService = Current.Services.ContentService;
|
||||
foreach (var publicAccessEntry in rulesWithDeletedRoles)
|
||||
{
|
||||
var contentItem = contentService.GetById(publicAccessEntry.ProtectedNodeId);
|
||||
var rulesToDelete = publicAccessEntry.Rules.ToList();
|
||||
foreach (var rule in rulesToDelete)
|
||||
publicAccessService.RemoveRule(contentItem, rule.RuleType, rule.RuleValue);
|
||||
}
|
||||
|
||||
return roleDeleted;
|
||||
}
|
||||
|
||||
private string _returnUrl = "";
|
||||
|
||||
public override string ReturnUrl => _returnUrl;
|
||||
|
||||
public override string AssignedApp => Constants.Applications.Members.ToString();
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
using System;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Web.UI;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Web.Composing;
|
||||
using Umbraco.Web._Legacy.UI;
|
||||
|
||||
namespace umbraco
|
||||
{
|
||||
public class dictionaryTasks : LegacyDialogTask
|
||||
{
|
||||
public override bool PerformSave()
|
||||
{
|
||||
//check to see if key is already there
|
||||
if (Current.Services.LocalizationService.DictionaryItemExists(Alias))
|
||||
return false;
|
||||
|
||||
// Create new dictionary item if name no already exist
|
||||
if (ParentID > 0)
|
||||
{
|
||||
var di = Current.Services.LocalizationService.GetDictionaryItemById(ParentID);
|
||||
if (di == null) throw new NullReferenceException("No dictionary item found by id " + ParentID);
|
||||
var item = Current.Services.LocalizationService.CreateDictionaryItemWithIdentity(Alias, di.Key);
|
||||
_returnUrl = string.Format("settings/editDictionaryItem.aspx?id={0}", item.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = Current.Services.LocalizationService.CreateDictionaryItemWithIdentity(Alias, null);
|
||||
_returnUrl = string.Format("settings/editDictionaryItem.aspx?id={0}", item.Id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool PerformDelete()
|
||||
{
|
||||
Current.Logger.Debug<dictionaryTasks>(TypeID + " " + ParentID + " deleting " + Alias);
|
||||
var di = Current.Services.LocalizationService.GetDictionaryItemById(ParentID);
|
||||
if (di == null) return true;
|
||||
|
||||
Current.Services.LocalizationService.Delete(di);
|
||||
return true;
|
||||
}
|
||||
|
||||
private string _returnUrl = "";
|
||||
|
||||
public override string ReturnUrl
|
||||
{
|
||||
get { return _returnUrl; }
|
||||
}
|
||||
|
||||
public override string AssignedApp
|
||||
{
|
||||
get { return Constants.Applications.Settings.ToString(); }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user