/**
  * 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;
 }
示例#2
0
 public function setRequest(Mage_Shipping_Model_Rate_Request $request)
 {
     if (!Mage::getStoreConfig('shipping/shipusa/active')) {
         return parent::setRequest($request);
     }
     parent::setRequest($request);
     $this->_setShipUsaRequest($request);
     return $this;
 }