mirror of
https://github.com/portainer/portainer.git
synced 2025-07-31 03:09:44 +02:00
feat(global): introduce user teams and new UAC system (#868)
This commit is contained in:
parent
a380fd9adc
commit
5523fc9023
160 changed files with 7112 additions and 3166 deletions
42
app/helpers/resourceControlHelper.js
Normal file
42
app/helpers/resourceControlHelper.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
angular.module('portainer.helpers')
|
||||
.factory('ResourceControlHelper', [function ResourceControlHelperFactory() {
|
||||
'use strict';
|
||||
var helper = {};
|
||||
|
||||
helper.retrieveAuthorizedUsers = function(resourceControl, users) {
|
||||
var authorizedUserNames = [];
|
||||
angular.forEach(resourceControl.UserAccesses, function(access) {
|
||||
var user = _.find(users, { Id: access.UserId });
|
||||
if (user) {
|
||||
authorizedUserNames.push(user);
|
||||
}
|
||||
});
|
||||
return authorizedUserNames;
|
||||
};
|
||||
|
||||
helper.retrieveAuthorizedTeams = function(resourceControl, teams) {
|
||||
var authorizedTeamNames = [];
|
||||
angular.forEach(resourceControl.TeamAccesses, function(access) {
|
||||
var team = _.find(teams, { Id: access.TeamId });
|
||||
if (team) {
|
||||
authorizedTeamNames.push(team);
|
||||
}
|
||||
});
|
||||
return authorizedTeamNames;
|
||||
};
|
||||
|
||||
helper.isLeaderOfAnyRestrictedTeams = function(userMemberships, resourceControl) {
|
||||
var isTeamLeader = false;
|
||||
for (var i = 0; i < userMemberships.length; i++) {
|
||||
var membership = userMemberships[i];
|
||||
var found = _.find(resourceControl.TeamAccesses, { TeamId :membership.TeamId });
|
||||
if (found && membership.Role === 1) {
|
||||
isTeamLeader = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return isTeamLeader;
|
||||
};
|
||||
|
||||
return helper;
|
||||
}]);
|
Loading…
Add table
Add a link
Reference in a new issue