Bug 13321 - (QA Followup) Restore standing order functionality
Some lines deleted during rebase, restored and updated, tests repaired Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
36fb4a34a6
commit
d8da77bd8b
|
|
@ -1380,8 +1380,14 @@ sub ModReceiveOrder {
|
|||
);
|
||||
}
|
||||
|
||||
my $result_set = $dbh->selectrow_arrayref(
|
||||
q{SELECT aqbasket.is_standing
|
||||
FROM aqbasket
|
||||
WHERE basketno=?},{ Slice => {} }, $order->{basketno});
|
||||
my $is_standing = $result_set->[0]; # we assume we have a unique basket
|
||||
|
||||
my $new_ordernumber = $order->{ordernumber};
|
||||
if ( $order->{quantity} > $quantrec ) {
|
||||
if ( $is_standing || $order->{quantity} > $quantrec ) {
|
||||
# Split order line in two parts: the first is the original order line
|
||||
# without received items (the quantity is decreased),
|
||||
# the second part is a new order line with quantity=quantityrec
|
||||
|
|
@ -1395,7 +1401,7 @@ sub ModReceiveOrder {
|
|||
my $sth = $dbh->prepare($query);
|
||||
|
||||
$sth->execute(
|
||||
$order->{quantity} - $quantrec,
|
||||
( $is_standing ? 1 : ($order->{quantity} - $quantrec) ),
|
||||
( defined $order->{order_internalnote} ? $order->{order_internalnote} : () ),
|
||||
$order->{ordernumber}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -56,13 +56,26 @@ is( $basket->{is_standing}, 1, 'basket correctly created as standing order baske
|
|||
|
||||
my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( MARC::Record->new, '' );
|
||||
|
||||
|
||||
my $ordernumber = Koha::Acquisition::Order->new(
|
||||
{
|
||||
basketno => $basketno,
|
||||
biblionumber => $biblionumber,
|
||||
budget_id => $budget->{budget_id},
|
||||
currency => 'USD',
|
||||
quantity => 0,
|
||||
basketno => $basketno,
|
||||
biblionumber => $biblionumber,
|
||||
budget_id => $budget->{budget_id},
|
||||
currency => 'USD',
|
||||
quantity => 0,
|
||||
rrp => 42,
|
||||
rrp_tax_included => 42,
|
||||
rrp_tax_excluded => 42,
|
||||
ecost => 22,
|
||||
ecost_tax_included => 22,
|
||||
ecost_tax_excluded => 22,
|
||||
unitprice => 12,
|
||||
unitprice_tax_included => 12,
|
||||
unitprice_tax_excluded => 12,
|
||||
tax_rate => 0,
|
||||
tax_rate_on_ordering => 0,
|
||||
tax_rate_on_receiving => 0,
|
||||
}
|
||||
)->insert->{ordernumber};
|
||||
|
||||
|
|
@ -85,21 +98,21 @@ my $invoiceid = AddInvoice(
|
|||
unknown => "unknown"
|
||||
);
|
||||
|
||||
my $order = Koha::Acquisition::Order->fetch( { ordernumber => $ordernumber } );
|
||||
|
||||
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
|
||||
{
|
||||
biblionumber => $biblionumber,
|
||||
ordernumber => $ordernumber,
|
||||
order => $order,
|
||||
quantityreceived => 2,
|
||||
cost => 12,
|
||||
ecost => 22,
|
||||
invoiceid => $invoiceid,
|
||||
rrp => 42,
|
||||
}
|
||||
);
|
||||
|
||||
isnt( $ordernumber, $new_ordernumber, "standing order split on receive" );
|
||||
|
||||
my $order = Koha::Acquisition::Order->fetch( { ordernumber => $ordernumber } );
|
||||
#order has been updated, refetch
|
||||
$order = Koha::Acquisition::Order->fetch( { ordernumber => $ordernumber } );
|
||||
my $neworder = Koha::Acquisition::Order->fetch( { ordernumber => $new_ordernumber } );
|
||||
|
||||
is( $order->{orderstatus}, 'partial', 'original order set to partially received' );
|
||||
|
|
|
|||
Loading…
Reference in New Issue