/** * 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('Mage_Sales_Model_Order_Address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId()); Mage::helper('Mage_Core_Helper_Data')->copyFieldset('sales_convert_quote_address', 'to_order_address', $address, $orderAddress); Mage::dispatchEvent('sales_convert_quote_address_to_order_address', array('address' => $address, 'order_address' => $orderAddress)); return $orderAddress; }
/** * Setup shipping address and set as customer default if indicated. * * @param $customer Mage_Customer_Model_Customer * @param Mage_Sales_Model_Quote_Address $shipping * * @return Mage_Sales_Model_Quote_Address $shipping | null */ protected function _prepareCustomerShipping(Mage_Customer_Model_Customer $customer, Mage_Sales_Model_Quote_Address $shipping) { if ($shipping && (!$shipping->getCustomerId() && !$shipping->getSameAsBilling() || !$shipping->getSameAsBilling() && $shipping->getSaveInAddressBook())) { $customerShipping = $shipping->exportCustomerAddress(); $customer->addAddress($customerShipping); $shipping->setCustomerAddress($customerShipping); return $customerShipping; } return null; }
/** * 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; }
/** * 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 = AO::getModel('sales/order_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId()); AO::helper('core')->copyFieldset('sales_convert_quote_address', 'to_order_address', $address, $orderAddress); // ->setPrefix($address->getPrefix()) // ->setFirstname($address->getFirstname()) // ->setMiddlename($address->getMiddlename()) // ->setLastname($address->getLastname()) // ->setSuffix($address->getSuffix()) // ->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()); AO::dispatchEvent('sales_convert_quote_address_to_order_address', array('address' => $address, 'order_address' => $orderAddress)); return $orderAddress; }