Bug 19194: Check itemtype is defined when receiving an order
authorAleisha Amohia <aleishaamohia@hotmail.com>
Tue, 29 Aug 2017 04:51:40 +0000 (04:51 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 1 Sep 2017 13:45:36 +0000 (10:45 -0300)
To test:
1) Find a record with an item that has no itemtype (or remove the
itemtype of an item)
2) Go to Acquisitions -> Find a vendor or make a new one -> create a new
basket
3) Add the record from Step 1 to your basket
4) Close the basket
5) Go back to the vendor and click 'Receive shipments'
6) Put in an invoice number, click Next
7) Click the Receive link for your item
8) Confirm you see an internal server error
9) Apply the patch and refresh the page
10) The error should be gone and behaviour should continue as expected

Sponsored-by: Catalyst IT

Signed-off-by: Lee Jamison <ldjamison@marywood.edu>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

acqui/orderreceive.pl

index ee244d7..116277d 100755 (executable)
@@ -147,7 +147,9 @@ if ($AcqCreateItem eq 'receiving') {
         $item->{materials} = $descriptions->{lib} // '';
 
         my $itemtype = Koha::ItemTypes->find( $item->{itype} );
-        $item->{itemtype} = $itemtype->description; # FIXME Should not it be translated_description?
+        if (defined $itemtype) {
+            $item->{itemtype} = $itemtype->description; # FIXME Should not it be translated_description?
+        }
         push @items, $item;
     }
     $template->param(items => \@items);