From 84fca5c20e4f950665eb009d38ad43cdfe61ecf8 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 16 Apr 2018 17:41:42 -0300 Subject: [PATCH] Bug 19030: Preserve link between order and subscription when editing an order MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The aqorders.subscriptionid info is not sent to the template when the order is edited. Which means we lose this link. Test plan: Create an order from a subscription Edit the order => Without this patch, the aqorders.subscriptionid value is set to NULL and items are created when receiving serial. => With this patch applied the link is preserved and expected behaviors are preserved during all the acquisition workflow You should also try and create several orders from the same subscription Sponsored-by: BULAC - http://www.bulac.fr/ Signed-off-by: Séverine QUEUNE Signed-off-by: Julian Maurice Signed-off-by: Jonathan Druart (cherry picked from commit 4df24fdde1b6845930d2532c23be2e6d3bf6ef9a) Signed-off-by: Fridolin Somers --- acqui/neworderempty.pl | 13 +++++++++---- .../prog/en/modules/acqui/newordersubscription.tt | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index c2a5e6fe49..659fcdd4d9 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -104,7 +104,7 @@ my $suggestionid = $input->param('suggestionid'); my $close = $input->param('close'); my $uncertainprice = $input->param('uncertainprice'); my $import_batch_id = $input->param('import_batch_id'); # if this is filled, we come from a staged file, and we will return here after saving the order ! -my $subscriptionid = $input->param('subscriptionid'); +my $from_subscriptionid = $input->param('from_subscriptionid'); my $data; my $new = 'no'; @@ -193,6 +193,10 @@ else { #modify order $biblionumber = $data->{'biblionumber'}; $budget_id = $data->{'budget_id'}; + $template->param( + subscriptionid => $data->{subscriptionid}, + ); + $basket = GetBasket( $data->{'basketno'} ); $basketno = $basket->{'basketno'}; @@ -257,8 +261,8 @@ if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) { my @itemtypes; @itemtypes = Koha::ItemTypes->search unless C4::Context->preference('item-level_itypes'); -if ( defined $subscriptionid ) { - my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid; +if ( defined $from_subscriptionid ) { + my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $from_subscriptionid; if ( defined $lastOrderReceived ) { $budget_id = $lastOrderReceived->{budgetid}; $data->{listprice} = $lastOrderReceived->{listprice}; @@ -276,6 +280,8 @@ if ( defined $subscriptionid ) { $basket = GetBasket( $input->param('basketno') ); } + + $template->param( subscriptionid => $from_subscriptionid ); } # Find the items.barcode subfield for barcode validations @@ -356,7 +362,6 @@ $template->param( publishercode => $data->{'publishercode'}, barcode_subfield => $barcode_subfield, import_batch_id => $import_batch_id, - subscriptionid => $subscriptionid, acqcreate => C4::Context->preference("AcqCreateItem") eq "ordering" ? 1 : "", users_ids => join(':', @order_user_ids), users => \@order_users, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersubscription.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersubscription.tt index b97b20a6d2..38294607eb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersubscription.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersubscription.tt @@ -98,7 +98,7 @@ [% IF (sub.alreadyOnOrder) %] Outstanding order (only one order per subscription is allowed) [% ELSIF not sub.aqbooksellerid || booksellerid == sub.aqbooksellerid%] - + Order [% ELSE %] -- 2.39.5