/** * Return Sales Quote Address model * * @return Mage_Sales_Model_Quote_Address */ public function getBillingAddress() { if (is_null($this->_billing_address)) { if ($this->isCustomerLoggedIn()) { $this->_billing_address = $this->getQuote()->getBillingAddress(); if (!$this->_billing_address->getFirstname()) { $this->_billing_address->setFirstname($this->getQuote()->getCustomer()->getFirstname()); } if (!$this->_billing_address->getLastname()) { $this->_billing_address->setLastname($this->getQuote()->getCustomer()->getLastname()); } } else { $this->_billing_address = Mage::getModel('sales/quote_address'); } } return $this->_billing_address; }
/** * Validate customer address * * @param Mage_Sales_Model_Quote_Address $address * @return bool */ public function validateAddress(Mage_Sales_Model_Quote_Address $address) { $errors = array(); $helper = Mage::helper('customer'); $address->implodeStreetAddress(); if (!Zend_Validate::is($address->getFirstname(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the first name.'); } /* if (!Zend_Validate::is($address->getLastname(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the last name.'); } */ if (!Zend_Validate::is($address->getStreet(1), 'NotEmpty')) { $errors[] = $helper->__('Please enter the street.'); } if (!Zend_Validate::is($address->getCity(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the city.'); } if (!Zend_Validate::is($address->getTelephone(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the telephone number.'); } /* $_havingOptionalZip = Mage::helper('directory')->getCountriesWithOptionalZip(); if (!in_array($address->getCountryId(), $_havingOptionalZip) && !Zend_Validate::is($address->getPostcode(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the zip/postal code.'); } */ if (!Zend_Validate::is($address->getCountryId(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the country.'); } if ($address->getCountryModel()->getRegionCollection()->getSize() && !Zend_Validate::is($address->getRegionId(), 'NotEmpty')) { $errors[] = $helper->__('Please enter the state/province.'); } if (empty($errors) || $address->getShouldIgnoreValidation()) { return true; } return $errors; }
/** * Build a Magento address model into a Braintree array * * @param Mage_Sales_Model_Order_Address|Mage_Sales_Model_Quote_Address|Mage_Customer_Model_Address $address * * @return array */ private function buildAddress($address) { // Build up the initial array $return = array('firstName' => $address->getFirstname(), 'lastName' => $address->getLastname(), 'streetAddress' => $address->getStreet1(), 'locality' => $address->getCity(), 'postalCode' => $address->getPostcode(), 'countryCodeAlpha2' => $address->getCountry()); // Any extended address? if ($address->getStreet2()) { $return['extendedAddress'] = $address->getStreet2(); } // Region if ($address->getRegion()) { $return['region'] = $address->getRegionCode(); } // Check to see if we have a company if ($address->getCompany()) { $return['company'] = $address->getCompany(); } return $return; }
/** * Convert quote address to order address * * @param Mage_Sales_Model_Quote_Address $address * @return Mage_Sales_Model_Order_Address */ public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address) { $orderAddress = Mage::getModel('sales/order_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 $orderAddress; }
/** * Get fullname from address * * @param Mage_Sales_Model_Quote_Address $address * @return type */ protected function buildFullName($address) { $name = array(); if ($address->getFirstname()) { $name[] = $address->getFirstname(); } if ($address->getMiddlename()) { $name[] = $address->getMiddlename(); } if ($address->getLastname()) { $name[] = $address->getLastname(); } return implode(' ', $name); }
/** * returns firstname * * @param Mage_Sales_Model_Quote_Address $address * @return string */ protected function _getFirstname($address) { return $address->getFirstname(); }