admin_edit_org_ctrl.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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(
  32. '/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId,
  33. orgUser
  34. );
  35. };
  36. $scope.removeOrgUser = function(orgUser) {
  37. backendSrv
  38. .delete('/api/orgs/' + orgUser.orgId + '/users/' + orgUser.userId)
  39. .then(function() {
  40. $scope.getOrgUsers($scope.org.id);
  41. });
  42. };
  43. $scope.init();
  44. }
  45. }
  46. angular
  47. .module('grafana.controllers')
  48. .controller('AdminEditOrgCtrl', AdminEditOrgCtrl);