From 98b6189fff27b299bf9cb9714776d37aad675162 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 12 Jul 2012 10:48:12 -0400 Subject: [PATCH] Bug 4173 - Statuses not appearing in the OPAC For the authorised values LOST and DAMAGED, if an OPAC description is defined for the given value, display that description in the OPAC rather than the generic description. Signed-off-by: Jonathan Druart Signed-off-by: Chris Cormack --- C4/Koha.pm | 7 ++-- Koha/Template/Plugin/KohaAuthorisedValues.pm | 32 +++++++++++++++++++ .../prog/en/includes/item-status.inc | 18 ++++++++--- 3 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 Koha/Template/Plugin/KohaAuthorisedValues.pm diff --git a/C4/Koha.pm b/C4/Koha.pm index c5227c6a77..280f88f221 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -1061,13 +1061,14 @@ by the passed category and code =cut sub GetAuthorisedValueByCode { - my ( $category, $authvalcode ) = @_; + my ( $category, $authvalcode, $opac ) = @_; + my $field = $opac ? 'lib_opac' : 'lib'; my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare("SELECT lib FROM authorised_values WHERE category=? AND authorised_value =?"); + my $sth = $dbh->prepare("SELECT $field FROM authorised_values WHERE category=? AND authorised_value =?"); $sth->execute( $category, $authvalcode ); while ( my $data = $sth->fetchrow_hashref ) { - return $data->{'lib'}; + return $data->{ $field }; } } diff --git a/Koha/Template/Plugin/KohaAuthorisedValues.pm b/Koha/Template/Plugin/KohaAuthorisedValues.pm new file mode 100644 index 0000000000..58297c09f7 --- /dev/null +++ b/Koha/Template/Plugin/KohaAuthorisedValues.pm @@ -0,0 +1,32 @@ +package Koha::Template::Plugin::KohaAuthorisedValues; + +# Copyright ByWater Solutions 2012 + +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Template::Plugin; +use base qw( Template::Plugin ); + +use C4::Koha; + +sub GetByCode { + my ( $self, $category, $code, $opac ) = @_; + return GetAuthorisedValueByCode( $category, $code, $opac ); +} + +1; diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/item-status.inc b/koha-tmpl/opac-tmpl/prog/en/includes/item-status.inc index d05583f5a4..c456675d3a 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/item-status.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/item-status.inc @@ -1,3 +1,5 @@ +[% USE KohaAuthorisedValues %] + [% IF ( item.datedue ) %] [% IF ( OPACShowCheckoutName ) %] Checked out to [% item.cardnumber %] [% item.firstname %] [% item.surname %] @@ -12,10 +14,14 @@ [% ELSIF ( item.wthdrawn ) %] Item withdrawn [% ELSIF ( item.itemlost ) %] - [% IF ( item.lostimageurl ) %] - [% item.lostimagelabel %] + [% IF KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %] + [% KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %] [% ELSE %] - Item lost + [% IF ( item.lostimageurl ) %] + [% item.lostimagelabel %] + [% ELSE %] + Item lost + [% END %] [% END %] [% ELSIF ( item.itemnotforloan ) %] [% IF ( item.notforloanvalue ) %] @@ -26,7 +32,11 @@ [% ELSIF ( item.notforloan_per_itemtype ) %] Not for loan [% IF ( item.restrictedopac ) %]([% item.restrictedopac %])[% END %] [% ELSIF ( item.damaged ) %] - Item damaged + [% IF KohaAuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %] + [% KohaAuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %] + [% ELSE %] + Item damaged + [% END %] [% ELSE %] Available [% IF ( item.restrictedopac ) %]([% item.restrictedopac %])[% END %] [% END %] -- 2.39.5