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:
parent
bddafff54a
commit
0f568a8aff
1 changed files with 30 additions and 28 deletions
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue