From 13ed9886ef5159a9c31833afdca7404fcf2bf306 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Mon, 29 Jan 2024 10:08:00 +0100 Subject: [PATCH] Bug 35927: Selecting MARC framework again doesn't work when adding to basket from an external source Like Bug 19372, selecting MARC framework currently doesn't work when adding to basket from an external source. Strangly I can reproduce on koha-testing-docker, but we have this issue with a Ubuntu Focal install. Looks like it comes from a bad syntaxe than needs to be replaced in any case. Test plan: 1) Add an order to a basket from an external source 2) Select another framework than the default one on the search result view. Before doing 'add order' on choosen search result line. 3) Chek the framework code you will pick will be used in the created biblio record Signed-off-by: David Nind Signed-off-by: Victor Grousset/tuxayo --- acqui/neworderempty.pl | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index 28a734add9..5249e1ff1a 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -115,6 +115,8 @@ my $suggestionid = $input->param('suggestionid'); 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 $from_subscriptionid = $input->param('from_subscriptionid'); +my $frameworkcode = $input->param('frameworkcode') // q{}; +our $breedingid = $input->param('breedingid'); my $data; my $new = 'no'; @@ -157,12 +159,10 @@ my $contract = GetContract({ contractnumber => $basket->{contractnumber} }); -#simple parameters reading (all in one :-) -our $params = $input->Vars; my $listprice=0; # the price, that can be in MARC record if we have one -if ( $ordernumber eq '' and defined $params->{'breedingid'}){ +if ( $ordernumber eq '' and defined $breedingid ){ #we want to import from the breeding reservoir (from a z3950 search) - my ($marcrecord, $encoding) = MARCfindbreeding($params->{'breedingid'}); + my ($marcrecord, $encoding) = MARCfindbreeding($breedingid); die("Could not find the selected record in the reservoir, bailing") unless $marcrecord; # Remove all the items (952) from the imported record @@ -182,13 +182,12 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){ #from this point: add a new record C4::Acquisition::FillWithDefaultValues($marcrecord, {only_mandatory => 1}); my $bibitemnum; - $params->{'frameworkcode'} or $params->{'frameworkcode'} = ""; - ( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $params->{'frameworkcode'} ); + ( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $frameworkcode ); # get the price if there is one. $listprice = GetMarcPrice($marcrecord, $marcflavour); - SetImportRecordStatus($params->{'breedingid'}, 'imported'); + SetImportRecordStatus( $breedingid, 'imported' ); - SetMatchedBiblionumber( $params->{breedingid}, $biblionumber ); + SetMatchedBiblionumber( $breedingid, $biblionumber ); } @@ -624,7 +623,7 @@ sub Load_Duplicate { biblionumber => $biblionumber, basketno => $basketno, booksellerid => $basket->{'booksellerid'}, - breedingid => $params->{'breedingid'}, + breedingid => $breedingid, duplicatetitle => $duplicatetitle, (uc(C4::Context->preference("marcflavour"))) => 1 ); -- 2.44.0