From 01515938d945f7a495af24d41af1de2e2eb5f452 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 20 Aug 2018 10:48:07 -0400 Subject: [PATCH] Bug 7614: Don't allow un-usable pickup locations in the opac pickup locations pulldown Also fully qualifies some subroutine calls that fail for reasons unkown. Signed-off-by: Bob Bennhoff Signed-off-by: Kyle M Hall Signed-off-by: Nick Clemens (cherry picked from commit 2cd3a7187175390258572954685f1475a3e12ecd) Signed-off-by: Martin Renvoize --- C4/Items.pm | 10 +++++----- .../opac-tmpl/bootstrap/en/modules/opac-reserve.tt | 1 - opac/opac-reserve.pl | 8 +++++++- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 3b006c686e..04fe579ab3 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -223,9 +223,9 @@ sub AddItemFromMarc { my $frameworkcode = C4::Biblio::GetFrameworkCode( $biblionumber ); my ($itemtag,$itemsubfield)=C4::Biblio::GetMarcFromKohaField("items.itemnumber",$frameworkcode); - my $localitemmarc=MARC::Record->new; - $localitemmarc->append_fields($source_item_marc->field($itemtag)); - my $item = TransformMarcToKoha( $localitemmarc, $frameworkcode ,'items'); + my $localitemmarc=MARC::Record->new; + $localitemmarc->append_fields($source_item_marc->field($itemtag)); + my $item = C4::Biblio::TransformMarcToKoha( $localitemmarc, $frameworkcode ,'items'); my $unlinked_item_subfields = _get_unlinked_item_subfields($localitemmarc, $frameworkcode); return AddItem($item, $biblionumber, $dbh, $frameworkcode, $unlinked_item_subfields); } @@ -284,7 +284,7 @@ sub AddItem { $item->{'itemnumber'} = $itemnumber; - ModZebra( $item->{biblionumber}, "specialUpdate", "biblioserver" ); + C4::Biblio::ModZebra( $item->{biblionumber}, "specialUpdate", "biblioserver" ); logaction( "CATALOGUING", "ADD", $itemnumber, "item" ) if C4::Context->preference("CataloguingLog"); @@ -2032,7 +2032,7 @@ sub _get_unlinked_item_subfields { my $original_item_marc = shift; my $frameworkcode = shift; - my $marcstructure = GetMarcStructure(1, $frameworkcode, { unsafe => 1 }); + my $marcstructure = C4::Biblio::GetMarcStructure(1, $frameworkcode, { unsafe => 1 }); # assume that this record has only one field, and that that # field contains only the item information diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt index d55672fa5a..15dfe5e26f 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -225,7 +225,6 @@ [% END %] - [% UNLESS ( singleBranchMode ) %] [% IF ( bibitemloo.holdable && Koha.Preference('OPACAllowUserToChooseBranch')) %]
  • diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl index e8969752b5..bb71dc786f 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -173,6 +173,7 @@ foreach my $biblioNumber (@biblionumbers) { # Compute the priority rank. my $biblio = Koha::Biblios->find( $biblioNumber ); + $biblioData->{object} = $biblio; my $holds = $biblio->holds; my $rank = $holds->count; $biblioData->{reservecount} = 1; # new reserve @@ -390,7 +391,6 @@ $template->param('item_level_itypes' => $itemLevelTypes); foreach my $biblioNum (@biblionumbers) { - my @not_available_at = (); my $record = GetMarcBiblio({ biblionumber => $biblioNum }); # Init the bib item with the choices for branch pickup my %biblioLoopIter; @@ -402,6 +402,12 @@ foreach my $biblioNum (@biblionumbers) { &get_out($query, $cookie, $template->output); } + my @not_available_at = (); + my $biblio = $biblioData->{object}; + foreach my $library ( $pickup_locations->as_list ) { + push( @not_available_at, $library->branchcode ) unless $biblio->can_be_transferred({ to => $library }); + } + my $frameworkcode = GetFrameworkCode( $biblioData->{biblionumber} ); $biblioLoopIter{biblionumber} = $biblioData->{biblionumber}; $biblioLoopIter{title} = $biblioData->{title}; -- 2.39.5