(js) Improve ACLs handling of inactive users
parent
831c1bc980
commit
d14b0b0b5e
9
NEWS
9
NEWS
|
@ -1,3 +1,12 @@
|
||||||
|
3.2.7 (2017-01-DD)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Enhancements
|
||||||
|
- [web] improved ACLs handling of inactive users
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
|
- [core] fixed "include in freebusy" (reverts #3354)
|
||||||
|
|
||||||
3.2.6 (2017-01-23)
|
3.2.6 (2017-01-23)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
@ -80,12 +80,12 @@
|
||||||
size="40">{{ user.$avatarIcon }}</sg-avatar-image>
|
size="40">{{ user.$avatarIcon }}</sg-avatar-image>
|
||||||
</span>
|
</span>
|
||||||
<div class="sg-tile-content">
|
<div class="sg-tile-content">
|
||||||
<div class="sg-md-subhead"><div>{{user.cn}}</div></div>
|
<div class="sg-md-subhead"><div>{{user.$fullname()}}</div></div>
|
||||||
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
||||||
</div>
|
</div>
|
||||||
<md-button class="md-icon-button md-secondary" type="button"
|
<md-button class="md-icon-button md-secondary" type="button"
|
||||||
ng-click="acl.selectAllRights(user)"
|
ng-click="acl.selectAllRights(user)"
|
||||||
ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
|
ng-hide="!acl.showRights(user) || user.$isSpecial()">
|
||||||
<md-icon>select_all</md-icon>
|
<md-icon>select_all</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<md-button class="md-icon-button" type="button"
|
<md-button class="md-icon-button" type="button"
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
</md-button>
|
</md-button>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUid">
|
<md-card-content id="AccessRightList" ng-show="acl.showRights(user)">
|
||||||
<var:if condition="canSubscribeUsers">
|
<var:if condition="canSubscribeUsers">
|
||||||
<md-checkbox ng-model="user.isSubscribed"
|
<md-checkbox ng-model="user.isSubscribed"
|
||||||
label:arial-label="Subscribe User"
|
label:arial-label="Subscribe User"
|
||||||
|
|
|
@ -57,12 +57,12 @@
|
||||||
size="40">{{ user.$avatarIcon }}</sg-avatar-image>
|
size="40">{{ user.$avatarIcon }}</sg-avatar-image>
|
||||||
</div>
|
</div>
|
||||||
<div class="sg-tile-content">
|
<div class="sg-tile-content">
|
||||||
<div class="sg-md-subhead"><div>{{user.cn}}</div></div>
|
<div class="sg-md-subhead"><div>{{user.$fullname()}}</div></div>
|
||||||
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
<div class="sg-md-body"><div>{{user.c_email}}</div></div>
|
||||||
</div>
|
</div>
|
||||||
<md-button class="md-icon-button md-secondary" type="button"
|
<md-button class="md-icon-button md-secondary" type="button"
|
||||||
ng-click="acl.selectAllRights(user)"
|
ng-click="acl.selectAllRights(user)"
|
||||||
ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
|
ng-hide="!acl.showRights(user) || user.$isSpecial()">
|
||||||
<md-icon>select_all</md-icon>
|
<md-icon>select_all</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<md-button class="md-icon-button" type="button"
|
<md-button class="md-icon-button" type="button"
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
</md-button>
|
</md-button>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUid">
|
<md-card-content id="AccessRightList" ng-show="acl.showRights(user)">
|
||||||
<var:if condition="canSubscribeUsers">
|
<var:if condition="canSubscribeUsers">
|
||||||
<md-checkbox ng-model="user.isSubscribed"
|
<md-checkbox ng-model="user.isSubscribed"
|
||||||
label:arial-label="Subscribe User"
|
label:arial-label="Subscribe User"
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
vm.selectedUid = null;
|
vm.selectedUid = null;
|
||||||
vm.selectUser = selectUser;
|
vm.selectUser = selectUser;
|
||||||
vm.selectAllRights = selectAllRights;
|
vm.selectAllRights = selectAllRights;
|
||||||
|
vm.showRights = showRights;
|
||||||
vm.removeUser = removeUser;
|
vm.removeUser = removeUser;
|
||||||
vm.getTemplate = getTemplate;
|
vm.getTemplate = getTemplate;
|
||||||
vm.close = close;
|
vm.close = close;
|
||||||
|
@ -56,6 +57,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showRights(user) {
|
||||||
|
return vm.selectedUid == user.uid && user.rights;
|
||||||
|
}
|
||||||
|
|
||||||
function userFilter($query) {
|
function userFilter($query) {
|
||||||
return User.$filter($query, stateFolder.$acl.users, { dry: true, uid: vm.user.uid });
|
return User.$filter($query, stateFolder.$acl.users, { dry: true, uid: vm.user.uid });
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
vm.addUser = addUser;
|
vm.addUser = addUser;
|
||||||
vm.selectAllRights = selectAllRights;
|
vm.selectAllRights = selectAllRights;
|
||||||
vm.selectUser = selectUser;
|
vm.selectUser = selectUser;
|
||||||
|
vm.showRights = showRights;
|
||||||
vm.confirmation = { showing: false,
|
vm.confirmation = { showing: false,
|
||||||
message: ''};
|
message: ''};
|
||||||
|
|
||||||
|
@ -86,6 +87,10 @@
|
||||||
vm.selectedUser.$rights();
|
vm.selectedUser.$rights();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showRights(user) {
|
||||||
|
return vm.selectedUid == user.uid && user.rights;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
angular
|
angular
|
||||||
|
|
|
@ -125,13 +125,22 @@
|
||||||
this.empty = ' ';
|
this.empty = ' ';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @function $fullname
|
||||||
|
* @memberof User.prototype
|
||||||
|
* @return a string representing the fullname
|
||||||
|
*/
|
||||||
|
User.prototype.$fullname = function() {
|
||||||
|
return this.cn || this.uid;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @function $shortFormat
|
* @function $shortFormat
|
||||||
* @memberof User.prototype
|
* @memberof User.prototype
|
||||||
* @return the fullname along with the email address
|
* @return the fullname along with the email address
|
||||||
*/
|
*/
|
||||||
User.prototype.$shortFormat = function(options) {
|
User.prototype.$shortFormat = function(options) {
|
||||||
var fullname = this.cn || this.c_email;
|
var fullname = this.$fullname();
|
||||||
var email = this.c_email;
|
var email = this.c_email;
|
||||||
var no_email = options && options.email === false;
|
var no_email = options && options.email === false;
|
||||||
if (!no_email && email && fullname != email) {
|
if (!no_email && email && fullname != email) {
|
||||||
|
|
Loading…
Reference in New Issue