public function setRequest(Mage_Shipping_Model_Rate_Request $request) { $this->_request = $request; $r = new Varien_Object(); if ($request->getLimitMethod()) { $r->setService($request->getLimitMethod()); } else { $r->setService('ALL'); } if ($request->getAramexUserid()) { $userId = $request->getAramexUserid(); } else { $userId = $this->getConfigData('userid'); } $r->setUserId($userId); /* if ($request->getAramexContainer()) { $container = $request->getAramexContainer(); } else { $container = $this->getConfigData('container'); } $r->setContainer($container); */ if ($request->getAramexSize()) { $size = $request->getAramexSize(); } else { $size = $this->getConfigData('size'); } $r->setSize($size); if ($request->getAramexMachinable()) { $machinable = $request->getAramexMachinable(); } else { $machinable = $this->getConfigData('machinable'); } $r->setMachinable($machinable); if ($request->getOrigPostcode()) { $r->setOrigPostal($request->getOrigPostcode()); } else { $r->setOrigPostal(Mage::getStoreConfig('shipping/origin/postcode')); } if ($request->getDestCountryId()) { $destCountry = $request->getDestCountryId(); } else { $destCountry = self::USA_COUNTRY_ID; } $r->setDestCountryId($destCountry); $countries = Mage::getResourceModel('directory/country_collection')->addCountryIdFilter($destCountry)->load()->getItems(); $country = array_shift($countries); $countryName = $country->getName(); $r->setDestCountryName($countryName); if ($request->getDestCity()) { $r->setDestCity($request->getDestCity()); } if ($request->getDestPostcode()) { $r->setDestPostal($request->getDestPostcode()); } $weight = $this->getTotalNumOfBoxes($request->getPackageWeight()); $weight = $this->getTotalNumOfBoxes($request->getPackageWeight()); $r->setWeightPounds($weight); $r->setPackageQty($request->getPackageQty()); $r->setWeightOunces(round(($weight - floor($weight)) * 16, 1)); if ($request->getFreeMethodWeight() != $request->getPackageWeight()) { $r->setFreeMethodWeight($request->getFreeMethodWeight()); } $r->setDestState($request->getDestRegionCode()); $r->setValue($request->getPackageValue()); $r->setValueWithDiscount($request->getPackageValueWithDiscount()); $this->_rawRequest = $r; return $this; }