[Koha-patches] [PATCH] fix for #2440 : acquisition recieve & item creation

paul.poulain at biblibre.com paul.poulain at biblibre.com
Thu Jul 31 14:19:51 CEST 2008


From: Paul POULAIN <paul.poulain at biblibre.com>

It has to be reintroduced, as some (most in France) libraries don't create
items on recieve, but after "equipment" step.
---
 acqui/finishreceive.pl |   58 ++++++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl
index 8cf8d4f..8cb5bf2 100755
--- a/acqui/finishreceive.pl
+++ b/acqui/finishreceive.pl
@@ -59,34 +59,36 @@ my $error_url_str;
 
 if ($quantityrec > $origquantityrec ) {
 	foreach my $bc (@barcode) {
-		my $item_hash = {
-                    "items.replacementprice" => $replacement,
-                    "items.price"            => $cost,
-                    "items.booksellerid"     => $supplierid,
-                    "items.homebranch"       => $branch[$cnt],
-                    "items.holdingbranch"    => $branch[$cnt],
-                    "items.barcode"          => $barcode[$cnt],
-                    "items.ccode"          => $ccode[$cnt],
-                    "items.itype"          => $itemtype[$cnt],
-                    "items.location"          => $location[$cnt],
-                    "items.enumchron"          => $enumchron[$cnt], # FIXME : No integration here with serials module.
-                    "items.loan"             => 0, 
-					};
-		$item_hash->{'items.cn_source'} = C4::Context->preference('DefaultClassificationSource') if(C4::Context->preference('DefaultClassificationSource') );
-		# FIXME : cn_sort is populated by Items::_set_derived_columns_for_add , which is never called with AddItemFromMarc .  Bug 2403
-        my $itemRecord = TransformKohaToMarc($item_hash);
-		$cnt++;
-		$item_hash = TransformMarcToKoha(undef,$itemRecord,'','items');
-		# FIXME: possible race condition.  duplicate barcode check should happen in AddItem, but for now we have to do it here.
-		my %err = CheckItemPreSave($item_hash);
-		if(%err) {
-			for my $err_cnd (keys %err) {
-				$error_url_str .= "&error=" . $err_cnd . "&error_param=" . $err{$err_cnd};
-			}
-			$quantityrec--;
-		} else {
-			AddItemFromMarc($itemRecord,$biblionumber);
-		}
+        if ($bc) {
+            my $item_hash = {
+                        "items.replacementprice" => $replacement,
+                        "items.price"            => $cost,
+                        "items.booksellerid"     => $supplierid,
+                        "items.homebranch"       => $branch[$cnt],
+                        "items.holdingbranch"    => $branch[$cnt],
+                        "items.barcode"          => $barcode[$cnt],
+                        "items.ccode"          => $ccode[$cnt],
+                        "items.itype"          => $itemtype[$cnt],
+                        "items.location"          => $location[$cnt],
+                        "items.enumchron"          => $enumchron[$cnt], # FIXME : No integration here with serials module.
+                        "items.loan"             => 0, 
+                        };
+            $item_hash->{'items.cn_source'} = C4::Context->preference('DefaultClassificationSource') if(C4::Context->preference('DefaultClassificationSource') );
+            # FIXME : cn_sort is populated by Items::_set_derived_columns_for_add , which is never called with AddItemFromMarc .  Bug 2403
+            my $itemRecord = TransformKohaToMarc($item_hash);
+            $cnt++;
+            $item_hash = TransformMarcToKoha(undef,$itemRecord,'','items');
+            # FIXME: possible race condition.  duplicate barcode check should happen in AddItem, but for now we have to do it here.
+            my %err = CheckItemPreSave($item_hash);
+            if(%err) {
+                for my $err_cnd (keys %err) {
+                    $error_url_str .= "&error=" . $err_cnd . "&error_param=" . $err{$err_cnd};
+                }
+                $quantityrec--;
+            } else {
+                AddItemFromMarc($itemRecord,$biblionumber);
+            }
+        }
 	}
 	
     # save the quantity received.
-- 
1.5.3.2




More information about the Koha-patches mailing list