diff --git a/src/views/users.html b/src/views/users.html index 39a9007d3..7a31096e6 100644 --- a/src/views/users.html +++ b/src/views/users.html @@ -501,7 +501,7 @@ - + diff --git a/src/views/users.js b/src/views/users.js index e10c588a8..823c892f9 100644 --- a/src/views/users.js +++ b/src/views/users.js @@ -67,6 +67,41 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio submit: function () { $scope.transferOwnership.busy = true; + + // first grant other user owner role, then remove it from existing + var data = { + id: $scope.transferOwnership.userInfo.id, + role: 'owner' + }; + + Client.updateUser(data, function (error) { + if (error) { + $scope.transferOwnership.busy = false; + $scope.transferOwnership.error = error.message; + console.error('Unable to change user role:', error); + return; + } + + data = { + id: $scope.userInfo.id, + role: 'user' + }; + + Client.updateUser(data, function (error) { + $scope.transferOwnership.busy = false; + + if (error) { + $scope.transferOwnership.error = error.message; + console.error('Unable to change user role:', error); + return; + } + + $('#transferOwnershipModal').modal('hide'); + + // current user was demoted, reload to refresh UI state + window.location.reload(); + }); + }); } };