Bug 9224: Make acqui/finishreceive.pl Plack-compatible
Under Plack/mod_perl wrapping, sub update_item() will become a closure, so after the 1st run it will retain its own private instances of the following variables: $booksellerid, $datereceived, $unitprice, $rrp, $biblionumber. I.e., in case update_item() gets invoked 2nd+ time (inside the same process, but for different-subsequent receives) it may incorrectly flag the (old, wrong) biblionumber for Zebra reindexing, and erronously modify the current item[s] with the previously used (wrong) values. This simple patch should make acqui/finishreceive.pl Plack-compatible. Test plan: Test patched acqui/finishreceive.pl script (create and receive some orders w/ items, etc.). Ensure items are gettting added and/or modified correctly during receiving process. Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Passes koha-qa.pl, works as advertised, no regressions found. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
4927140966
commit
6dcc34c1b4
|
|
@ -153,20 +153,16 @@ if ($quantityrec > $origquantityrec ) {
|
|||
}
|
||||
}
|
||||
|
||||
update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );
|
||||
|
||||
print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
|
||||
|
||||
################################ End of script ################################
|
||||
|
||||
sub update_item {
|
||||
my ( $itemnumber ) = @_;
|
||||
|
||||
ModItem( {
|
||||
ModItem(
|
||||
{
|
||||
booksellerid => $booksellerid,
|
||||
dateaccessioned => $datereceived,
|
||||
price => $unitprice,
|
||||
replacementprice => $rrp,
|
||||
replacementpricedate => $datereceived,
|
||||
}, $biblionumber, $itemnumber );
|
||||
}
|
||||
},
|
||||
$biblionumber,
|
||||
$_
|
||||
) foreach GetItemnumbersFromOrder($ordernumber);
|
||||
|
||||
print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
|
||||
|
|
|
|||
Loading…
Reference in New Issue