From 187f60019358f1cf60127f25be2f1f12d0cb2eb2 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 --- 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 0000000..ca9302d --- /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 0000000..afa25d0 --- /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.1.0