Example #1
0
 /**
  * Returns tax rates for request and when US only uses five digit zip code lookups
  *
  * @param Varien_Object $request
  * @return array
  */
 protected function _getRates($request)
 {
     // Grab each current value
     $countryId = $request->getCountryId();
     $currentPostcode = $request->getPostcode();
     if ($countryId == 'US') {
         // Trim whitespace
         $newPostcode = preg_replace('/\\s+/', '', $request->getPostcode());
         // Snatch only the first five characters
         $newPostcode = substr($newPostcode, 0, 5);
         // Replace the request's zip code with one that now has 5 digits
         $request->setPostcode($newPostcode);
         // Find rates by the new 5-digit zip
         $rates = parent::_getRates($request);
         // Reset the request's postcode to what it was
         $request->setPostcode($currentPostcode);
     } else {
         // Non-US should just work normally
         $rates = parent::_getRates($request);
     }
     return $rates;
 }
Example #2
0
 /**
  * Copy address
  * 
  * @param Varien_Object $srcAddress
  * @param Varien_Object $dstAddress
  * @return Innoexts_Warehouse_Helper_Data
  */
 public function copy($srcAddress, $dstAddress)
 {
     $dstAddress->setCountryId($srcAddress->getCountryId());
     $dstAddress->setRegionId($srcAddress->getRegionId());
     $dstAddress->setRegion($srcAddress->getRegion());
     $dstAddress->setCity($srcAddress->getCity());
     $dstAddress->setPostcode($srcAddress->getPostcode());
     $dstAddress->setStreet($srcAddress->getStreet());
     return $this;
 }