From e45b6349f3bf3e453d537f944ad987603d7e4887 Mon Sep 17 00:00:00 2001 From: Andrew Nugged Date: Mon, 6 Dec 2021 12:03:36 +0200 Subject: [PATCH] Bug 20447: (QA follow-up) bugfix: holding_id not transferred down from params and not taken into account --- Koha/Holdings.pm | 5 ++++- Koha/UI/Form/Builder/Item.pm | 10 ++++++++++ catalogue/showmarc.pl | 2 +- cataloguing/additem.pl | 3 +++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Koha/Holdings.pm b/Koha/Holdings.pm index 0c6eed8907..e47fc4be0d 100644 --- a/Koha/Holdings.pm +++ b/Koha/Holdings.pm @@ -74,7 +74,10 @@ sub get_embeddable_marc_fields { } my ($holdingstag, $holdingssubfield) = Koha::Holding->get_marc_field_mapping({ field => 'holdings.holdingbranch' }); - my $holdings = $class->search({ biblionumber => $params->{biblionumber}, deleted_on => undef })->unblessed(); + my $holdings = $class->search({ + biblionumber => $params->{biblionumber}, + ($params->{holding_id} ? (holding_id => $params->{holding_id}) : ()), + deleted_on => undef })->unblessed(); foreach my $holding (@$holdings) { my $mungedholding = { map { diff --git a/Koha/UI/Form/Builder/Item.pm b/Koha/UI/Form/Builder/Item.pm index b7b447c9f5..9de016cdfd 100644 --- a/Koha/UI/Form/Builder/Item.pm +++ b/Koha/UI/Form/Builder/Item.pm @@ -85,6 +85,7 @@ sub generate_subfield_form { my $branch_limit = $params->{branch_limit}; my $default_branches_empty = $params->{default_branches_empty}; my $readonly = $params->{readonly}; + my $holding_id = $params->{holding_id}; my $item = $self->{item}; my $subfield = $tagslib->{$tag}{$subfieldtag}; @@ -496,6 +497,7 @@ sub edit_form { my $prefill_with_default_values = $params->{prefill_with_default_values}; my $branch_limit = $params->{branch_limit}; my $default_branches_empty = $params->{default_branches_empty}; + my $holding_id = $params->{holding_id}; my $libraries = Koha::Libraries->search( {}, { order_by => ['branchname'] } )->unblessed; @@ -513,6 +515,14 @@ sub edit_form { my $biblionumber = $self->{biblionumber}; my $frameworkcode = $biblionumber ? GetFrameworkCode($biblionumber) : q{}; my $marc_record = $biblionumber ? GetMarcBiblio( { biblionumber => $biblionumber } ) : undef; + + # Overlay/add holdings defaults: + if ( C4::Context->preference('SummaryHoldings') && $holding_id ) { + my $holdings_fields = Koha::Holdings->get_embeddable_marc_fields({ biblionumber => $biblionumber, holding_id => $holding_id }); + $marc_record->append_fields(@$holdings_fields) if @$holdings_fields; + } + + my @subfields; my $tagslib = GetMarcStructure( 1, $frameworkcode ); foreach my $tag ( keys %{$tagslib} ) { diff --git a/catalogue/showmarc.pl b/catalogue/showmarc.pl index d92aa7f3bc..6fa7ec7ef4 100755 --- a/catalogue/showmarc.pl +++ b/catalogue/showmarc.pl @@ -48,7 +48,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $biblionumber= $input->param('id'); my $importid= $input->param('importid'); my $view= $input->param('viewas')||''; -my $holding_id= $input->param('holding_id')||''; +my $holding_id = $input->param('holding_id') // ''; my $record; if ($holding_id) { diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 4588b13fb5..bf64cabba8 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -103,6 +103,8 @@ my $fa_branch = $input->param('branch'); my $fa_stickyduedate = $input->param('stickyduedate'); my $fa_duedatespec = $input->param('duedatespec'); +my $holding_id = $input->param('holding_id') // ''; + our $frameworkcode = &GetFrameworkCode($biblionumber); # Defining which userflag is needing according to the framework currently used @@ -590,6 +592,7 @@ my $subfields = ), prefill_with_default_values => 1, branch_limit => C4::Context->userenv->{"branch"}, + holding_id => $holding_id, } ); -- 2.35.1