Bug 12080: restore effect of superserials permission
The superserials permission is meant to allow an operator to see all subscriptions regardless of branch when IndependentBranches is on without having to have full superlibrarian permissions. This patch restores this behavior. TEST PLAN --------- 1) Apply the patch for bug 12048 (as needed -- it may be pushed) 2) Ensure you have two users: superlibrarian, non-superlibrarian with all access to the staff client except superserials. 3) Ensure you have serials belonging to a different branch than the non-superlibrarian. 3) Log into staff client as superlibrarian 4) Click 'Serials' 5) Click the 'Submit' button in the search area. -- note the number of results. 6) Log into staff client as non-superlibrarian 7) Click 'Serials' 8) Click the 'Submit' button in the search area. -- note the number should be less, note the number. 9) Give the non-superlibrarian superserials access. 10) Home -> Serials 11) Click the 'Submit' button in the search area. -- the number will still be the same at the one in step #8. 12) Apply the patch 13) Refresh the page -- the number should now match the one in step #5. Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
214d6b8d13
commit
f0e574be4a
1 changed files with 11 additions and 3 deletions
|
@ -736,12 +736,20 @@ sub SearchSubscriptions {
|
|||
my $results = $sth->fetchall_arrayref( {} );
|
||||
$sth->finish;
|
||||
|
||||
my $cant_display_other_branches = 0;
|
||||
if (my $env = C4::Context->userenv) {
|
||||
my $userid = $env->{'id'};
|
||||
$cant_display_other_branches =
|
||||
C4::Context->preference('IndependentBranches') &&
|
||||
!C4::Context->IsSuperLibrarian() &&
|
||||
!C4::Auth::haspermission( $userid, {serials => 'superserials'});
|
||||
}
|
||||
my $user_branch = C4::Context->userenv->{'branch'};
|
||||
for my $subscription ( @$results ) {
|
||||
$subscription->{cannotedit} = not can_edit_subscription( $subscription );
|
||||
$subscription->{cannotdisplay} =
|
||||
( C4::Context->preference("IndependentBranches") &&
|
||||
(!C4::Context->IsSuperLibrarian()) &&
|
||||
$subscription->{branchcode} ne C4::Context->userenv->{'branch'} ) ? 1 : 0;
|
||||
$cant_display_other_branches &&
|
||||
$subscription->{branchcode} ne $user_branch;
|
||||
}
|
||||
|
||||
return @$results;
|
||||
|
|
Loading…
Reference in a new issue