Prevent the possibility of double PO activation by preventing it within
the API. There have been reports in the wild of double-activation, even
though the UI is supposed to prevent it.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Dan Scott <dan@coffeecode.net>
my $po = $e->retrieve_acq_purchase_order($po_id) or return $e->die_event;
return $e->die_event unless $e->allowed('CREATE_PURCHASE_ORDER', $po->ordering_agency);
+
+ return $e->die_event(OpenILS::Event->new('PO_ALREADY_ACTIVATED'))
+ if $po->order_date; # PO cannot be re-activated
+
my $provider = $e->retrieve_acq_provider($po->provider);
# find lineitems and create assets for all