admin_edit_org_ctrl.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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');
  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) { return; }
  24. backendSrv.put('/api/orgs/' + $scope.org.id, $scope.org).then(function() {
  25. $location.path('/admin/orgs');
  26. });
  27. };
  28. $scope.updateOrgUser= function(orgUser) {
  29. backendSrv.patch('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId, orgUser);
  30. };
  31. $scope.removeOrgUser = function(orgUser) {
  32. backendSrv.delete('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId).then(function() {
  33. $scope.getOrgUsers($scope.org.id);
  34. });
  35. };
  36. $scope.init();
  37. }
  38. }
  39. angular.module('grafana.controllers').controller('AdminEditOrgCtrl', AdminEditOrgCtrl);