create default address on customer creation

This commit is contained in:
Manuel Raynaud
2013-07-12 16:33:30 +02:00
parent dc22d5bf59
commit 541e63521d

View File

@@ -2,6 +2,7 @@
namespace Thelia\Model; namespace Thelia\Model;
use Symfony\Component\Config\Definition\Exception\Exception;
use Thelia\Model\Base\Customer as BaseCustomer; use Thelia\Model\Base\Customer as BaseCustomer;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
@@ -12,6 +13,7 @@ use Thelia\Core\Event\TheliaEvents;
use Thelia\Core\Security\User\UserInterface; use Thelia\Core\Security\User\UserInterface;
use Propel\Runtime\Connection\ConnectionInterface; use Propel\Runtime\Connection\ConnectionInterface;
use Thelia\Model\Map\CustomerTableMap;
/** /**
* Skeleton subclass for representing a row from the 'customer' table. * Skeleton subclass for representing a row from the 'customer' table.
@@ -52,16 +54,7 @@ class Customer extends BaseCustomer implements UserInterface
public function createOrUpdate($titleId, $firstname, $lastname, $address1, $address2, $address3, $phone, $cellphone, $zipcode, $countryId, $email, $plainPassword = null, $lang = null, $reseller = 0, $sponsor = null, $discount = 0) public function createOrUpdate($titleId, $firstname, $lastname, $address1, $address2, $address3, $phone, $cellphone, $zipcode, $countryId, $email, $plainPassword = null, $lang = null, $reseller = 0, $sponsor = null, $discount = 0)
{ {
$this $this
->setCustomerTitleId($titleId)
->setFirstname($firstname)
->setLastname($lastname)
->setAddress1($address1)
->setAddress2($address2)
->setAddress3($address3)
->setPhone($phone)
->setCellphone($cellphone)
->setZipcode($zipcode)
->setCountryId($countryId)
->setEmail($email) ->setEmail($email)
->setPassword($plainPassword) ->setPassword($plainPassword)
->setReseller($reseller) ->setReseller($reseller)
@@ -73,7 +66,49 @@ class Customer extends BaseCustomer implements UserInterface
$this->setLang($lang); $this->setLang($lang);
} }
$this->save();
$con = Propel::getWriteConnection(CustomerTableMap::DATABASE_NAME);
$con->beginTransaction();
try {
$this->save($con);
$address = new Address();
$address
->setCustomerTitleId($titleId)
->setFirstname($firstname)
->setLastname($lastname)
->setAddress1($address1)
->setAddress2($address2)
->setAddress3($address3)
->setPhone($phone)
->setCellphone($cellphone)
->setZipcode($zipcode)
->setCountryId($countryId)
->setDefault(1)
->setCustomer($this)
->save($con);
$con->commit();
} catch(Exception $e) {
$con->rollback();
}
/**
* ->setCustomerTitleId($titleId)
->setFirstname($firstname)
->setLastname($lastname)
->setAddress1($address1)
->setAddress2($address2)
->setAddress3($address3)
->setPhone($phone)
->setCellphone($cellphone)
->setZipcode($zipcode)
->setCountryId($countryId)
*/
} }