Skip to content
Snippets Groups Projects
Commit 297ad9cf authored by Dorian Merz's avatar Dorian Merz
Browse files

Merge branch 'instance/fid' into instance/fid_bbi

parents 2357e681 a2598ba5
Branches
Tags
No related merge requests found
...@@ -23,16 +23,20 @@ relative_path = ../../../local/config/vufind/permissions.ini ...@@ -23,16 +23,20 @@ relative_path = ../../../local/config/vufind/permissions.ini
; Show staff view for all users by default ; Show staff view for all users by default
[fid.ReadList] [fid.ReadList]
role[] = loggedin role[] = loggedin
FidApiPermission = read_user_list FidApiPermission[] = read_user_list
permission = fid.ReadList
[fid.EditUser] [fid.EditUser]
role[] = loggedin role[] = loggedin
FidApiPermission = edit_user FidApiPermission[] = edit_user
permission = fid.EditUser
[fid.LimitedAccess] [fid.LimitedAccess]
role[] = loggedin role[] = loggedin
FidApiPermission = limited_access FidApiPermission[] = limited_access
permission = fid.LimitedAccess
[fid.FullAccess] [fid.FullAccess]
role[] = loggedin role[] = loggedin
FidApiPermission = full_access FidApiPermission[] = full_access
\ No newline at end of file permission = fid.FullAccess
\ No newline at end of file
...@@ -67,10 +67,16 @@ class FidApiPermission implements PermissionProviderInterface ...@@ -67,10 +67,16 @@ class FidApiPermission implements PermissionProviderInterface
*/ */
public function getPermissions($options) public function getPermissions($options)
{ {
if ($this->client->isAuthorized($options)) { $authorized = TRUE;
return ['loggedin']; foreach ((array)$options as $option) {
if (!$this->client->isAuthorized($option)) {
// a user missing any role
// will not be authorized
$authorized = FALSE;
break;
}
} }
// No match? No permissions. // No match? No permissions.
return []; return $authorized ? ['loggedin'] : [];
} }
} }
...@@ -101,4 +101,6 @@ user_edit = "Nutzer %%userid%% bearbeiten" ...@@ -101,4 +101,6 @@ user_edit = "Nutzer %%userid%% bearbeiten"
permission_read_user_list = "Liste aller Nutzer einsehen" permission_read_user_list = "Liste aller Nutzer einsehen"
permission_edit_user = "Daten anderer Nutzer bearbeiten" permission_edit_user = "Daten anderer Nutzer bearbeiten"
permission_full_access = "Zugriff auf FID-Lizenzen" permission_full_access = "Zugriff auf FID-Lizenzen"
permission_limited_access = "Einfacher Zugriff" permission_limited_access = "Einfacher Zugriff"
\ No newline at end of file
admin_section = "Nutzerverwaltung"
\ No newline at end of file
...@@ -100,4 +100,6 @@ user_edit = "Edit user %%userid%%" ...@@ -100,4 +100,6 @@ user_edit = "Edit user %%userid%%"
permission_read_user_list = "Read list of all users" permission_read_user_list = "Read list of all users"
permission_edit_user = "Edit other user's data" permission_edit_user = "Edit other user's data"
permission_full_access = "privileged access" permission_full_access = "privileged access"
permission_limited_access = "basic access" permission_limited_access = "basic access"
\ No newline at end of file
admin_section = "User Administration"
\ No newline at end of file
...@@ -123,4 +123,11 @@ ...@@ -123,4 +123,11 @@
</a> </a>
</div> </div>
<?php endif ?> <?php endif ?>
<?php if ($this->permission()->allowDisplay('fid.ReadList')): ?>
<br/>
<h4><?=$this->transEsc('fid::admin_section')?></h4>
<div class="myresearch-menu">
<a href="<?=$this->url('fid/admin/list')?>"><?=$this->transEsc('fid::permission_read_user_list')?></a>
<?php endif; ?>
</div>
<!-- fid: myresearch - menu.phtml END --> <!-- fid: myresearch - menu.phtml END -->
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment