/** * 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; }
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); }
/** * 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); } }
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; } }