Bug 15685: Send the basket to _cancel_items_receipt

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2017-10-10 18:15:01 -03:00
parent da6824d6e2
commit ce0c12e776
1 changed files with 8 additions and 8 deletions

View File

@ -1590,7 +1590,7 @@ sub CancelReceipt {
my $parent_ordernumber = $order->{'parent_ordernumber'};
my @itemnumbers = GetItemnumbersFromOrder( $ordernumber );
my $basket = Koha::Acquisition::Orders->find({ordernumber => $ordernumber})->basket;
my $order_obj = Koha::Acquisition::Orders->find( $ordernumber ); # FIXME rewrite all this subroutine using this object
if($parent_ordernumber == $ordernumber || not $parent_ordernumber) {
# The order line has no parent, just mark it as not received
@ -1604,7 +1604,7 @@ sub CancelReceipt {
};
$sth = $dbh->prepare($query);
$sth->execute(0, undef, undef, $ordernumber);
_cancel_items_receipt( $basket->effective_create_items, $ordernumber );
_cancel_items_receipt( $order_obj );
} else {
# The order line has a parent, increase parent quantity and delete
# the order line.
@ -1651,7 +1651,7 @@ sub CancelReceipt {
WHERE ordernumber = ?
|, undef, $parent_ordernumber);
_cancel_items_receipt( $basket->effective_create_items, $ordernumber, $parent_ordernumber );
_cancel_items_receipt( $order_obj, $parent_ordernumber );
# Delete order line
$query = qq{
DELETE FROM aqorders
@ -1662,7 +1662,7 @@ sub CancelReceipt {
}
if( $basket->effective_create_items eq 'ordering' ) {
if( $order_obj->basket->effective_create_items eq 'ordering' ) {
my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceiptIsCancelled");
if ( @affects ) {
for my $in ( @itemnumbers ) {
@ -1685,11 +1685,11 @@ sub CancelReceipt {
}
sub _cancel_items_receipt {
my ( $effective_create_items, $ordernumber, $parent_ordernumber ) = @_;
$parent_ordernumber ||= $ordernumber;
my ( $order, $parent_ordernumber ) = @_;
$parent_ordernumber ||= $order->ordernumber;
my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
if ( $effective_create_items eq 'receiving' ) {
my @itemnumbers = GetItemnumbersFromOrder($order->ordernumber); # FIXME Must be $order->items
if ( $order->basket->effective_create_items eq 'receiving' ) {
# Remove items that were created at receipt
my $query = qq{
DELETE FROM items, aqorders_items