api = $api; } public function getTypes(): array { return ['orders']; } public function getName(): string { return '[OC] Aktualizovat v SAPu'; } public function showInMassEdit() { return true; } public function execute(&$data, array $config, string $type): ActionResult { if (!($id = $this->getId())) { return new ActionResult(false, 'Objednávka nebyla nalezena!'); } $order = new \Order(); if (!$order->createFromDB($id)) { return new ActionResult(false, 'Objednávka nebyla nalezena!'); } try { if ($result = $this->api->updateOrder($order, true)) { $order->logHistory( sprintf('[SAP] Objednávka byla v SAPu aktualizována; SAPID: %s', $result) ); return new ActionResult(true, 'Objednávka byla v SAPu aktualizována.'); } } catch (SAPException $e) { return new ActionResult(false, $e->getMessage()); } return new ActionResult(false, 'Objednávku se nepodařilo aktualizovat.'); } }