Bug 5376: Batch Mod and Delete require superlibrarian permissions
authorIan Walls <ian.walls@bywatersolutions.com>
Tue, 25 Jan 2011 04:09:39 +0000 (23:09 -0500)
committerChris Cormack <chrisc@catalyst.net.nz>
Fri, 28 Jan 2011 02:46:32 +0000 (15:46 +1300)
This only occurs with IndependantBranches turned on; in an attempt to check that the items being
modified belonged to the user's branch, the code made a simultaneous comparison and assignment,
which is not permitted in all compilations of Perl.

Splitting the assignment of $itembranchcode and the check for its non-null value fixes the problem

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
tools/batchMod.pl

index 921c4d6..d9a0b76 100755 (executable)
@@ -429,7 +429,8 @@ sub BuildItemsData{
                        my %this_row;
                        foreach my $field (grep {$_->tag() eq $itemtagfield} $itemmarc->fields()) {
                                # loop through each subfield
-                               if (my $itembranchcode=$field->subfield($branchtagsubfield) && C4::Context->preference("IndependantBranches")) {
+                               my $itembranchcode=$field->subfield($branchtagsubfield);
+                               if ($itembranchcode && C4::Context->preference("IndependantBranches")) {
                                                #verifying rights
                                                my $userenv = C4::Context->userenv();
                                                unless (($userenv->{'flags'} == 1) or (($userenv->{'branch'} eq $itembranchcode))){