diff --git a/public/app/features/admin/AdminEditUserCtrl.ts b/public/app/features/admin/AdminEditUserCtrl.ts
deleted file mode 100644
index e5f06ff1879..00000000000
--- a/public/app/features/admin/AdminEditUserCtrl.ts
+++ /dev/null
@@ -1,224 +0,0 @@
-import _ from 'lodash';
-import { getBackendSrv } from '@grafana/runtime';
-import { NavModelSrv } from 'app/core/core';
-import { User } from 'app/core/services/context_srv';
-import { UserSession, Scope, CoreEvents, AppEventEmitter } from 'app/types';
-import { dateTimeFormatTimeAgo, dateTimeFormat } from '@grafana/data';
-import { promiseToDigest } from 'app/core/utils/promiseToDigest';
-
-export default class AdminEditUserCtrl {
- /** @ngInject */
- constructor($scope: Scope & AppEventEmitter, $routeParams: any, $location: any, navModelSrv: NavModelSrv) {
- $scope.user = {};
- $scope.sessions = [];
- $scope.newOrg = { name: '', role: 'Editor' };
- $scope.permissions = {};
- $scope.navModel = navModelSrv.getNav('admin', 'global-users', 0);
-
- $scope.init = () => {
- if ($routeParams.id) {
- promiseToDigest($scope)(
- Promise.all([
- $scope.getUser($routeParams.id),
- $scope.getUserSessions($routeParams.id),
- $scope.getUserOrgs($routeParams.id),
- ])
- );
- }
- };
-
- $scope.getUser = (id: number) => {
- return getBackendSrv()
- .get('/api/users/' + id)
- .then((user: User) => {
- $scope.user = user;
- $scope.user_id = id;
- $scope.permissions.isGrafanaAdmin = user.isGrafanaAdmin;
- });
- };
-
- $scope.getUserSessions = (id: number) => {
- return getBackendSrv()
- .get('/api/admin/users/' + id + '/auth-tokens')
- .then((sessions: UserSession[]) => {
- sessions.reverse();
-
- $scope.sessions = sessions.map((session: UserSession) => {
- return {
- id: session.id,
- isActive: session.isActive,
- seenAt: dateTimeFormatTimeAgo(session.seenAt),
- createdAt: dateTimeFormat(session.createdAt, { format: 'MMMM DD, YYYY' }),
- clientIp: session.clientIp,
- browser: session.browser,
- browserVersion: session.browserVersion,
- os: session.os,
- osVersion: session.osVersion,
- device: session.device,
- };
- });
- });
- };
-
- $scope.revokeUserSession = (tokenId: number) => {
- promiseToDigest($scope)(
- getBackendSrv()
- .post('/api/admin/users/' + $scope.user_id + '/revoke-auth-token', {
- authTokenId: tokenId,
- })
- .then(() => {
- $scope.sessions = $scope.sessions.filter((session: UserSession) => {
- if (session.id === tokenId) {
- return false;
- }
- return true;
- });
- })
- );
- };
-
- $scope.revokeAllUserSessions = (tokenId: number) => {
- promiseToDigest($scope)(
- getBackendSrv()
- .post('/api/admin/users/' + $scope.user_id + '/logout')
- .then(() => {
- $scope.sessions = [];
- })
- );
- };
-
- $scope.setPassword = () => {
- if (!$scope.passwordForm.$valid) {
- return;
- }
-
- const payload = { password: $scope.password };
-
- promiseToDigest($scope)(
- getBackendSrv()
- .put('/api/admin/users/' + $scope.user_id + '/password', payload)
- .then(() => {
- $location.path('/admin/users');
- })
- );
- };
-
- $scope.updatePermissions = () => {
- const payload = $scope.permissions;
- getBackendSrv().put('/api/admin/users/' + $scope.user_id + '/permissions', payload);
- };
-
- $scope.getUserOrgs = (id: number) => {
- return getBackendSrv()
- .get('/api/users/' + id + '/orgs')
- .then((orgs: any) => {
- $scope.orgs = orgs;
- });
- };
-
- $scope.update = () => {
- if (!$scope.userForm.$valid) {
- return;
- }
-
- promiseToDigest($scope)(
- getBackendSrv()
- .put('/api/users/' + $scope.user_id, $scope.user)
- .then(() => {
- $location.path('/admin/users');
- })
- );
- };
-
- $scope.updateOrgUser = (orgUser: { orgId: string }) => {
- promiseToDigest($scope)(
- getBackendSrv().patch('/api/orgs/' + orgUser.orgId + '/users/' + $scope.user_id, orgUser)
- );
- };
-
- $scope.removeOrgUser = (orgUser: { orgId: string }) => {
- promiseToDigest($scope)(
- getBackendSrv()
- .delete('/api/orgs/' + orgUser.orgId + '/users/' + $scope.user_id)
- .then(() => Promise.all([$scope.getUser($scope.user_id), $scope.getUserOrgs($scope.user_id)]))
- );
- };
-
- $scope.orgsSearchCache = [];
-
- $scope.searchOrgs = (queryStr: any, callback: any) => {
- if ($scope.orgsSearchCache.length > 0) {
- callback(_.map($scope.orgsSearchCache, 'name'));
- return;
- }
-
- promiseToDigest($scope)(
- getBackendSrv()
- .get('/api/orgs', { query: '' })
- .then((result: any) => {
- $scope.orgsSearchCache = result;
- callback(_.map(result, 'name'));
- })
- );
- };
-
- $scope.addOrgUser = () => {
- if (!$scope.addOrgForm.$valid) {
- return;
- }
-
- const orgInfo: any = _.find($scope.orgsSearchCache, {
- name: $scope.newOrg.name,
- });
-
- if (!orgInfo) {
- return;
- }
-
- $scope.newOrg.loginOrEmail = $scope.user.login;
-
- promiseToDigest($scope)(
- getBackendSrv()
- .post('/api/orgs/' + orgInfo.id + '/users/', $scope.newOrg)
- .then(() => Promise.all([$scope.getUser($scope.user_id), $scope.getUserOrgs($scope.user_id)]))
- );
- };
-
- $scope.deleteUser = (user: any) => {
- $scope.appEvent(CoreEvents.showConfirmModal, {
- title: 'Delete',
- text: 'Do you want to delete ' + user.login + '?',
- icon: 'trash-alt',
- yesText: 'Delete',
- onConfirm: () => {
- promiseToDigest($scope)(
- getBackendSrv()
- .delete('/api/admin/users/' + user.id)
- .then(() => {
- $location.path('/admin/users');
- })
- );
- },
- });
- };
-
- $scope.disableUser = (event: any) => {
- const user = $scope.user;
-
- // External user can not be disabled
- if (user.isExternal) {
- event.preventDefault();
- event.stopPropagation();
- return;
- }
-
- const actionEndpoint = user.isDisabled ? '/enable' : '/disable';
-
- getBackendSrv()
- .post('/api/admin/users/' + user.id + actionEndpoint)
- .then(() => $scope.init());
- };
-
- $scope.init();
- }
-}
diff --git a/public/app/features/admin/index.ts b/public/app/features/admin/index.ts
index 36a1feccf68..71ad689da0c 100644
--- a/public/app/features/admin/index.ts
+++ b/public/app/features/admin/index.ts
@@ -1,4 +1,3 @@
-import AdminEditUserCtrl from './AdminEditUserCtrl';
import AdminEditOrgCtrl from './AdminEditOrgCtrl';
import coreModule from 'app/core/core_module';
@@ -13,6 +12,5 @@ class AdminHomeCtrl {
}
}
-coreModule.controller('AdminEditUserCtrl', AdminEditUserCtrl);
coreModule.controller('AdminEditOrgCtrl', AdminEditOrgCtrl);
coreModule.controller('AdminHomeCtrl', AdminHomeCtrl);
diff --git a/public/app/features/admin/partials/edit_user.html b/public/app/features/admin/partials/edit_user.html
deleted file mode 100644
index d83f56f7cf6..00000000000
--- a/public/app/features/admin/partials/edit_user.html
+++ /dev/null
@@ -1,186 +0,0 @@
-
| Name | -Role | -- |
|---|---|---|
| {{org.name}} Current | -
-
-
-
-
-
- |
-
-
- |
-
| Last seen | -Logged on | -IP address | -Browser & OS | -- | |
|---|---|---|---|---|---|
| Now | -{{session.seenAt}} | -{{session.createdAt}} | -{{session.clientIp}} | -{{session.browser}} on {{session.os}} {{session.osVersion}} | -- - | -