Fixes member group editing, removes old dialog tasks, removes old references in the old ui.xml file

This commit is contained in:
Shannon
2018-10-23 21:38:24 +11:00
parent 69450791cf
commit fa64f4a6a8
10 changed files with 7 additions and 210 deletions

View File

@@ -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();

View File

@@ -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)

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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())

View File

@@ -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());
}
}
}

View File

@@ -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>

View File

@@ -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();
}
}

View File

@@ -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(); }
}
}
}