From 98fa9919cd994cd81a8a37966d4655016306765d Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 5 Mar 2014 13:07:53 +0100 Subject: [PATCH] Bug 11699: Notes entered when receiving are not saved Test plan: 1/ Create an order with 2 items 2/ Receive 1 item and enter a note for the order 3/ Verify the note is correctly saved 4/ Receive the second item and enter a note for the order 5/ Verify the note is correctly saved --- C4/Acquisition.pm | 11 ++++++----- acqui/finishreceive.pl | 3 ++- .../prog/en/modules/acqui/orderreceive.tt | 2 +- t/db_dependent/Acquisition.t | 19 ++++++++++++++++--- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 8de4efb..8db497d 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -1444,7 +1444,7 @@ C<$ordernumber>. sub ModReceiveOrder { my ( $biblionumber, $ordernumber, $quantrec, $user, $cost, $ecost, - $invoiceid, $rrp, $budget_id, $datereceived, $received_items + $invoiceid, $rrp, $budget_id, $datereceived, $received_items, $notes ) = @_; @@ -1475,11 +1475,12 @@ sub ModReceiveOrder { $sth=$dbh->prepare(" UPDATE aqorders SET quantity = ?, - orderstatus = 'partial' + orderstatus = 'partial', + notes = ? WHERE ordernumber = ? "); - $sth->execute($order->{quantity} - $quantrec, $ordernumber); + $sth->execute($order->{quantity} - $quantrec, $notes, $ordernumber); $sth->finish; @@ -1504,9 +1505,9 @@ sub ModReceiveOrder { } else { $sth=$dbh->prepare("update aqorders set quantityreceived=?,datereceived=?,invoiceid=?, - unitprice=?,rrp=?,ecost=?,budget_id=?,orderstatus='complete' + unitprice=?,rrp=?,ecost=?,budget_id=?,orderstatus='complete',notes=? where biblionumber=? and ordernumber=?"); - $sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$budget_id,$biblionumber,$ordernumber); + $sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$budget_id,$notes,$biblionumber,$ordernumber); $sth->finish; } return ($datereceived, $new_ordernumber); diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl index aeb4394..bc63cec 100755 --- a/acqui/finishreceive.pl +++ b/acqui/finishreceive.pl @@ -53,7 +53,7 @@ my $booksellerid = $input->param('booksellerid'); my $cnt = 0; my $ecost = $input->param('ecost'); my $rrp = $input->param('rrp'); -my $note = $input->param("note"); +my $notes = $input->param("notes"); my $bookfund = $input->param("bookfund"); my $order = GetOrder($ordernumber); my $new_ordernumber = $ordernumber; @@ -112,6 +112,7 @@ if ($quantityrec > $origquantityrec ) { $bookfund, $datereceived, \@received_items, + $notes, ); } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt index cac2132..544d36f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt @@ -329,7 +329,7 @@ [% ELSE %] [% END %] - + diff --git a/t/db_dependent/Acquisition.t b/t/db_dependent/Acquisition.t index 835cc9a..8fef897 100755 --- a/t/db_dependent/Acquisition.t +++ b/t/db_dependent/Acquisition.t @@ -8,7 +8,7 @@ use POSIX qw(strftime); use C4::Bookseller qw( GetBookSellerFromId ); -use Test::More tests => 63; +use Test::More tests => 66; BEGIN { use_ok('C4::Acquisition'); @@ -168,11 +168,16 @@ my ($datereceived, $new_ordernumber) = ModReceiveOrder( 12, $invoiceid, 42, + undef, + undef, + undef, + "my notes", ); my $order2 = GetOrder( $ordernumber2 ); is($order2->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order'); is($order2->{'quantity'}, 40, '40 items on original order'); is($order2->{'budget_id'}, $budgetid, 'Budget on original order is unchanged'); +is($order2->{notes}, "my notes", 'ModReceiveOrder and GetOrder deal with notes'); $neworder = GetOrder( $new_ordernumber ); is($neworder->{'quantity'}, 2, '2 items on new order'); @@ -195,13 +200,17 @@ my $budgetid2 = C4::Budgets::AddBudget( 12, $invoiceid, 42, - $budgetid2 + $budgetid2, + undef, + undef, + "my other notes", ); my $order3 = GetOrder( $ordernumber3 ); is($order3->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order'); is($order3->{'quantity'}, 2, '2 items on original order'); is($order3->{'budget_id'}, $budgetid, 'Budget on original order is unchanged'); +is($order3->{notes}, "my other notes", 'ModReceiveOrder and GetOrder deal with notes'); $neworder = GetOrder( $new_ordernumber ); is($neworder->{'quantity'}, 2, '2 items on new order'); @@ -217,12 +226,16 @@ is($neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed'); 12, $invoiceid, 42, - $budgetid2 + $budgetid2, + undef, + undef, + "my third notes", ); $order3 = GetOrder( $ordernumber3 ); is($order3->{'quantityreceived'}, 2, 'Order not split up'); is($order3->{'quantity'}, 2, '2 items on order'); is($order3->{'budget_id'}, $budgetid2, 'Budget has changed'); +is($order3->{notes}, "my third notes", 'ModReceiveOrder and GetOrder deal with notes'); $dbh->rollback; -- 1.7.10.4