diff --git a/public/app/features/admin/AdminEditUserCtrl.ts b/public/app/features/admin/AdminEditUserCtrl.ts index 27e2e445c94..70a6b6d4fe8 100644 --- a/public/app/features/admin/AdminEditUserCtrl.ts +++ b/public/app/features/admin/AdminEditUserCtrl.ts @@ -86,9 +86,7 @@ export default class AdminEditUserCtrl { $scope.updatePermissions = () => { const payload = $scope.permissions; - backendSrv.put('/api/admin/users/' + $scope.user_id + '/permissions', payload).then(() => { - $location.path('/admin/users'); - }); + backendSrv.put('/api/admin/users/' + $scope.user_id + '/permissions', payload); }; $scope.create = () => { @@ -163,6 +161,36 @@ export default class AdminEditUserCtrl { }); }; + $scope.deleteUser = (user: any) => { + $scope.appEvent('confirm-modal', { + title: 'Delete', + text: 'Do you want to delete ' + user.login + '?', + icon: 'fa-trash', + yesText: 'Delete', + onConfirm: () => { + backendSrv.delete('/api/admin/users/' + user.id).then(() => { + $location.path('/admin/users'); + }); + }, + }); + }; + + $scope.disableUser = event => { + const user = $scope.user; + + // External user can not be disabled + if (user.authModule) { + event.preventDefault(); + event.stopPropagation(); + return; + } + + const actionEndpoint = user.isDisabled ? '/enable' : '/disable'; + backendSrv.post('/api/admin/users/' + user.id + actionEndpoint).then(() => { + $scope.init(); + }); + }; + $scope.init(); } } diff --git a/public/app/features/admin/AdminListUsersCtrl.ts b/public/app/features/admin/AdminListUsersCtrl.ts index 48c1e1705f6..3f1e1e1bf51 100644 --- a/public/app/features/admin/AdminListUsersCtrl.ts +++ b/public/app/features/admin/AdminListUsersCtrl.ts @@ -12,7 +12,7 @@ export default class AdminListUsersCtrl { navModel: any; /** @ngInject */ - constructor(private $scope: any, private backendSrv: BackendSrv, navModelSrv: NavModelSrv) { + constructor(private backendSrv: BackendSrv, navModelSrv: NavModelSrv) { this.navModel = navModelSrv.getNav('admin', 'global-users', 0); this.query = ''; this.getUsers(); @@ -40,17 +40,10 @@ export default class AdminListUsersCtrl { this.getUsers(); } - deleteUser(user: any) { - this.$scope.appEvent('confirm-modal', { - title: 'Delete', - text: 'Do you want to delete ' + user.login + '?', - icon: 'fa-trash', - yesText: 'Delete', - onConfirm: () => { - this.backendSrv.delete('/api/admin/users/' + user.id).then(() => { - this.getUsers(); - }); - }, - }); + getAuthModule(user: any) { + if (user.authModule && user.authModule.length) { + return user.authModule[0]; + } + return undefined; } } diff --git a/public/app/features/admin/partials/edit_user.html b/public/app/features/admin/partials/edit_user.html index a41eef89ad2..12bfbe8f722 100644 --- a/public/app/features/admin/partials/edit_user.html +++ b/public/app/features/admin/partials/edit_user.html @@ -1,135 +1,179 @@
+

Edit User

+
+
+ Name + +
+
+ Email + +
+
+ Username + +
-

Edit User

+
+ +
+
+

Change password

-
-
- Name - -
-
- Email - -
-
- Username - -
+ +
+ New password + +
-
- -
-
+
+ +
+ -

Change password

+

Permissions

-
-
- New password - -
+ +
+ +
+
-
- -
- +

Organizations

-

Permissions

+
+
+
+ Add + +
+
+ Role + + + +
+
+ +
+
+
-
-
- -
+
+ + + + + + + + + + + + + +
NameRole
{{org.name}} Current +
+ + + +
+
+ + + +
+
-
- -
-
+

Sessions

-

Organizations

+
+ + + + + + + + + + + + + + + + + + + + +
Last seenLogged onIP addressBrowser & OS
Now{{session.seenAt}}{{session.createdAt}}{{session.clientIp}}{{session.browser}} on {{session.os}} {{session.osVersion}} + +
+
-
-
-
- Add - -
-
- Role - - - -
-
- -
-
-
+ -
- - - - - - - - - - - - - -
NameRole
- {{org.name}} Current - -
- - - -
-
- - - -
-
- -

Sessions

- -
- - - - - - - - - - - - - - - - - - - - -
Last seenLogged onIP addressBrowser & OS
Now{{session.seenAt}}{{session.createdAt}}{{session.clientIp}}{{session.browser}} on {{session.os}} {{session.osVersion}} - -
-
- - +
+

User status

+
+ + + +
+
diff --git a/public/app/features/admin/partials/users.html b/public/app/features/admin/partials/users.html index dd8c8c2c2ad..da33deeef0c 100644 --- a/public/app/features/admin/partials/users.html +++ b/public/app/features/admin/partials/users.html @@ -55,9 +55,10 @@ - - - + LDAP + + + Disabled diff --git a/public/sass/components/_tags.scss b/public/sass/components/_tags.scss index 4451f2ee8a6..ce5d427d15b 100644 --- a/public/sass/components/_tags.scss +++ b/public/sass/components/_tags.scss @@ -29,9 +29,25 @@ top: 1px; padding-right: 4px; } -} -.label-tag:hover { - opacity: 0.85; - background-color: darken($purple, 10%); + &.muted { + opacity: 0.85; + background-color: darken($purple, 10%); + color: $text-muted; + } + + &:hover { + opacity: 0.85; + background-color: darken($purple, 10%); + } + + &--gray { + opacity: 0.85; + background-color: $gray-1; + border-color: $gray-2; + + &:hover { + background-color: $gray-1; + } + } }