Improve ACL editor

pull/110/head
Francis Lachapelle 2015-10-09 16:49:08 -04:00
parent 84f4698225
commit 05515673b7
2 changed files with 37 additions and 31 deletions

View File

@ -19,9 +19,36 @@
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<md-dialog-content class="layout-padding">
<div layout="row">
<md-icon>search</md-icon>
<md-autocomplete
class="md-flex"
md-input-name="addUser"
md-search-text="acl.searchText"
md-selected-item="acl.userToAdd"
md-selected-item-change="acl.addUser(user)"
md-items="user in acl.userFilter(acl.searchText)"
md-item-text="user.empty"
md-min-length="3"
md-delay="300"
md-no-cache="true"
label:md-floating-label="Add User">
<md-item-template>
<span class="md-contact-suggestion">
<span class="md-contact-name"
md-highlight-text="acl.searchText"
md-highlight-flags="^i">{{user.cn}}</span>
<span class="md-contact-email"
md-highlight-text="acl.searchText"
md-highlight-flags="^i">{{user.c_email}}</span>
</span>
</md-item-template>
</md-autocomplete>
</div>
<md-card ng-repeat="user in acl.users | orderBy:['userClass', 'displayName']"
ng-class="{ 'sg-collapsed': user.uid != acl.selectedUser.uid, 'sg-expanded': user.uid == acl.selectedUser.uid }">
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">
@ -37,14 +64,14 @@
<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"
<md-button class="md-icon-button" type="button"
ng-click="acl.removeUser(user)"
ng-hide="user.uid != acl.selectedUser.uid || user.$isSpecial()">
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.selectedUser.uid">
<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"
@ -68,30 +95,7 @@
</md-dialog-content>
<div ng-hide="acl.confirmation.showing" class="md-actions">
<md-autocomplete
class="md-flex"
md-input-name="addUser"
md-search-text="acl.searchText"
md-selected-item="acl.userToAdd"
md-selected-item-change="acl.addUser(user)"
md-items="user in acl.userFilter(acl.searchText)"
md-item-text="user.empty"
md-min-length="3"
md-delay="300"
md-no-cache="true"
label:md-floating-label="Add User">
<md-item-template>
<span class="md-contact-suggestion">
<span class="md-contact-name"
md-highlight-text="acl.searchText"
md-highlight-flags="^i">{{user.cn}}</span>
<span class="md-contact-email"
md-highlight-text="acl.searchText"
md-highlight-flags="^i">{{user.c_email}}</span>
</span>
</md-item-template>
</md-autocomplete>
<md-button ng-click="acl.saveModal()"><var:string label:value="Save"/></md-button>
<md-button class="md-primary" ng-click="acl.saveModal()"><var:string label:value="Save"/></md-button>
</div>
<div class="md-actions" ng-show="acl.confirmation.showing">
<span>{{acl.confirmation.message}}</span>

View File

@ -13,6 +13,7 @@
vm.users = usersWithACL; // ACL users
vm.folder = folder;
vm.selectedUser = null;
vm.selectedUid = null;
vm.userToAdd = '';
vm.searchText = '';
vm.userFilter = userFilter;
@ -68,10 +69,11 @@
}
function selectUser(user) {
if (vm.selectedUser == user) {
vm.selectedUser = null;
if (vm.selectedUid == user.uid) {
vm.selectedUid = null;
}
else {
vm.selectedUid = user.uid;
vm.selectedUser = user;
vm.selectedUser.$rights();
}