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);