on lineitem_detail create, generate temp barcode and callnumber using optional org...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 13 Aug 2008 15:54:24 +0000 (15:54 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 13 Aug 2008 15:54:24 +0000 (15:54 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10350 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Acq/Lineitem.pm

index e0e4489..f3cfb8d 100644 (file)
@@ -534,8 +534,25 @@ sub create_lineitem_detail {
     }
 
     $e->create_acq_lineitem_detail($li_detail) or return $e->die_event;
+
+    unless($li_detail->barcode) {
+        my $pfx = $U->ou_ancestor_setting_value($li_detail->owning_lib, 'acq.tmp_barcode_prefix') || 'ACQ';
+        $li_detail->barcode($pfx.$li_detail->id);
+    }
+    unless($li_detail->cn_label) {
+        my $pfx = $U->ou_ancestor_setting_value($li_detail->owning_lib, 'acq.tmp_callnumber_prefix') || 'ACQ';
+        $li_detail->cn_label($pfx.$li_detail->id);
+    }
+
+    if(my $loc = $U->ou_ancestor_setting_value($li_detail->owning_lib, 'acq.default_copy_location')) {
+        $li_detail->location($loc);
+    }
+
+    $e->update_acq_lineitem_detail($li_detail) or return $e->die_event;
+
     $e->commit;
-    return $li_detail->id;
+    return $li_detail if $$options{return_obj};
+    return $li_detail->id
 }
 
 __PACKAGE__->register_method(