protected function processResponseData($response) { $response = parent::processResponseData($response); Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION); try { $account = $this->getAccount(); if (!$account->getChildObject()->isOrdersModeEnabled()) { return; } $amazonOrders = $this->processAmazonOrders($response, $account); if (empty($amazonOrders)) { return; } $this->createMagentoOrders($amazonOrders); } catch (Exception $exception) { $this->getSynchronizationLog()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH); Mage::helper('M2ePro/Module_Exception')->process($exception); } }
protected function processResponseData($response) { $response = parent::processResponseData($response); Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Model_Order_Log::INITIATOR_EXTENSION); try { $account = $this->getAccount(); if (!$account->getChildObject()->isOrdersModeEnabled()) { return; } $orders = array(); $ordersLastSynchronization = $account->getData('orders_last_synchronization'); // Create m2e orders //--------------------------- foreach ($response as $orderData) { $currentOrderUpdateDate = $orderData['purchase_update_date']; if (strtotime($currentOrderUpdateDate) > strtotime($ordersLastSynchronization)) { $ordersLastSynchronization = $currentOrderUpdateDate; } /** @var $orderBuilder Ess_M2ePro_Model_Amazon_Order_Builder */ $orderBuilder = Mage::getModel('M2ePro/Amazon_Order_Builder'); $orderBuilder->initialize($account, $orderData); $order = $orderBuilder->process(); if (!$order) { continue; } $orders[] = $order; } //--------------------------- $account->setData('orders_last_synchronization', $ordersLastSynchronization)->save(); if (count($orders) == 0) { return; } // Create magento orders //--------------------------- foreach ($orders as $order) { /** @var $order Ess_M2ePro_Model_Order */ if ($order->canCreateMagentoOrder()) { try { $order->createMagentoOrder(); } catch (Exception $e) { Mage::helper('M2ePro/Module_Exception')->process($e); } } if ($order->getReserve()->isNotProcessed() && $order->isReservable()) { $order->getReserve()->place(); } if ($order->getChildObject()->canCreateInvoice()) { $order->createInvoice(); } if ($order->getChildObject()->canCreateShipment()) { $order->createShipment(); } if ($order->getStatusUpdateRequired()) { $order->updateMagentoOrderStatus(); } // ------------- } //--------------------------- } catch (Exception $exception) { $this->getSynchLogModel()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH); Mage::helper('M2ePro/Module_Exception')->process($exception); } }
public function eventFailedExecuting($message) { parent::eventFailedExecuting($message); $this->getSynchronizationLog()->addMessage(Mage::helper('M2ePro')->__($message), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH); }