Populate items.cn_source in acq receive. However, items.cn_sort is not calculated...
authorRyan Higgins <rch@liblime.com>
Fri, 25 Jul 2008 14:35:44 +0000 (09:35 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Sun, 27 Jul 2008 11:05:22 +0000 (06:05 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
acqui/finishreceive.pl

index c43d858..8cf8d4f 100755 (executable)
@@ -58,9 +58,8 @@ my $cnt=0;
 my $error_url_str;     
 
 if ($quantityrec > $origquantityrec ) {
-       my @items_err ;
        foreach my $bc (@barcode) {
-        my $itemRecord = TransformKohaToMarc({
+               my $item_hash = {
                     "items.replacementprice" => $replacement,
                     "items.price"            => $cost,
                     "items.booksellerid"     => $supplierid,
@@ -71,13 +70,16 @@ if ($quantityrec > $origquantityrec ) {
                     "items.itype"          => $itemtype[$cnt],
                     "items.location"          => $location[$cnt],
                     "items.enumchron"          => $enumchron[$cnt], # FIXME : No integration here with serials module.
-                    "items.loan"             => 0, });
+                    "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++;
-               my $item_hash = TransformMarcToKoha(undef,$itemRecord,'','items');
-               # FIXME: possible race condition here.  duplicate barcode check should happen in AddItem, but for now we have to do it here.
+               $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) {
-                       push @items_err, \%err;
                        for my $err_cnd (keys %err) {
                                $error_url_str .= "&error=" . $err_cnd . "&error_param=" . $err{$err_cnd};
                        }