public function orderPushRepeat() { /** @var \Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report $result */ $result = $this->_manObj->create(\Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report::class); $orders = $this->_collector->getOrdersToReplicate(); $entries = []; foreach ($orders as $order) { /** @var \Praxigento\Odoo\Service\Replicate\Request\OrderSave $req */ $req = $this->_manObj->create(\Praxigento\Odoo\Service\Replicate\Request\OrderSave::class); $req->setSaleOrder($order); /** @var \Praxigento\Odoo\Service\Replicate\Response\OrderSave $resp */ $resp = $this->_callReplicate->orderSave($req); $respOdoo = $resp->getOdooResponse(); /** @var \Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report\Entry $reportEntry */ $reportEntry = $this->_manObj->create(\Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report\Entry::class); $id = $order->getEntityId(); $number = $order->getIncrementId(); $reportEntry->setIdMage($id); $reportEntry->setNumber($number); if ($respOdoo instanceof \Praxigento\Odoo\Data\Odoo\Error) { $reportEntry->setIsSucceed(false); $debug = $respOdoo->getDebug(); $name = $respOdoo->getName(); $reportEntry->setDebug($debug); $reportEntry->setErrorName($name); } else { $reportEntry->setIsSucceed(true); } $entries[] = $reportEntry; } $result->setEntries($entries); return $result; }
public function test_orderSave() { $req = new Request\OrderSave(); /* load Magento order */ $mageOrder = $this->_mageRepoSaleOrder->get(70); $req->setSaleOrder($mageOrder); $resp = $this->obj->orderSave($req); $this->assertNotNull($resp); }
public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Sales\Model\Order $order */ $order = $observer->getData(self::DATA_ORDER); $state = $order->getState(); if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING) { try { $this->_logger->debug("Call to Odoo service to replicate order."); $req = new \Praxigento\Odoo\Service\Replicate\Request\OrderSave(); $req->setSaleOrder($order); $this->_callReplicate->orderSave($req); } catch (\Exception $e) { /* catch all exceptions and steal them */ $msg = 'Some error is occurred on sale order saving to Odoo. Error: ' . $e->getMessage(); $this->_logger->error($msg); } } }