From 3e59b99006d3e9c55817ffcaead7142c806db628 Mon Sep 17 00:00:00 2001
From: Mark Tompsett <mtompset@hotmail.com>
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 <tomascohen@gmail.com>
Works as expected, passes koha-qa also.
---
 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.9.5