From db2a1aa0dda1c786c34c3cf239fccfcaedefd094 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 15 Sep 2015 17:02:28 +0100 Subject: [PATCH] Bug 14828: Add Koha::ItemType[s] classes MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc Véron Signed-off-by: Kyle M Hall Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com --- Koha/ItemType.pm | 90 +++++++++++++++++++++++++++++++++++++++++++++++ Koha/ItemTypes.pm | 50 ++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 Koha/ItemType.pm create mode 100644 Koha/ItemTypes.pm diff --git a/Koha/ItemType.pm b/Koha/ItemType.pm new file mode 100644 index 0000000000..ca9302db0d --- /dev/null +++ b/Koha/ItemType.pm @@ -0,0 +1,90 @@ +package Koha::ItemType; + +# 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 3 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 Carp; + +use C4::Koha; +use C4::Languages; +use Koha::Database; +use Koha::Localizations; + +use base qw(Koha::Object); + +=head1 NAME + +Koha::ItemType - Koha Item type Object class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 image_location + +=cut + +sub image_location { + my ( $self, $interface ) = @_; + return C4::Koha::getitemtypeimagelocation( $interface, $self->SUPER::imageurl ); +} + +=head3 translated_description + +=cut + +sub translated_description { + my ( $self, $lang ) = @_; + $lang ||= C4::Languages::getlanguage; + my $translated_description = Koha::Localizations->search({ + code => $self->itemtype, + entity => 'itemtypes', + lang => $lang + })->next; + return $translated_description || $self->description; +} + +=head3 translated_descriptions + +=cut + +sub translated_descriptions { + my ( $self ) = @_; + my @translated_descriptions = Koha::Localizations->search( + { entity => 'itemtypes', + code => $self->itemtype, + } + ); + return [ map { + { + lang => $_->lang, + translation => $_->translation, + } + } @translated_descriptions ]; +} + +=head3 type + +=cut + +sub type { + return 'Itemtype'; +} + +1; diff --git a/Koha/ItemTypes.pm b/Koha/ItemTypes.pm new file mode 100644 index 0000000000..afa25d097b --- /dev/null +++ b/Koha/ItemTypes.pm @@ -0,0 +1,50 @@ +package Koha::ItemTypes; + +# 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 3 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 Carp; + +use Koha::Database; + +use Koha::ItemType; + +use base qw(Koha::Objects); + +=head1 NAME + +Koha::ItemTypes - Koha ItemType Object set class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 type + +=cut + +sub type { + return 'Itemtype'; +} + +sub object_class { + return 'Koha::ItemType'; +} + +1; -- 2.39.5