added missing commit. updated po perms to allow for object-specific perms on POs
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 19 Feb 2008 15:45:18 +0000 (15:45 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 19 Feb 2008 15:45:18 +0000 (15:45 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8774 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index 59825d2..7755fc1 100644 (file)
@@ -563,8 +563,10 @@ sub create_po_lineitem {
     my $po = $e->retrieve_acq_purchase_order($po_li->purchase_order)
         or return $e->die_event;
 
-    return OpenILS::Event->new('BAD_PARAMS') 
-        unless $e->requestor->id == $po->owner;
+    if($e->requestor->id != $po->owner) {
+        return $e->die_event unless 
+            $e->allowed('MANAGE_PURCHASE_ORDER', undef, $po);
+    }
 
     if($$options{picklist_entry}) {
         # if a picklist_entry ID is provided, use that as the basis for this item
@@ -587,6 +589,7 @@ sub create_po_lineitem {
     return $e->die_event unless $e->allowed('MANAGE_PROVIDER', $provider->owner, $provider);
 
     $e->create_acq_po_lineitem($po_li) or return $e->die_event;
+    $e->commit;
     return $po_li->id;
 }