From 5b4e284cf6063850be0d01a243baaf544a1b31bb Mon Sep 17 00:00:00 2001
From: Fridolin Somers <fridolin.somers@biblibre.com>
Date: Wed, 6 Sep 2017 13:44:41 +0200
Subject: [PATCH] Bug 19261 - never hide biblionumber field in view policy
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Followed test plan and biblionumber subfield 999c is visible in OPAC irrespective of visibility now.
Patch applies and works as expected.

Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
---
 Koha/Filter/MARC/ViewPolicy.pm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Koha/Filter/MARC/ViewPolicy.pm b/Koha/Filter/MARC/ViewPolicy.pm
index e69b730..6826e1b 100644
--- a/Koha/Filter/MARC/ViewPolicy.pm
+++ b/Koha/Filter/MARC/ViewPolicy.pm
@@ -125,7 +125,8 @@ sub _filter_field {
             my $visibility =
               $marcsubfieldstructure->{$tag}->{$subtag}->{hidden};
             $visibility //= 0;
-            if ( $hide->{$interface}->{$visibility} ) {
+            my $kohafield = $marcsubfieldstructure->{$tag}->{$subtag}->{kohafield} // '';
+            if ( $hide->{$interface}->{$visibility} && $kohafield ne 'biblio.biblionumber' ) {
 
                 # deleting last subfield doesn't delete field, so
                 # this detects that case to delete the field.
@@ -145,7 +146,8 @@ sub _filter_field {
         # -8 is flagged, and 9/-9 are not implemented.
         my $visibility = $marcsubfieldstructure->{$tag}->{q{@}}->{hidden};
         $visibility //= 0;
-        if ( $hide->{$interface}->{$visibility} ) {
+        my $kohafield = $marcsubfieldstructure->{$tag}->{q{@}}->{kohafield} // '';
+        if ( $hide->{$interface}->{$visibility} && $kohafield ne 'biblio.biblionumber' ) {
             $result->delete_fields($field);
         }
 
-- 
2.10.2