2020-01-21 03:08:07 -06:00
|
|
|
import { getBackendSrv } from '@grafana/runtime';
|
2019-05-13 02:38:19 -05:00
|
|
|
import { NavModelSrv } from 'app/core/core';
|
2020-01-21 03:08:07 -06:00
|
|
|
import { promiseToDigest } from 'app/core/utils/promiseToDigest';
|
2019-05-13 02:38:19 -05:00
|
|
|
|
2018-09-07 10:55:38 -05:00
|
|
|
export default class AdminEditOrgCtrl {
|
2017-11-23 10:05:08 -06:00
|
|
|
/** @ngInject */
|
2020-01-21 03:08:07 -06:00
|
|
|
constructor($scope: any, $routeParams: any, $location: any, navModelSrv: NavModelSrv) {
|
2018-09-04 08:55:41 -05:00
|
|
|
$scope.init = () => {
|
2019-06-05 08:18:31 -05:00
|
|
|
$scope.navModel = navModelSrv.getNav('admin', 'global-orgs', 0);
|
2017-06-02 07:00:42 -05:00
|
|
|
|
2015-08-11 08:20:50 -05:00
|
|
|
if ($routeParams.id) {
|
2020-01-21 03:08:07 -06:00
|
|
|
promiseToDigest($scope)(Promise.all([$scope.getOrg($routeParams.id), $scope.getOrgUsers($routeParams.id)]));
|
2015-08-11 08:20:50 -05:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2019-05-13 02:38:19 -05:00
|
|
|
$scope.getOrg = (id: number) => {
|
2020-01-21 03:08:07 -06:00
|
|
|
return getBackendSrv()
|
|
|
|
.get('/api/orgs/' + id)
|
|
|
|
.then((org: any) => {
|
|
|
|
$scope.org = org;
|
|
|
|
});
|
2015-08-11 08:20:50 -05:00
|
|
|
};
|
|
|
|
|
2019-05-13 02:38:19 -05:00
|
|
|
$scope.getOrgUsers = (id: number) => {
|
2020-01-21 03:08:07 -06:00
|
|
|
return getBackendSrv()
|
|
|
|
.get('/api/orgs/' + id + '/users')
|
|
|
|
.then((orgUsers: any) => {
|
|
|
|
$scope.orgUsers = orgUsers;
|
|
|
|
});
|
2015-08-11 08:20:50 -05:00
|
|
|
};
|
|
|
|
|
2018-09-04 08:55:41 -05:00
|
|
|
$scope.update = () => {
|
2017-12-19 09:06:54 -06:00
|
|
|
if (!$scope.orgDetailsForm.$valid) {
|
|
|
|
return;
|
|
|
|
}
|
2015-08-11 08:20:50 -05:00
|
|
|
|
2020-01-21 03:08:07 -06:00
|
|
|
promiseToDigest($scope)(
|
|
|
|
getBackendSrv()
|
|
|
|
.put('/api/orgs/' + $scope.org.id, $scope.org)
|
|
|
|
.then(() => {
|
|
|
|
$location.path('/admin/orgs');
|
|
|
|
})
|
|
|
|
);
|
2015-08-11 08:20:50 -05:00
|
|
|
};
|
|
|
|
|
2019-05-13 02:38:19 -05:00
|
|
|
$scope.updateOrgUser = (orgUser: any) => {
|
2020-01-21 03:08:07 -06:00
|
|
|
getBackendSrv().patch('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId, orgUser);
|
2015-08-11 08:20:50 -05:00
|
|
|
};
|
|
|
|
|
2019-05-13 02:38:19 -05:00
|
|
|
$scope.removeOrgUser = (orgUser: any) => {
|
2020-01-21 03:08:07 -06:00
|
|
|
promiseToDigest($scope)(
|
|
|
|
getBackendSrv()
|
|
|
|
.delete('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId)
|
|
|
|
.then(() => $scope.getOrgUsers($scope.org.id))
|
|
|
|
);
|
2015-08-11 08:20:50 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
$scope.init();
|
2017-11-23 10:05:08 -06:00
|
|
|
}
|
|
|
|
}
|