dnet-core/dnet-modular-ui/src/main/resources/eu/dnetlib/web/resources/js/users.js

80 lines
1.8 KiB
JavaScript

var module = angular.module('usersUI', []);
function usersCtrl($scope, $http) {
$scope.users = [];
$scope.listUsers = function() {
showSpinner();
$http.get('users.get')
.success(
function(data) {
$scope.users = data;
hideSpinner();
}
).error(
function() {
show_notification("error", "Error accessing user permission levels");
hideSpinner();
}
);
}
$scope.addUser = function(user) {
if (user) {
user = user.trim();
if (user) {
var lngt = $scope.users.length;
for(i=0; i < lngt; i++) {
if ($scope.users[i].id == user) {
show_notification("error", "User " + user + " is already present");
return;
}
}
$scope.users.push( {'id' : user, 'permissionLevels': [] });
show_notification("info", "Added user: " + user);
}
}
}
$scope.dropUser = function(i) {
user = $scope.users[i].id;
$scope.users.splice(i, 1);
show_notification("info", "User " + user + " deleted");
}
$scope.updateUser = function(i, level, b) {
user = $scope.users[i];
pos = user.permissionLevels.indexOf(level);
if (b) {
if (pos < 0) user.permissionLevels.push(level);
} else {
if (pos >= 0) user.permissionLevels.splice(pos, 1);
}
//show_notification("info", "User " + user.id + " updated");
}
$scope.saveUsers = function() {
showSpinner();
$http.defaults.headers.post["Content-Type"] = "application/json";
$http.post('saveusers.do', $scope.users )
.success(
function(data) {
show_notification("info", "Users saved correctly");
hideSpinner();
}
).error(
function() {
show_notification("error", "Error saving users");
hideSpinner();
}
);
}
initSpinner();
$scope.listUsers();
}