Exemplo n.º 1
0
 /**
  * @param Mage_Sales_Model_Order_Shipment_Track $magento_track
  * @return mixed
  */
 private function _saveTrack(Mage_Sales_Model_Order_Shipment_Track $magento_track)
 {
     $magento_track_data = $magento_track->getData();
     $magento_order_data = $magento_track->getShipment()->getOrder()->getData();
     $magento_shipping_address_data = $magento_track->getShipment()->getOrder()->getShippingAddress()->getData();
     $track = Mage::getModel('track/track');
     $track->setTrackingNumber($this->_getTrackNo($magento_track));
     $track->setShipCompCode($magento_track_data['carrier_code']);
     $track->setTitle($magento_order_data['increment_id']);
     $track->setOrderId($magento_order_data['increment_id']);
     if ($magento_order_data['customer_email'] && $magento_order_data['customer_email'] != '') {
         $track->setEmail($magento_order_data['customer_email']);
     }
     if ($magento_shipping_address_data['telephone'] && $magento_shipping_address_data['telephone'] != '') {
         $track->setTelephone($magento_shipping_address_data['telephone']);
     }
     $config = $this->_getWebsiteConfig($magento_track->getShipment()->getOrder());
     if ($config->status) {
         $track->setPosted(self::POSTED_NOT_YET);
     } else {
         // mark it as disabled so that cron will not touch it
         $track->setPosted(self::POSTED_DISABLED);
     }
     $track->save();
     return $track;
 }