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 <jonathan.druart@biblibre.com>
This commit is contained in:
Kyle Hall 2012-07-12 10:48:12 -04:00 committed by Paul Poulain
parent 8469d53f02
commit 6f431883f8
3 changed files with 50 additions and 7 deletions

View file

@ -1074,13 +1074,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 };
}
}

View file

@ -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;

View file

@ -1,3 +1,5 @@
[% USE KohaAuthorisedValues %]
[% IF ( item.datedue ) %]
[% IF ( OPACShowCheckoutName ) %]
Checked out to [% item.cardnumber %] [% item.firstname %] [% item.surname %]
@ -12,11 +14,15 @@
[% ELSIF ( item.wthdrawn ) %]
Item withdrawn
[% ELSIF ( item.itemlost ) %]
[% IF KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %]
[% KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %]
[% ELSE %]
[% IF ( item.lostimageurl ) %]
<img src="[% item.lostimageurl %]" alt="[% item.lostimagelabel %]" title="[% item.lostimagelabel %]">
[% ELSE %]
Item lost
[% END %]
[% END %]
[% ELSIF ( item.itemnotforloan ) %]
[% IF ( item.notforloanvalue ) %]
[% item.notforloanvalue %] [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
@ -26,7 +32,11 @@
[% ELSIF ( item.notforloan_per_itemtype ) %]
Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
[% ELSIF ( item.damaged ) %]
[% IF KohaAuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %]
[% KohaAuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %]
[% ELSE %]
Item damaged
[% END %]
[% ELSE %]
Available [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
[% END %]