U4-10106 Cannot delete user groups

This commit is contained in:
Claus
2017-07-12 13:43:00 +02:00
parent f18b7110c9
commit 2e28ff3ccf
6 changed files with 46 additions and 5 deletions

View File

@@ -59,11 +59,23 @@
"Failed to retrieve user groups");
}
function deleteUserGroups(userGroupIds) {
var query = "userGroupIds=" + userGroupIds.join("&userGroupIds=");
return umbRequestHelper.resourcePromise(
$http.post(
umbRequestHelper.getApiUrl(
"userGroupsApiBaseUrl",
"PostDeleteUserGroups",
query)),
'Failed to delete user groups');
}
var resource = {
saveUserGroup: saveUserGroup,
getUserGroup: getUserGroup,
getUserGroups: getUserGroups,
getUserGroupScaffold: getUserGroupScaffold
getUserGroupScaffold: getUserGroupScaffold,
deleteUserGroups: deleteUserGroups
};
return resource;

View File

@@ -1,7 +1,7 @@
(function () {
"use strict";
function UserGroupsController($scope, $timeout, $location, userGroupsResource) {
function UserGroupsController($scope, $timeout, $location, userGroupsResource, formHelper) {
var vm = this;
@@ -12,6 +12,7 @@
vm.clickUserGroup = clickUserGroup;
vm.clearSelection = clearSelection;
vm.selectUserGroup = selectUserGroup;
vm.deleteUserGroups = deleteUserGroups;
function onInit() {
@@ -57,6 +58,18 @@
}
}
function deleteUserGroups() {
if (vm.selection.length > 0) {
userGroupsResource.deleteUserGroups(vm.selection).then(function (data) {
clearSelection();
onInit();
formHelper.showNotifications(data);
}, function(error) {
formHelper.showNotifications(error.data);
});
}
}
function clearSelection() {
angular.forEach(vm.userGroups, function (userGroup) {
userGroup.selected = false;

View File

@@ -32,7 +32,7 @@
type="button"
label="Delete"
icon="icon-trash"
action="vm.deleteUserGroup()"
action="vm.deleteUserGroups()"
size="xs">
</umb-button>
</umb-editor-sub-header-content-right>

View File

@@ -1126,6 +1126,8 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="scriptErrorHeader">Script view not saved</key>
<key alias="scriptErrorText">An error occurred saving the file.</key>
<key alias="cssErrorText">An error occurred saving the file.</key>
<key alias="deleteUserGroupsSuccess">Deleted %0% user groups</key>
<key alias="deleteUserGroupSuccess">%0% was deleted</key>
</area>
<area alias="stylesheet">
<key alias="aliasHelp">Uses CSS syntax ex: h1, .redHeader, .blueTex</key>

View File

@@ -1105,7 +1105,8 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="enableUserError">An error occurred while enabling the user</key>
<key alias="disableUserSuccess">%0% is now disabled</key>
<key alias="disableUserError">An error occurred while disabling the user</key>
<key alias="deleteUserGroupsSuccess">Deleted %0% user groups</key>
<key alias="deleteUserGroupSuccess">%0% was deleted</key>
</area>
<area alias="stylesheet">
<key alias="aliasHelp">Uses CSS syntax ex: h1, .redHeader, .blueTex</key>

View File

@@ -5,7 +5,6 @@ using System.Net;
using System.Net.Http;
using System.Web.Http;
using AutoMapper;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Services;
using Umbraco.Web.Models.ContentEditing;
@@ -87,5 +86,19 @@ namespace Umbraco.Web.Editors
return display;
}
public HttpResponseMessage PostDeleteUserGroups([FromUri] int[] userGroupIds)
{
var userGroups = Services.UserService.GetAllUserGroups(userGroupIds).ToArray();
foreach (var userGroup in userGroups)
{
Services.UserService.DeleteUserGroup(userGroup);
}
if (userGroups.Length > 1)
return Request.CreateNotificationSuccessResponse(
Services.TextService.Localize("speechBubbles/deleteUserGroupsSuccess", new[] {userGroups.Length.ToString()}));
return Request.CreateNotificationSuccessResponse(
Services.TextService.Localize("speechBubbles/deleteUserGroupSuccess", new[] {userGroups[0].Name}));
}
}
}