sogo/UI/Templates/UIxAclEditor.wox

116 lines
5.1 KiB
XML

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:label="OGo:label"
>
<md-dialog flex="50" flex-sm="80" flex-xs="100">
<md-toolbar ng-class="!acl.folder.getClassName || acl.folder.getClassName('bg')">
<div class="md-toolbar-tools">
<md-icon class="material-icons sg-icon-toolbar-bg">folder_shared</md-icon>
<div class="pseudo-input-container md-flex">
<label class="pseudo-input-label"><var:string label:value="Access Rights"/></label>
<div class="sg-md-title">{{acl.folder.name}}</div>
</div>
<md-button class="md-icon-button" ng-click="acl.closeModal()">
<md-icon aria-label="Close dialog">close</md-icon>
</md-button>
</div>
</md-toolbar>
<md-dialog-content class="md-padding">
<div layout="row">
<md-icon>search</md-icon>
<md-autocomplete
class="md-flex sg-input-no-message"
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']"
class="sg-collapsed"
ng-class="{ 'sg-expanded': user.uid == acl.selectedUid }">
<a class="md-flex md-button" ng-click="acl.selectUser(user)">
<div layout="row" layout-align="start center">
<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 md-secondary" type="button"
ng-click="acl.removeUser(user)"
ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
<md-icon>delete</md-icon>
</md-button>
</div>
</a>
<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>
<md-dialog-actions ng-hide="acl.confirmation.showing">
<md-button class="md-primary" ng-click="acl.saveModal()"><var:string label:value="Save"/></md-button>
</md-dialog-actions>
<md-dialog-content class="md-default-theme md-bg md-warn md-padding sg-dialog-message ng-hide"
ng-show="acl.confirmation.showing">
<div>{{acl.confirmation.message}}</div>
</md-dialog-content>
<md-dialog-actions ng-show="acl.confirmation.showing">
<md-button ng-click="acl.selectedUser.$resetRights(true); acl.confirmation.showing = false">
<var:string label:value="Keep Private"/>
</md-button>
<md-button class="md-warn" ng-click="acl.confirmation.showing = false">
<var:string label:value="Give Access"/>
</md-button>
</md-dialog-actions>
</md-dialog>
</container>