mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-02 13:46:23 +00:00
80 lines
2.0 KiB
JavaScript
80 lines
2.0 KiB
JavaScript
/* -*- 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);
|
|
|
|
})();
|