/**
  * Prepare and set request to this instance
  *
  * @param Mage_Shipping_Model_Rate_Request $request
  * @return Mage_Usa_Model_Shipping_Carrier_Ups
  */
 public function setRequest(Mage_Shipping_Model_Rate_Request $request)
 {
     $quote = $request->getQuote();
     if (!$quote || !$quote->getId()) {
         $quote = Mage::getSingleton('checkout/session')->getQuote();
     }
     if (!$quote || !$quote->getId() && Mage::registry('recurring_order', false)) {
         $quote = Mage::registry('recurring_order')->getQuote();
     }
     if ($quote && $quote->getId()) {
         Mage::unregister('recurring_quote');
         Mage::register('recurring_quote', $quote);
     }
     parent::setRequest($request);
     if (!$quote || !$quote->getId()) {
         return $this;
     }
     // last attempt at checking this damn thing
     if (!$quote->getShippingAddress()->getResidentialIndicator()) {
         Mage::dispatchEvent('widgetized_validate_address', array($this->_eventObject => $this, 'order' => $quote));
     }
     // Manually overriding the residential indicator
     if ($indicator = $quote->getShippingAddress()->getResidentialIndicator()) {
         $this->_rawRequest->setDestType($indicator);
     }
     return $this;
 }
Example #2
0
 public function collectRates(Mage_Shipping_Model_Rate_Request $request)
 {
     // Dimensional Shipping takes precendence over UpsCalendar
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Shipusa', 'shipping/shipusa/active')) {
         if (!Mage::registry('shipusa_upsmodel')) {
             $model = Mage::getModel('shipusa/shipping_carrier_ups');
             Mage::register('shipusa_upsmodel', $model);
         }
         return Mage::registry('shipusa_upsmodel')->collectRates($request);
     }
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Upscalendar', 'shipping/webshopapps_dateshiphelper/active')) {
         if (!Mage::registry('upscalendar_upsmodel')) {
             $model = Mage::getModel('upscalendar/usa_shipping_carrier_ups');
             Mage::register('upscalendar_upsmodel', $model);
         }
         return Mage::registry('upscalendar_upsmodel')->collectRates($request);
     }
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_UPSDateShipping', 'shipping/webshopapps_dateshiphelper/active')) {
         if (!Mage::registry('upsdateshipping_upsmodel')) {
             $model = Mage::getModel('webshopapps_upsdateshipping/usa_shipping_carrier_ups');
             Mage::register('upsdateshipping_upsmodel', $model);
         }
         return Mage::registry('upsdateshipping_upsmodel')->collectRates($request);
     }
     // default
     return parent::collectRates($request);
 }
Example #3
0
 /**
  * UC-17
  * Added to ensure the max weight doesn't come into play with time in transit when used with dim shipping.
  *
  * @param Mage_Shipping_Model_Rate_Request $request
  * @return bool|Mage_Shipping_Model_Carrier_Abstract|Mage_Shipping_Model_Rate_Result_Error
  */
 public function proccessAdditionalValidation(Mage_Shipping_Model_Rate_Request $request)
 {
     if (Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Shipusa', 'shipping/shipusa/active')) {
         return Mage::getModel('shipusa/shipping_carrier_ups')->proccessAdditionalValidation($request);
     } else {
         return parent::proccessAdditionalValidation($request);
     }
 }
Example #4
0
 public function getShipmentByCode($code, $origin = null)
 {
     if (!Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Dropship', 'carriers/dropship/active') && !Mage::helper('wsacommon')->isModuleEnabled('Webshopapps_Dropcommon')) {
         return parent::getShipmentByCode($code, $origin);
     }
     if (!is_object($this->_request) || !$this->_request->getUpsShippingOrigin()) {
         return parent::getShipmentByCode($code, $origin);
     }
     if ($origin === null) {
         $origin = $this->_request->getUpsShippingOrigin();
         if ($origin == null) {
             $origin = $this->getConfigData('origin_shipment');
         }
     }
     $arr = $this->getCode('originShipment', $origin);
     if (isset($arr[$code])) {
         return $arr[$code];
     } else {
         return false;
     }
 }