Changed viewing access ranks to require privilege

This commit is contained in:
Marcin Kurczewski 2014-10-12 11:45:09 +02:00
parent fc13fb1342
commit 7a15a590ed
5 changed files with 26 additions and 1 deletions

View file

@ -40,6 +40,7 @@ changeAllNames = moderator, administrator
changeAllPasswords = moderator, administrator changeAllPasswords = moderator, administrator
changeAccessRank = administrator changeAccessRank = administrator
viewAllEmailAddresses = moderator, administrator viewAllEmailAddresses = moderator, administrator
viewAllAccessRanks = moderator, administrator
ban = moderator, administrator ban = moderator, administrator
listPosts = regularUser, powerUser, moderator, administrator listPosts = regularUser, powerUser, moderator, administrator

View file

@ -6,6 +6,7 @@ App.Auth = function(_, jQuery, util, api, appState, promise) {
register: 'register', register: 'register',
listUsers: 'listUsers', listUsers: 'listUsers',
viewUsers: 'viewUsers', viewUsers: 'viewUsers',
viewAllAccessRanks: 'viewAllAccessRanks',
viewAllEmailAddresses: 'viewAllEmailAddresses', viewAllEmailAddresses: 'viewAllEmailAddresses',
changeAccessRank: 'changeAccessRank', changeAccessRank: 'changeAccessRank',
changeOwnAvatarStyle: 'changeOwnAvatarStyle', changeOwnAvatarStyle: 'changeOwnAvatarStyle',

View file

@ -59,6 +59,23 @@
<td><%= formatRelativeTime(user.lastLoginTime) %></td> <td><%= formatRelativeTime(user.lastLoginTime) %></td>
</tr> </tr>
<% if (user.accessRank) { %>
<tr>
<td>Access rank:</td>
<%
var accessRanks = {
anonymous: 'anonymous',
restrictedUser: 'restricted user',
regularUser: 'regular user',
powerUser: 'power user',
moderator: 'moderator',
administrator: 'administrator'
};
%>
<td><%= accessRanks[user.accessRank] %></td>
</tr>
<% } %>
<tr> <tr>
<td>Quick links:</td> <td>Quick links:</td>
<td> <td>

View file

@ -20,7 +20,6 @@ class UserViewProxy extends AbstractViewProxy
{ {
$result->id = $user->getId(); $result->id = $user->getId();
$result->name = $user->getName(); $result->name = $user->getName();
$result->accessRank = EnumHelper::accessRankToString($user->getAccessRank());
$result->registrationTime = $user->getRegistrationTime(); $result->registrationTime = $user->getRegistrationTime();
$result->lastLoginTime = $user->getLastLoginTime(); $result->lastLoginTime = $user->getLastLoginTime();
$result->avatarStyle = EnumHelper::avatarStyleToString($user->getAvatarStyle()); $result->avatarStyle = EnumHelper::avatarStyleToString($user->getAvatarStyle());
@ -31,6 +30,12 @@ class UserViewProxy extends AbstractViewProxy
$result->browsingSettings = $user->getBrowsingSettings(); $result->browsingSettings = $user->getBrowsingSettings();
} }
if ($this->privilegeService->hasPrivilege(Privilege::VIEW_ALL_ACCESS_RANKS) or
$this->privilegeService->isLoggedin($user))
{
$result->accessRank = EnumHelper::accessRankToString($user->getAccessRank());
}
if ($this->privilegeService->hasPrivilege(Privilege::VIEW_ALL_EMAIL_ADDRESSES) or if ($this->privilegeService->hasPrivilege(Privilege::VIEW_ALL_EMAIL_ADDRESSES) or
$this->privilegeService->isLoggedIn($user)) $this->privilegeService->isLoggedIn($user))
{ {

View file

@ -7,6 +7,7 @@ class Privilege
const LIST_USERS = 'listUsers'; const LIST_USERS = 'listUsers';
const VIEW_USERS = 'viewUsers'; const VIEW_USERS = 'viewUsers';
const VIEW_ALL_EMAIL_ADDRESSES = 'viewAllEmailAddresses'; const VIEW_ALL_EMAIL_ADDRESSES = 'viewAllEmailAddresses';
const VIEW_ALL_ACCESS_RANKS = 'viewAllAccessRanks';
const CHANGE_ACCESS_RANK = 'changeAccessRank'; const CHANGE_ACCESS_RANK = 'changeAccessRank';
const CHANGE_OWN_AVATAR_STYLE = 'changeOwnAvatarStyle'; const CHANGE_OWN_AVATAR_STYLE = 'changeOwnAvatarStyle';
const CHANGE_OWN_EMAIL_ADDRESS = 'changeOwnEmailAddress'; const CHANGE_OWN_EMAIL_ADDRESS = 'changeOwnEmailAddress';