mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 17:43:35 -06:00
67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
define([
|
|
'angular',
|
|
],
|
|
function (angular) {
|
|
'use strict';
|
|
|
|
var module = angular.module('grafana.controllers');
|
|
|
|
module.controller('OrgUsersCtrl', function($scope, $http, backendSrv) {
|
|
|
|
$scope.user = {
|
|
loginOrEmail: '',
|
|
role: 'Viewer',
|
|
};
|
|
|
|
$scope.users = [];
|
|
$scope.pendingInvites = [];
|
|
|
|
$scope.init = function() {
|
|
$scope.get();
|
|
$scope.editor = { index: 0 };
|
|
};
|
|
|
|
$scope.get = function() {
|
|
backendSrv.get('/api/org/users').then(function(users) {
|
|
$scope.users = users;
|
|
});
|
|
backendSrv.get('/api/org/invites').then(function(pendingInvites) {
|
|
$scope.pendingInvites = pendingInvites;
|
|
});
|
|
};
|
|
|
|
$scope.updateOrgUser = function(user) {
|
|
backendSrv.patch('/api/org/users/' + user.userId, user);
|
|
};
|
|
|
|
$scope.removeUser = function(user) {
|
|
backendSrv.delete('/api/org/users/' + user.userId).then($scope.get);
|
|
};
|
|
|
|
$scope.revokeInvite = function(invite, evt) {
|
|
evt.stopPropagation();
|
|
backendSrv.patch('/api/org/invites/' + invite.code + '/revoke').then($scope.get);
|
|
};
|
|
|
|
$scope.copyInviteToClipboard = function(evt) {
|
|
evt.stopPropagation();
|
|
};
|
|
|
|
$scope.openInviteModal = function() {
|
|
var modalScope = $scope.$new();
|
|
modalScope.invitesSent = function() {
|
|
$scope.get();
|
|
};
|
|
|
|
$scope.appEvent('show-modal', {
|
|
src: './app/features/org/partials/invite.html',
|
|
modalClass: 'modal-no-header invite-modal',
|
|
scope: modalScope
|
|
});
|
|
};
|
|
|
|
$scope.init();
|
|
|
|
});
|
|
});
|