fix for #2440 : acquisition recieve & item creation

It has to be reintroduced, as some (most in France) libraries don't create
items on recieve, but after "equipment" step.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
Paul POULAIN 2008-07-31 14:19:51 +02:00 committed by Joshua Ferraro
parent bddafff54a
commit 0f568a8aff

View file

@ -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.