Apply the edi_message.account value when sending EDI order messages via
edi_order_pusher.pl. This solves a problem where EDI ORDERS message
were not visible in the interface, because there was no way to complete
the permission check.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
$message->purchase_order($po_id);
$message->message_type('ORDERS');
$message->isnew(1);
+
+ my $po = $e->retrieve_acq_purchase_order([$po_id, {
+ flesh => 2,
+ flesh_fields => {
+ acqpo => ['provider'],
+ acqpro => ['edi_default'],
+ }
+ }]);
+
+ if (!$po->provider->edi_default) {
+ announce('error', "Provider for PO $po_id has no default EDI ".
+ "account, EDI message will not be sent.");
+ next;
+ }
+
+ $message->account($po->provider->edi_default->id);
}
$message->edi($edi);