admin_edit_org_ctrl.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import angular from 'angular';
  2. export class AdminEditOrgCtrl {
  3. /** @ngInject */
  4. constructor($scope, $routeParams, backendSrv, $location, navModelSrv) {
  5. $scope.init = () => {
  6. $scope.navModel = navModelSrv.getNav('cfg', 'admin', 'global-orgs', 1);
  7. if ($routeParams.id) {
  8. $scope.getOrg($routeParams.id);
  9. $scope.getOrgUsers($routeParams.id);
  10. }
  11. };
  12. $scope.getOrg = id => {
  13. backendSrv.get('/api/orgs/' + id).then(org => {
  14. $scope.org = org;
  15. });
  16. };
  17. $scope.getOrgUsers = id => {
  18. backendSrv.get('/api/orgs/' + id + '/users').then(orgUsers => {
  19. $scope.orgUsers = orgUsers;
  20. });
  21. };
  22. $scope.update = () => {
  23. if (!$scope.orgDetailsForm.$valid) {
  24. return;
  25. }
  26. backendSrv.put('/api/orgs/' + $scope.org.id, $scope.org).then(() => {
  27. $location.path('/admin/orgs');
  28. });
  29. };
  30. $scope.updateOrgUser = orgUser => {
  31. backendSrv.patch('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId, orgUser);
  32. };
  33. $scope.removeOrgUser = orgUser => {
  34. backendSrv.delete('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId).then(() => {
  35. $scope.getOrgUsers($scope.org.id);
  36. });
  37. };
  38. $scope.init();
  39. }
  40. }
  41. angular.module('grafana.controllers').controller('AdminEditOrgCtrl', AdminEditOrgCtrl);