2015-01-19 11:57:25 -06:00
|
|
|
define([
|
|
|
|
'angular',
|
|
|
|
],
|
|
|
|
function (angular) {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var module = angular.module('grafana.controllers');
|
|
|
|
|
2015-02-23 11:29:01 -06:00
|
|
|
module.controller('OrgUsersCtrl', function($scope, $http, backendSrv) {
|
2015-01-19 11:57:25 -06:00
|
|
|
|
|
|
|
$scope.user = {
|
|
|
|
loginOrEmail: '',
|
|
|
|
role: 'Viewer',
|
|
|
|
};
|
|
|
|
|
2015-07-17 02:51:34 -05:00
|
|
|
$scope.users = [];
|
|
|
|
$scope.pendingInvites = [];
|
|
|
|
|
2015-01-19 11:57:25 -06:00
|
|
|
$scope.init = function() {
|
|
|
|
$scope.get();
|
2015-07-16 03:44:55 -05:00
|
|
|
$scope.editor = { index: 0 };
|
2015-01-19 11:57:25 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
$scope.get = function() {
|
2015-02-23 11:29:01 -06:00
|
|
|
backendSrv.get('/api/org/users').then(function(users) {
|
2015-01-19 11:57:25 -06:00
|
|
|
$scope.users = users;
|
|
|
|
});
|
2015-07-17 02:51:34 -05:00
|
|
|
backendSrv.get('/api/org/invites').then(function(pendingInvites) {
|
|
|
|
$scope.pendingInvites = pendingInvites;
|
|
|
|
});
|
2015-01-19 11:57:25 -06:00
|
|
|
};
|
|
|
|
|
2015-05-01 02:48:07 -05:00
|
|
|
$scope.updateOrgUser = function(user) {
|
|
|
|
backendSrv.patch('/api/org/users/' + user.userId, user);
|
|
|
|
};
|
|
|
|
|
2015-01-19 11:57:25 -06:00
|
|
|
$scope.removeUser = function(user) {
|
2015-02-23 11:29:01 -06:00
|
|
|
backendSrv.delete('/api/org/users/' + user.userId).then($scope.get);
|
2015-01-19 11:57:25 -06:00
|
|
|
};
|
|
|
|
|
2015-07-20 07:26:49 -05:00
|
|
|
$scope.revokeInvite = function(invite, evt) {
|
|
|
|
evt.stopPropagation();
|
2015-07-20 10:46:48 -05:00
|
|
|
backendSrv.patch('/api/org/invites/' + invite.code + '/revoke').then($scope.get);
|
2015-01-19 11:57:25 -06:00
|
|
|
};
|
|
|
|
|
2015-07-20 07:26:49 -05:00
|
|
|
$scope.copyInviteToClipboard = function(evt) {
|
|
|
|
evt.stopPropagation();
|
|
|
|
};
|
|
|
|
|
2015-07-16 03:44:55 -05:00
|
|
|
$scope.openInviteModal = function() {
|
2015-07-17 07:42:49 -05:00
|
|
|
var modalScope = $scope.$new();
|
|
|
|
modalScope.invitesSent = function() {
|
|
|
|
$scope.get();
|
|
|
|
};
|
|
|
|
|
2015-07-16 03:44:55 -05:00
|
|
|
$scope.appEvent('show-modal', {
|
2015-07-16 05:38:49 -05:00
|
|
|
src: './app/features/org/partials/invite.html',
|
2015-07-16 03:44:55 -05:00
|
|
|
modalClass: 'modal-no-header invite-modal',
|
2015-07-17 07:42:49 -05:00
|
|
|
scope: modalScope
|
2015-07-16 03:44:55 -05:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2015-01-19 11:57:25 -06:00
|
|
|
$scope.init();
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|