@@ -, +, @@ --- installer/data/mysql/updatedatabase.pl | 2 +- serials/subscription-add.pl | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) --- a/installer/data/mysql/updatedatabase.pl +++ a/installer/data/mysql/updatedatabase.pl @@ -6532,7 +6532,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "3.09.00.XXX"; +$DBversion = "XXX"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES(15, 'superserials', 'Manage subscriptions from any branch')"); print "Upgrade to $DBversion done (Add superserials permission)\n"; --- a/serials/subscription-add.pl +++ a/serials/subscription-add.pl @@ -121,10 +121,16 @@ if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { } } -my $onlymine=C4::Context->preference('IndependantBranches') && - C4::Context->userenv && - C4::Context->userenv->{flags} % 2 !=1 && - C4::Context->userenv->{branch}; +my $userenv = C4::Context->userenv; +my $onlymine = + C4::Context->preference('IndependantBranches') + && $userenv + && $userenv->{flags} % 2 != 1 + && ( + not C4::Auth::haspermission( $userenv->{id}, { serials => 'superserials' } ) + ) + && $userenv->{branch}; + my $branches = GetBranches($onlymine); my $branchloop; for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %{$branches}) { --