예제 #1
0
파일: Handler.php 프로젝트: ppkowalski/M2E
 public function handle(Ess_M2ePro_Model_Order $order, Mage_Sales_Model_Order_Shipment $shipment)
 {
     if (!$order->isComponentModePlay()) {
         throw new InvalidArgumentException('Invalid Component Mode.');
     }
     $trackingDetails = $this->getTrackingDetails($shipment);
     if (!$order->getChildObject()->canUpdateShippingStatus($trackingDetails)) {
         return self::HANDLE_RESULT_SKIPPED;
     }
     $items = $this->getItemsToShip($order, $shipment);
     if (count($items) == 0) {
         return self::HANDLE_RESULT_FAILED;
     }
     foreach ($items as $item) {
         $item->getChildObject()->updateShippingStatus($trackingDetails, Ess_M2ePro_Model_Order_Change::CREATOR_TYPE_OBSERVER);
     }
     return self::HANDLE_RESULT_SUCCEEDED;
 }