From bbf60c88917705da253b02652c17deada260d6ab 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 Signed-off-by: Nick Clemens Signed-off-by: Katrin Fischer (cherry picked from commit b7a5cc5beeb4af7cd23a414519c038f007f5b959) Signed-off-by: Fridolin Somers (cherry picked from commit 71b9421451dce017c12b82f34240431d4069a288) Signed-off-by: Lucas Gass --- acqui/neworderempty.pl | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index c0bda72619..18cc51db96 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 ); } @@ -621,7 +620,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.39.5