[Koha-patches] [PATCH] Use biblioitems.itemtype as a default for items.itype

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Wed Nov 19 14:58:32 CET 2008


From: Michael Hafen <mdhafen at tech.washk12.org>

This correct the html select default in additem.pl, and enforces use of
biblioitems.itemtype as the default in Items::AddItem.  The code in
Items is to catch items added through MARC record staging.

Thanks to Joe Atzberger for suggestion.
---
 C4/Items.pm            |    6 ++++++
 cataloguing/additem.pl |   13 +++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/C4/Items.pm b/C4/Items.pm
index a59dc51..9aeef8d 100644
--- a/C4/Items.pm
+++ b/C4/Items.pm
@@ -224,6 +224,12 @@ sub AddItem {
     _set_derived_columns_for_add($item);
     $item->{'more_subfields_xml'} = _get_unlinked_subfields_xml($unlinked_item_subfields);
     # FIXME - checks here
+    unless ( $item->{itype} ) {  # default to biblioitem.itemtype if no itype
+        my $itype_sth = $dbh->prepare("SELECT itemtype FROM biblioitems WHERE biblionumber = ?");
+        $itype_sth->execute( $item->{'biblionumber'} );
+        ( $item->{'itype'} ) = $itype_sth->fetchrow_array;
+    }
+
 	my ( $itemnumber, $error ) = _koha_new_item( $item, $item->{barcode} );
     $item->{'itemnumber'} = $itemnumber;
 
diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl
index f8780c2..9592bc7 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -348,14 +348,19 @@ foreach my $tag (sort keys %{$tagslib}) {
           $sth->execute;
           push @authorised_values, ""
             unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-            
-          my $itemtype;
-          
+                      
           while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
               push @authorised_values, $itemtype;
               $authorised_lib{$itemtype} = $description;
           }
-          $value = $itemtype unless ($value);
+
+          unless ( $value ) {
+              my $default_itemtype;
+              my $itype_sth = $dbh->prepare("SELECT itemtype FROM biblioitems WHERE biblionumber = ?");
+              $itype_sth->execute( $biblionumber );
+              ( $default_itemtype ) = $itype_sth->fetchrow_array;
+              $value = $default_itemtype;
+          }
   
           #---- class_sources
       }
-- 
1.6.0.2




More information about the Koha-patches mailing list