marking lineitem as received if all copies are received
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 23 Jun 2008 03:46:28 +0000 (03:46 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 23 Jun 2008 03:46:28 +0000 (03:46 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9915 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index c2b76fa..6803ae0 100644 (file)
@@ -632,6 +632,18 @@ sub receive_lineitem_detail_impl {
 
     # XXX update the fund_debit to encumberance=false
 
+    my $non_recv = $e->search_acq_lineitem_detail(
+        {recv_time => undef, lineitem => $lid->lineitem});
+
+    unless(@$non_recv) {
+        # if all of the lineitem details for this lineitem have 
+        # been received, mark the lineitem as received
+        my $li = $e->retrieve_acq_lineitem($lid->lineitem);
+        $li->state('received');
+        $li->edit_time('now');
+        $e->update_acq_lineitem($li) or return $e->die_event;
+    }
+
     return undef;
 }