From: erickson Date: Tue, 21 Apr 2009 14:05:37 +0000 (+0000) Subject: don't create dummy barcodes and callnumbers until it's absolutely necessary (i.e... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=9a2439ec9e823985d042e999af550c9141913005;p=evergreen%2Ftadl.git 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 --- 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;