From 3f77efcc1db1730ca5b0f5ab20618962799a2418 Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Thu, 11 Jul 2013 23:13:42 -0400 Subject: [PATCH] Bug 10584 - Hide OPAC biblio details if all items are hidden If there are items for a given biblio number, and they are all hidden, then biblio needs to be hidden. If the biblio needs to be hidden, this is done by setting the biblionumber to 0, which triggers the same output as if the biblionumber does not exist. Signed-off-by: Srdjan Signed-off-by: Kyle M Hall Passes koha-qa.pl, works as advertised. --- opac/opac-detail.pl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index d1f5d91258..f06b535cf0 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -70,9 +70,20 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( } ); -my $biblionumber = $query->param('biblionumber') || $query->param('bib'); +my $biblionumber = $query->param('biblionumber') || $query->param('bib') || 0; $biblionumber = int($biblionumber); +my @itemsmatchingbiblionumber = GetItemsInfo($biblionumber); +if (scalar @itemsmatchingbiblionumber >= 1) { + my @items2hide = GetHiddenItemnumbers(@itemsmatchingbiblionumber); + + if (scalar @items2hide == scalar @itemsmatchingbiblionumber ) { + # biblionumber=0 effectively hides the biblio record + # since there is no such biblionumber. + $biblionumber = 0; + } +} + my $record = GetMarcBiblio($biblionumber); if ( ! $record ) { print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early -- 2.20.1