Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / C4 / ItemType.pm
index 5c9b663..ad253a7 100644 (file)
@@ -1,5 +1,8 @@
 package C4::ItemType;
 
+# Copyright Liblime 2009
+# Parts Copyright Tamil 2011
+#
 # This file is part of Koha.
 #
 # Koha is free software; you can redistribute it and/or modify it under the
@@ -11,9 +14,9 @@ package C4::ItemType;
 # 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., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# 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 strict;
 use warnings;
@@ -73,12 +76,38 @@ C<description>.
 sub all {
     my ($class) = @_;
     my $dbh = C4::Context->dbh;
-    return    map { $class->new($_) }    @{$dbh->selectall_arrayref(
-        # The itemtypes table is small enough for
-        # `SELECT *` to be harmless.
-        "SELECT * FROM itemtypes ORDER BY description",
-        { Slice => {} },
-    )};
+
+    my @itypes;
+    for ( @{$dbh->selectall_arrayref(
+        "SELECT * FROM itemtypes ORDER BY description", { Slice => {} })} )
+    {
+        utf8::encode($_->{description});
+        push @itypes, $class->new($_);
+    }
+    return @itypes;
+}
+
+
+
+
+=head3 C4::ItemType->get
+
+Return the itemtype indicated by the itemtype given as argument, as
+an object.
+
+=cut
+
+sub get {
+    my ($class, $itemtype) = @_;
+    my $dbh = C4::Context->dbh;
+
+    my $data = $dbh->selectrow_hashref(
+        "SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype
+    );
+    if ( $data->{description} ) {
+        utf8::encode($data->{description});
+    }
+    return $class->new($data);
 }
 
 
@@ -88,19 +117,35 @@ sub all {
 
 These are read-only accessors for attributes of a C4::ItemType object.
 
-=head3 $itemtype->itemtype       
+=head3 $itemtype->itemtype
 
-=head3 $itemtype->description    
+=cut
+
+=head3 $itemtype->description
+
+=cut
 
 =head3 $itemtype->renewalsallowed
 
-=head3 $itemtype->rentalcharge   
+=cut
+
+=head3 $itemtype->rentalcharge
+
+=cut
 
-=head3 $itemtype->notforloan     
+=head3 $itemtype->notforloan
 
-=head3 $itemtype->imageurl       
+=cut
 
-=head3 $itemtype->summary        
+=head3 $itemtype->imageurl
+
+=cut
+
+=head3 $itemtype->checkinmsg
+
+=cut
+
+=head3 $itemtype->summary
 
 =cut
 
@@ -115,6 +160,7 @@ sub AUTOLOAD {
     }
 }
 
+sub DESTROY { }
 
 
 
@@ -146,14 +192,3 @@ John Beppu <john.beppu@liblime.com>
 =cut
 
 1;
-
-# Local Variables: ***
-# mode: cperl ***
-# indent-tabs-mode: nil ***
-# cperl-close-paren-offset: -4 ***
-# cperl-continued-statement-offset: 4 ***
-# cperl-indent-level: 4 ***
-# cperl-indent-parens-as-block: t ***
-# cperl-tab-always-indent: nil ***
-# End: ***
-# vim:tabstop=8 softtabstop=4 shiftwidth=4 shiftround expandtab