示例#1
0
 public static function createFromAddress(Mage_Sales_Model_Order_Address $address)
 {
     $aAddress = new self();
     $aAddress->first_name = $address->getFirstname();
     $aAddress->last_name = $address->getLastname();
     $aAddress->street = $address->getStreet(1);
     $aAddress->city = $address->getCity();
     $aAddress->state = $address->getRegion();
     $aAddress->country = $address->getCountryModel()->getIso2Code();
     $aAddress->postcode = $address->getPostcode();
     $aAddress->phone = $address->getTelephone();
     $aAddress->alt_phone = $address->getAltTelephone();
     $aAddress->address_addition = $address->getStreet(2);
     return $aAddress;
 }
示例#2
0
 /**
  * Import address data from order address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function importOrderAddress(Mage_Sales_Model_Order_Address $address)
 {
     $this->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setEmail($address->getEmail())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet())->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax());
     return $this;
 }
示例#3
0
 /**
  * Create address request data
  *
  * @param Mage_Sales_Model_Order_Address $address
  * @return array
  */
 protected function _getAddressInfo($address)
 {
     $result = array();
     foreach ($this->_addressFileds as $addressField) {
         if ($address->hasData($addressField)) {
             $result[$addressField] = $address->getData($addressField);
         }
     }
     //Streets must be transfered separately
     $streets = $address->getStreet();
     $result['street'] = array_shift($streets);
     if ($street2 = array_shift($streets)) {
         $result['street2'] = $street2;
     }
     //Region code lookup
     $region = Mage::getModel('directory/region')->load($address->getData('region_id'));
     if ($region && $region->getId()) {
         $result['region'] = $region->getCode();
     } else {
         $result['region'] = $address->getRegion();
     }
     return $result;
 }
 /**
  * @param string                         $code
  * @param Mage_Sales_Model_Order_Address $address
  *
  * @return null|string
  */
 protected function _getStreetLine($code, Mage_Sales_Model_Order_Address $address)
 {
     if (strpos($code, 'street_') !== false) {
         $split = explode('_', $code);
         if (isset($split[1])) {
             return $address->getStreet((int) $split[1]);
         }
     }
     return null;
 }
示例#5
0
 /**
  * Convert order address to quote address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function addressToQuoteAddress(Mage_Sales_Model_Order_Address $address)
 {
     $quoteAddress = Mage::getModel('sales/quote_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet(-1))->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax());
     return $quoteAddress;
 }
 /**
  * Gets the shipping attribute based on one of the id's from
  * RicardoMartins_PagSeguro_Model_Source_Customer_Address_*
  *
  * @param Mage_Sales_Model_Order_Address $address
  * @param string $attributeId
  *
  * @return string
  */
 private function _getAddressAttributeValue($address, $attributeId)
 {
     $isStreetline = preg_match('/^street_(\\d{1})$/', $attributeId, $matches);
     if ($isStreetline !== false && isset($matches[1])) {
         //uses streetlines
         return $address->getStreet(intval($matches[1]));
     } else {
         if ($attributeId == '') {
             //do not tell pagseguro
             return '';
         }
     }
     return (string) $address->getData($attributeId);
 }
 /**
  * Pega um atributo de endereço baseado em um dos Id's vindos de RicardoMartins_PagSeguro_Model_Source_Customer_Address_*
  * @param Mage_Sales_Model_Order_Address $address
  * @param string $attribute_id
  */
 private function _getAddressAttributeValue($address, $attribute_id)
 {
     $is_streetline = preg_match('/^street_(\\d{1})$/', $attribute_id, $matches);
     if ($is_streetline !== false && isset($matches[1])) {
         return $address->getStreet(intval($matches[1]));
     } else {
         if ($attribute_id == '') {
             return '';
         }
     }
     return (string) $address->getData($attribute_id);
 }
示例#8
0
 protected function _normalizeReceiverAddress(Mage_Sales_Model_Order_Address &$address)
 {
     /* @var $address Mage_Sales_Model_Order_Address */
     if (false === $this->get('shipment')->hasCustomizedAddress()) {
         // calculate street_name, street_number, care_of
         $parts = Mage::helper('intraship')->splitStreet($address->getStreet(1));
         $address->setStreetName($parts['street_name'])->setStreetNumber($parts['street_number'])->setCareOf($parts['care_of']);
         if (false !== stripos($address->getStreet(2), 'packstation')) {
             // append packstation info, if applicable
             $address->setIdNumber(preg_replace('/\\D/', '', $address->getStreet(1)))->setStationId($address->getStreet(2));
         } elseif (strlen($address->getStreet(2))) {
             // append second address row, if not empty
             $address->setCareOf($address->getCareOf() . ' ' . $address->getStreet(2));
         }
     } else {
         $customized = $this->get('shipment')->getCustomizedAddress();
         /* @var $customized Dhl_Intraship_Model_Address */
         // take street_name, street_number, care_of over from customized address
         $address->setStreetName($customized->offsetGet('street_name'))->setStreetNumber($customized->offsetGet('street_number'))->setCareOf($customized->offsetGet('care_of'));
         // override fields that may have been customized
         $address->setSuffix($customized->offsetGet('suffix'))->setPrefix($customized->offsetGet('prefix'))->setFirstname($customized->offsetGet('firstname'))->setMiddlename($customized->offsetGet('middlename'))->setLastname($customized->offsetGet('lastname'))->setCity($customized->offsetGet('city'))->setCompany($customized->offsetGet('company'))->setRegion($customized->offsetGet('region'))->setPostcode($customized->offsetGet('postcode'))->setTelephone($customized->offsetGet('telephone'))->setEmail($customized->offsetGet('email'))->setCountryId($customized->offsetGet('country_id'));
         // set packstation info
         $address->setIdNumber($customized->offsetGet('id_number'))->setStationId($customized->offsetGet('station_id'));
     }
 }