admin_edit_org_ctrl.ts 1.4 KB

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