From c99f36177f1bea568af1ce8b62e070aaeecd51ad Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Fri, 13 Sep 2013 06:47:15 -0400 Subject: [PATCH] Bug 10876 - Fix opac-MARCdetail.pl partial hides When OpacHiddenItems is used to hide some, but not all of the items for a biblio, then the opac-MARCdetail page displayed all the items, rather than just the ones intended to be visible. By determining the tag and subtag for items.itemnumber, the loop which builds the big array can be filtered to exclude records that should be hidden. Signed-off-by: Tomas Cohen Arazi Works as expected, passes koha-qa also. Signed-off-by: Jonathan Druart http://bugs.koha-community.org/show_bug.cgi?id=10500 --- opac/opac-MARCdetail.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl index 705a182..d6be0a6 100755 --- a/opac/opac-MARCdetail.pl +++ b/opac/opac-MARCdetail.pl @@ -53,6 +53,7 @@ use C4::Biblio; use C4::Items; use C4::Acquisition; use C4::Koha; +use List::MoreUtils qw/any/; my $query = new CGI; @@ -77,6 +78,7 @@ if (scalar @all_items >= 1) { my $itemtype = &GetFrameworkCode($biblionumber); my $tagslib = &GetMarcStructure( 0, $itemtype ); +my ($tag_itemnumber,$subtag_itemnumber) = &GetMarcFromKohaField('items.itemnumber',$itemtype); my $biblio = GetBiblioData($biblionumber); $biblionumber = $biblio->{biblionumber}; my $record = GetMarcBiblio($biblionumber, 1); @@ -238,6 +240,9 @@ my %witness my @big_array; foreach my $field (@fields) { next if ( $field->tag() < 10 ); + next if ( ( $field->tag() eq $tag_itemnumber ) && + ( any { $field->subfield($subtag_itemnumber) eq $_ } + @items2hide) ); my @subf = $field->subfields; my %this_row; -- 1.7.10.4