userInviteCtrl.js 980 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. define([
  2. 'angular',
  3. 'lodash',
  4. ],
  5. function (angular, _) {
  6. 'use strict';
  7. var module = angular.module('grafana.controllers');
  8. module.controller('UserInviteCtrl', function($scope, backendSrv, $q) {
  9. $scope.invites = [
  10. {name: '', email: '', role: 'Editor'},
  11. ];
  12. $scope.options = {skipEmails: false};
  13. $scope.init = function() { };
  14. $scope.addInvite = function() {
  15. $scope.invites.push({name: '', email: '', role: 'Editor'});
  16. };
  17. $scope.removeInvite = function(invite) {
  18. $scope.invites = _.without($scope.invites, invite);
  19. };
  20. $scope.sendInvites = function() {
  21. if (!$scope.inviteForm.$valid) { return; }
  22. var promises = _.map($scope.invites, function(invite) {
  23. invite.skipEmails = $scope.options.skipEmails;
  24. return backendSrv.post('/api/org/invites', invite);
  25. });
  26. $q.all(promises).then(function() {
  27. $scope.invitesSent();
  28. });
  29. $scope.dismiss();
  30. };
  31. });
  32. });