Example #1
0
 public function handle(\Ess\M2ePro\Model\Order $order, \Magento\Sales\Model\Order\Shipment $shipment)
 {
     if (!$order->isComponentModeEbay()) {
         throw new \InvalidArgumentException('Invalid component mode.');
     }
     $trackingDetails = $this->getTrackingDetails($shipment);
     if (!$order->getChildObject()->canUpdateShippingStatus($trackingDetails)) {
         return self::HANDLE_RESULT_SKIPPED;
     }
     if (empty($trackingDetails)) {
         return $this->processOrder($order) ? self::HANDLE_RESULT_SUCCEEDED : self::HANDLE_RESULT_FAILED;
     }
     $itemsToShip = $this->getItemsToShip($order, $shipment);
     if (empty($itemsToShip) || count($itemsToShip) == $order->getItemsCollection()->getSize()) {
         return $this->processOrder($order, $trackingDetails) ? self::HANDLE_RESULT_SUCCEEDED : self::HANDLE_RESULT_FAILED;
     }
     $succeeded = true;
     foreach ($itemsToShip as $item) {
         if ($this->processOrderItem($item, $trackingDetails)) {
             continue;
         }
         $succeeded = false;
     }
     return $succeeded ? self::HANDLE_RESULT_SUCCEEDED : self::HANDLE_RESULT_FAILED;
 }
Example #2
0
 private function addSessionErrorMessage(\Ess\M2ePro\Model\Order $order)
 {
     if ($order->isComponentModeEbay()) {
         $url = $this->urlBuilder->getUrl('*/ebay_order_log/index', array('order_id' => $order->getId()));
     } else {
         $url = $this->urlBuilder->getUrl('*/amazon_order_log/index', array('order_id' => $order->getId()));
     }
     $chanelTitle = $order->getComponentTitle();
     // M2ePro\TRANSLATIONS
     // Shipping Status for %chanel_title% Order was not updated. View <a href="%url%" target="_blank" >Order Log</a> for more details.
     $message = $this->getHelper('Module\\Translation')->__('Shipping Status for %chanel_title% Order was not updated.' . ' View <a href="%url% target="_blank" >Order Log</a>' . ' for more details.', $chanelTitle, $url);
     $this->messageManager->addError($message);
 }