mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-22 03:45:25 +00:00
(feat) first pass of working code for ACL admin module
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* JavaScript for SOGoAdministration */
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
AdministrationAclController.$inject = ['$state', '$mdToast', 'stateFolder', 'User'];
|
||||
function AdministrationAclController($state, $mdToast, stateFolder, User) {
|
||||
var vm = this;
|
||||
|
||||
vm.selectedUser = null;
|
||||
vm.getTemplate = getTemplate;
|
||||
vm.selectUser = selectUser;
|
||||
vm.save = save;
|
||||
|
||||
vm.userToAdd = '';
|
||||
vm.searchText = '';
|
||||
vm.userFilter = userFilter;
|
||||
vm.addUser = addUser;
|
||||
|
||||
stateFolder.$acl.$users(stateFolder.owner).then(function(data) {
|
||||
vm.users = data;
|
||||
});
|
||||
|
||||
function getTemplate() {
|
||||
if (angular.isDefined(stateFolder.$cards))
|
||||
return '../' + stateFolder.owner + '/Contacts/' + stateFolder.id + '/UIxContactsUserRightsEditor';
|
||||
|
||||
return '../' + stateFolder.owner + '/Calendar/' + stateFolder.id + '/UIxCalUserRightsEditor';
|
||||
}
|
||||
|
||||
function selectUser(user) {
|
||||
if (vm.selectedUser == user) {
|
||||
vm.selectedUser = null;
|
||||
}
|
||||
else {
|
||||
vm.selectedUser = user;
|
||||
vm.selectedUser.$rights();
|
||||
}
|
||||
}
|
||||
|
||||
function userFilter($query) {
|
||||
return User.$filter($query, stateFolder.$acl.users);
|
||||
}
|
||||
|
||||
function addUser(data) {
|
||||
if (data) {
|
||||
stateFolder.$acl.$addUser(data, stateFolder.owner).then(function() {
|
||||
vm.userToAdd = '';
|
||||
vm.searchText = '';
|
||||
}, function(error) {
|
||||
Dialog.alert(l('Warning'), error);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function save() {
|
||||
stateFolder.$acl.$saveUsersRights(stateFolder.owner).then(function() {
|
||||
$mdToast.show(
|
||||
$mdToast.simple()
|
||||
.content(l('ACLs saved'))
|
||||
.position('top right')
|
||||
.hideDelay(3000)
|
||||
);
|
||||
}, function(data, status) {
|
||||
Dialog.alert(l('Warning'), l('An error occured please try again.'));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
angular
|
||||
.module('SOGo.AdministrationUI')
|
||||
.controller('AdministrationAclController', AdministrationAclController);
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user