[open-ils-commits] r12934 - trunk/Open-ILS/src/perlmods/OpenILS/Application/Acq (erickson)

svn at svn.open-ils.org svn at svn.open-ils.org
Tue Apr 21 10:05:39 EDT 2009


Author: erickson
Date: 2009-04-21 10:05:37 -0400 (Tue, 21 Apr 2009)
New Revision: 12934

Modified:
   trunk/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm
Log:
don't create dummy barcodes and callnumbers until it's absolutely necessary (i.e. at asset import time)

Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm	2009-04-21 13:58:04 UTC (rev 12933)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Acq/Order.pm	2009-04-21 14:05:37 UTC (rev 12934)
@@ -291,10 +291,14 @@
     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 @@
         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;



More information about the open-ils-commits mailing list