Improve ACL editor
This commit is contained in:
parent
84f4698225
commit
05515673b7
|
@ -19,55 +19,9 @@
|
||||||
</md-button>
|
</md-button>
|
||||||
</div>
|
</div>
|
||||||
</md-toolbar>
|
</md-toolbar>
|
||||||
<md-dialog-content>
|
<md-dialog-content class="layout-padding">
|
||||||
<md-card ng-repeat="user in acl.users | orderBy:['userClass', 'displayName']"
|
<div layout="row">
|
||||||
ng-class="{ 'sg-collapsed': user.uid != acl.selectedUser.uid, 'sg-expanded': user.uid == acl.selectedUser.uid }">
|
<md-icon>search</md-icon>
|
||||||
<md-button ng-click="acl.selectUser(user)">
|
|
||||||
<div layout="row" layout-align="start center" class="md-flex">
|
|
||||||
<span class="card-picture" ng-switch="user.userClass">
|
|
||||||
<div ng-switch-when="normal-user">
|
|
||||||
<sg-avatar-image class="md-avatar"
|
|
||||||
sg-email="user.c_email"
|
|
||||||
size="40"><!-- avatar --></sg-avatar-image>
|
|
||||||
</div>
|
|
||||||
<div ng-switch-when="normal-group" class="md-avatar sg-avatar-list"><!-- normal-group --></div>
|
|
||||||
<div ng-switch-when="public-user" class="md-avatar sg-avatar-list"><!-- public-user --></div>
|
|
||||||
</span>
|
|
||||||
<div class="sg-tile-content">
|
|
||||||
<div class="sg-md-subhead"><div>{{user.cn}}</div></div>
|
|
||||||
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
|
||||||
</div>
|
|
||||||
<md-button class="sg-icon-button" type="button"
|
|
||||||
ng-click="acl.removeUser(user)"
|
|
||||||
ng-hide="user.uid != acl.selectedUser.uid || user.$isSpecial()">
|
|
||||||
<md-icon>delete</md-icon>
|
|
||||||
</md-button>
|
|
||||||
</div>
|
|
||||||
</md-button>
|
|
||||||
<md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUser.uid">
|
|
||||||
<var:if condition="canSubscribeUsers">
|
|
||||||
<md-checkbox ng-model="user.isSubscribed"
|
|
||||||
label:arial-label="Subscribe User"
|
|
||||||
ng-disabled="user.wasSubscribed"
|
|
||||||
ng-true-value="1"
|
|
||||||
ng-false-value="0"
|
|
||||||
ng-hide="user.$isSpecial()">
|
|
||||||
<var:string label:value="Subscribe User"/>
|
|
||||||
</md-checkbox>
|
|
||||||
</var:if>
|
|
||||||
<div ng-include="'UIxUserRightsEditor'">
|
|
||||||
<!--
|
|
||||||
Load ng-template #UIxUserRightsEditor from main module wox. Inner wox templates are:
|
|
||||||
- UI/Templates/ContactsUI/UIxContactsUserRightsEditor.wox
|
|
||||||
- UI/Templates/MailerUI/UIxMailUserRightsEditor.wox
|
|
||||||
- UI/Templates/SchedulerUI/UIxCalUserRightsEditor.wox
|
|
||||||
-->
|
|
||||||
</div>
|
|
||||||
</md-card-content>
|
|
||||||
</md-card>
|
|
||||||
</md-dialog-content>
|
|
||||||
|
|
||||||
<div ng-hide="acl.confirmation.showing" class="md-actions">
|
|
||||||
<md-autocomplete
|
<md-autocomplete
|
||||||
class="md-flex"
|
class="md-flex"
|
||||||
md-input-name="addUser"
|
md-input-name="addUser"
|
||||||
|
@ -91,7 +45,57 @@
|
||||||
</span>
|
</span>
|
||||||
</md-item-template>
|
</md-item-template>
|
||||||
</md-autocomplete>
|
</md-autocomplete>
|
||||||
<md-button ng-click="acl.saveModal()"><var:string label:value="Save"/></md-button>
|
</div>
|
||||||
|
<md-card ng-repeat="user in acl.users | orderBy:['userClass', 'displayName']"
|
||||||
|
class="sg-collapsed"
|
||||||
|
ng-class="{ 'sg-expanded': user.uid == acl.selectedUid }">
|
||||||
|
<md-button ng-click="acl.selectUser(user)">
|
||||||
|
<div layout="row" layout-align="start center" class="md-flex">
|
||||||
|
<span class="card-picture" ng-switch="user.userClass">
|
||||||
|
<div ng-switch-when="normal-user">
|
||||||
|
<sg-avatar-image class="md-avatar"
|
||||||
|
sg-email="user.c_email"
|
||||||
|
size="40"><!-- avatar --></sg-avatar-image>
|
||||||
|
</div>
|
||||||
|
<div ng-switch-when="normal-group" class="md-avatar sg-avatar-list"><!-- normal-group --></div>
|
||||||
|
<div ng-switch-when="public-user" class="md-avatar sg-avatar-list"><!-- public-user --></div>
|
||||||
|
</span>
|
||||||
|
<div class="sg-tile-content">
|
||||||
|
<div class="sg-md-subhead"><div>{{user.cn}}</div></div>
|
||||||
|
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
||||||
|
</div>
|
||||||
|
<md-button class="md-icon-button" type="button"
|
||||||
|
ng-click="acl.removeUser(user)"
|
||||||
|
ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
|
||||||
|
<md-icon>delete</md-icon>
|
||||||
|
</md-button>
|
||||||
|
</div>
|
||||||
|
</md-button>
|
||||||
|
<md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUid">
|
||||||
|
<var:if condition="canSubscribeUsers">
|
||||||
|
<md-checkbox ng-model="user.isSubscribed"
|
||||||
|
label:arial-label="Subscribe User"
|
||||||
|
ng-disabled="user.wasSubscribed"
|
||||||
|
ng-true-value="1"
|
||||||
|
ng-false-value="0"
|
||||||
|
ng-hide="user.$isSpecial()">
|
||||||
|
<var:string label:value="Subscribe User"/>
|
||||||
|
</md-checkbox>
|
||||||
|
</var:if>
|
||||||
|
<div ng-include="'UIxUserRightsEditor'">
|
||||||
|
<!--
|
||||||
|
Load ng-template #UIxUserRightsEditor from main module wox. Inner wox templates are:
|
||||||
|
- UI/Templates/ContactsUI/UIxContactsUserRightsEditor.wox
|
||||||
|
- UI/Templates/MailerUI/UIxMailUserRightsEditor.wox
|
||||||
|
- UI/Templates/SchedulerUI/UIxCalUserRightsEditor.wox
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
</md-card-content>
|
||||||
|
</md-card>
|
||||||
|
</md-dialog-content>
|
||||||
|
|
||||||
|
<div ng-hide="acl.confirmation.showing" class="md-actions">
|
||||||
|
<md-button class="md-primary" ng-click="acl.saveModal()"><var:string label:value="Save"/></md-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-actions" ng-show="acl.confirmation.showing">
|
<div class="md-actions" ng-show="acl.confirmation.showing">
|
||||||
<span>{{acl.confirmation.message}}</span>
|
<span>{{acl.confirmation.message}}</span>
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
vm.users = usersWithACL; // ACL users
|
vm.users = usersWithACL; // ACL users
|
||||||
vm.folder = folder;
|
vm.folder = folder;
|
||||||
vm.selectedUser = null;
|
vm.selectedUser = null;
|
||||||
|
vm.selectedUid = null;
|
||||||
vm.userToAdd = '';
|
vm.userToAdd = '';
|
||||||
vm.searchText = '';
|
vm.searchText = '';
|
||||||
vm.userFilter = userFilter;
|
vm.userFilter = userFilter;
|
||||||
|
@ -68,10 +69,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectUser(user) {
|
function selectUser(user) {
|
||||||
if (vm.selectedUser == user) {
|
if (vm.selectedUid == user.uid) {
|
||||||
vm.selectedUser = null;
|
vm.selectedUid = null;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
vm.selectedUid = user.uid;
|
||||||
vm.selectedUser = user;
|
vm.selectedUser = user;
|
||||||
vm.selectedUser.$rights();
|
vm.selectedUser.$rights();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue