示例#1
0
 /**
  * Save customer
  *
  * @deprecated after 1.4.0.0.
  * @param Mage_Customer_Model_Customer $order
  */
 protected function _saveCustomerAfterOrder($order)
 {
     if ($this->_customer) {
         if (!$this->_customer->getId()) {
             $billing = $this->getBillingAddress();
             $customerBilling = $billing->exportCustomerAddress();
             $shipping = $this->getShippingAddress();
             $customerShipping = $shipping->exportCustomerAddress();
             $this->_customer->addAddress($customerBilling);
             if (!$shipping->getSameAsBilling()) {
                 $this->_customer->addAddress($customerShipping);
             }
             // preliminary save to find addresses id
             $this->_customer->save();
             // setting default addresses id
             $defShipping = $shipping->getSameAsBilling() ? $customerBilling->getId() : $customerShipping->getId();
             $this->_customer->setDefaultBilling($customerBilling->getId())->setDefaultShipping($defShipping)->save();
             $order->setCustomerId($this->_customer->getId());
             $billing->setCustomerId($this->_customer->getId());
             $shipping->setCustomerId($this->_customer->getId());
             $this->_customer->sendNewAccountEmail('registered', '', $order->getStoreId());
         } else {
             $saveCusstomerAddress = false;
             if ($this->getBillingAddress()->getSaveInAddressBook()) {
                 $billingAddress = $this->getBillingAddress()->exportCustomerAddress();
                 if ($this->getBillingAddress()->getCustomerAddressId()) {
                     $billingAddress->setId($this->getBillingAddress()->getCustomerAddressId());
                 }
                 $this->_customer->addAddress($billingAddress);
                 $saveCusstomerAddress = true;
             }
             if ($this->getShippingAddress()->getSaveInAddressBook()) {
                 $shippingAddress = $this->getShippingAddress()->exportCustomerAddress();
                 if ($this->getShippingAddress()->getCustomerAddressId()) {
                     $shippingAddress->setId($this->getShippingAddress()->getCustomerAddressId());
                 }
                 $this->_customer->addAddress($shippingAddress);
                 $saveCusstomerAddress = true;
             }
             if ($saveCusstomerAddress) {
                 $this->_customer->save();
             }
         }
     }
 }
示例#2
0
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    Magento
 * @package     Mage_ImportExport
 * @subpackage  integration_tests
 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
//Create customer
$customer = new Mage_Customer_Model_Customer();
$customer->setWebsiteId(1)->setEntityId(1)->setEntityTypeId(1)->setAttributeSetId(0)->setEmail('*****@*****.**')->setPassword('password')->setGroupId(1)->setStoreId(1)->setIsActive(1)->setFirstname('Charles')->setLastname('Alston')->setGender(2);
$customer->isObjectNew(true);
// Create address
$address = new Mage_Customer_Model_Address();
//  default_billing and default_shipping information would not be saved, it is needed only for simple check
$address->addData(array('firstname' => 'Charles', 'lastname' => 'Alston', 'street' => '3781 Neuport Lane', 'city' => 'Panola', 'country_id' => 'US', 'region_id' => '51', 'postcode' => '30058', 'telephone' => '770-322-3514', 'default_billing' => 1, 'default_shipping' => 1));
// Assign customer and address
$customer->addAddress($address);
$customer->save();
// Mark last address as default billing and default shipping for current customer
$customer->setDefaultBilling($address->getId());
$customer->setDefaultShipping($address->getId());
$customer->save();
Mage::unregister('_fixture/Mage_ImportExport_Customer');
Mage::register('_fixture/Mage_ImportExport_Customer', $customer);