From 7934ea14a36ad18885e5bda51ccd39f1cd8f570d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 May 2017 22:09:52 +0200 Subject: [PATCH] wire up enable and disable user --- .../common/services/usershelper.service.js | 32 +++++++++++++++ .../src/views/users/user.controller.js | 40 ++++++++++++------- .../src/views/users/user.html | 13 +++--- 3 files changed, 64 insertions(+), 21 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js diff --git a/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js new file mode 100644 index 0000000000..2ab873bd67 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/services/usershelper.service.js @@ -0,0 +1,32 @@ +(function () { + 'use strict'; + + function usersHelperService(localizationService) { + + function getUserStateFromValue(value) { + switch (value) { + case 0: + return { "name": "Active", "alias": "active", "color": "success" }; + case 1: + return { "name": "Disabled", "alias": "disabled", "color": "danger" }; + case 2: + return { "name": "Locked out", "alias": "lockedOut", "color": "danger" }; + case 3: + return { "name": "Invited", "alias": "invited", "color": "warning" }; + } + } + + //////////// + + var service = { + getUserStateFromValue: getUserStateFromValue + }; + + return service; + + } + + angular.module('umbraco.services').factory('usersHelper', usersHelperService); + + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/views/users/user.controller.js b/src/Umbraco.Web.UI.Client/src/views/users/user.controller.js index 888b14b93f..08af46c0fe 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/user.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/users/user.controller.js @@ -1,7 +1,7 @@ (function () { "use strict"; - function UserEditController($scope, $timeout, $location, $routeParams, usersResource, contentEditingHelper, localizationService, notificationsService, mediaHelper, Upload, umbRequestHelper) { + function UserEditController($scope, $timeout, $location, $routeParams, usersResource, contentEditingHelper, localizationService, notificationsService, mediaHelper, Upload, umbRequestHelper, usersHelper) { var vm = this; var localizeSaving = localizationService.localize("general_saving"); @@ -17,8 +17,8 @@ vm.openMediaPicker = openMediaPicker; vm.removeSelectedItem = removeSelectedItem; vm.disableUser = disableUser; + vm.enableUser = enableUser; vm.resetPassword = resetPassword; - vm.getUserStateType = getUserStateType; vm.clearAvatar = clearAvatar; vm.save = save; vm.maxFileSize = Umbraco.Sys.ServerVariables.umbracoSettings.maxFileSize + "KB" @@ -32,6 +32,7 @@ usersResource.getUser($routeParams.id).then(function (user) { vm.user = user; makeBreadcrumbs(vm.user); + setUserDisplayState(); vm.loading = false; }); @@ -142,7 +143,25 @@ } function disableUser() { - alert("disable user"); + vm.disableUserButtonState = "busy"; + usersResource.disableUsers([vm.user.id]).then(function (data) { + if (data === "true") { + vm.disableUserButtonState = "success"; + } else { + vm.disableUserButtonState = "error"; + } + }); + } + + function enableUser() { + vm.enableUserButtonState = "busy"; + usersResource.enableUsers([vm.user.id]).then(function (data) { + if (data === "true") { + vm.enableUserButtonState = "success"; + } else { + vm.enableUserButtonState = "error"; + } + }); } function resetPassword() { @@ -156,17 +175,6 @@ }); } - function getUserStateType(state) { - switch (state) { - case "disabled" || "umbracoDisabled": - return "danger"; - case "pending": - return "warning"; - default: - return "success"; - } - } - $scope.changeAvatar = function (files, event) { if (files && files.length > 0) { upload(files[0]); @@ -237,6 +245,10 @@ ]; } + function setUserDisplayState() { + vm.user.userDisplayState = usersHelper.getUserStateFromValue(vm.user.userState); + } + init(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/users/user.html b/src/Umbraco.Web.UI.Client/src/views/users/user.html index 0c6ded037a..a20a985088 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/user.html +++ b/src/Umbraco.Web.UI.Client/src/views/users/user.html @@ -145,20 +145,17 @@ -
Last login:
@@ -181,10 +178,11 @@
@@ -192,9 +190,10 @@