@@ -, +, @@ --- C4/Serials.pm | 4 ++++ .../prog/en/modules/serials/serials-search.tt | 4 +++- serials/serials-search.pl | 7 ++++--- 3 files changed, 11 insertions(+), 4 deletions(-) --- a/C4/Serials.pm +++ a/C4/Serials.pm @@ -676,6 +676,9 @@ sub SearchSubscriptions { for my $subscription ( @$results ) { $subscription->{cannotedit} = not can_edit_subscription( $subscription ); + $subscription->{cannotdisplay} = + ( C4::Context->preference("IndependantBranches") + and $subscription->{branchcode} ne C4::Context->userenv->{'branch'} ) ? 1 : 0; } return @$results; @@ -2503,6 +2506,7 @@ sub can_edit_subscription { return 1 unless $independant_branches; if( $flags % 2 == 1 or C4::Auth::haspermission( $userid, {serials => 'superserials'}), + or C4::Auth::haspermission( $userid, {serials => 'edit_subscription'}), or not defined $subscription->{branchcode} or $subscription->{branchcode} eq '' or $subscription->{branchcode} eq C4::Context->userenv->{'branch'} --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt @@ -141,7 +141,7 @@ [% FOREACH subscription IN openedsubscriptions %] - [% UNLESS subscription.cannotedit %] + [% UNLESS subscription.cannotdisplay %] [% IF ( subscription.issn ) %][% subscription.issn %] @@ -218,6 +218,7 @@ [% FOREACH subscription IN closedsubscriptions %] + [% UNLESS subscription.cannotdisplay %] [% IF ( subscription.issn ) %] @@ -249,6 +250,7 @@ [% END %] + [% END %] [% ELSE %] --- a/serials/serials-search.pl +++ a/serials/serials-search.pl @@ -96,9 +96,11 @@ if ($routing) { my (@openedsubscriptions, @closedsubscriptions); for my $sub ( @subscriptions ) { unless ( $sub->{closed} ) { - push @openedsubscriptions, $sub; + push @openedsubscriptions, $sub + unless $sub->{cannotdisplay}; } else { - push @closedsubscriptions, $sub; + push @closedsubscriptions, $sub + unless $sub->{cannotdisplay}; } } @@ -127,7 +129,6 @@ $template->param( branches_loop => \@branches_loop, done_searched => $searched, routing => $routing, - size => scalar ( map {$_->{cannotedit} ? () : 1} @subscriptions ), marcflavour => (uc(C4::Context->preference("marcflavour"))) ); --