From 9a2439ec9e823985d042e999af550c9141913005 Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 21 Apr 2009 14:05:37 +0000 Subject: [PATCH] don't create dummy barcodes and callnumbers until it's absolutely necessary (i.e. at asset import time) git-svn-id: svn://svn.open-ils.org/ILS/trunk@12934 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm index ecf8de9478..7a2a9a5097 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm @@ -291,10 +291,14 @@ sub create_lineitem_detail { my $lid = Fieldmapper::acq::lineitem_detail->new; $lid->$_($args{$_}) for keys %args; $lid->clear_id; - $mgr->editor->create_acq_lineitem_detail($lid) or return 0; $mgr->add_lid; + return $mgr->editor->create_acq_lineitem_detail($lid); +} + - # create some default values +# flesh out any required data with default values where appropriate +sub complete_lineitem_detail { + my($mgr, $lid) = @_; unless($lid->barcode) { my $pfx = $U->ou_ancestor_setting_value($lid->owning_lib, 'acq.tmp_barcode_prefix') || 'ACQ'; $lid->barcode($pfx.$lid->id); @@ -721,6 +725,9 @@ sub create_lineitem_assets { my $lid = $mgr->editor->retrieve_acq_lineitem_detail($lid_id) or return 0; next if $lid->eg_copy_id; + # apply defaults if necessary + return 0 unless complete_lineitem_detail($mgr, $lid); + my $org = $lid->owning_lib; my $label = $lid->cn_label; my $bibid = $li->eg_bib_id; -- 2.11.0