Пример #1
0
 public function updateProfile(CustomerCreateOrUpdateEvent $event)
 {
     $customer = $event->getCustomer();
     $customer->setDispatcher($event->getDispatcher());
     if ($event->getTitle() !== null) {
         $customer->setTitleId($event->getTitle());
     }
     if ($event->getFirstname() !== null) {
         $customer->setFirstname($event->getFirstname());
     }
     if ($event->getLastname() !== null) {
         $customer->setLastname($event->getLastname());
     }
     if ($event->getEmail() !== null) {
         $customer->setEmail($event->getEmail());
     }
     if ($event->getPassword() !== null) {
         $customer->setPassword($event->getPassword());
     }
     if ($event->getReseller() !== null) {
         $customer->setReseller($event->getReseller());
     }
     if ($event->getSponsor() !== null) {
         $customer->setSponsor($event->getSponsor());
     }
     if ($event->getDiscount() !== null) {
         $customer->setDiscount($event->getDiscount());
     }
     $customer->save();
     $event->setCustomer($customer);
 }
 /**
  * @param CustomerCreateOrUpdateEvent $event
  */
 public function customerUpdateProfile(CustomerCreateOrUpdateEvent $event)
 {
     $form = $this->request->request->get(self::THELIA_CUSTOMER_UPDATE_FORM_NAME);
     if (is_null($form) or !array_key_exists(CustomerFamilyFormListener::CUSTOMER_FAMILY_CODE_FIELD_NAME, $form)) {
         // Nothing to update => stop here !
         return;
     }
     // Erase SIRET and VAT if the customer is now in the 'particular' customer family.
     if ($form[CustomerFamilyFormListener::CUSTOMER_FAMILY_CODE_FIELD_NAME] == CustomerFamily::CUSTOMER_FAMILY_PARTICULAR) {
         $siret = '';
         $vat = '';
     } else {
         $siret = $form[CustomerFamilyFormListener::CUSTOMER_FAMILY_SIRET_FIELD_NAME];
         $vat = $form[CustomerFamilyFormListener::CUSTOMER_FAMILY_VAT_FIELD_NAME];
     }
     $newCustomerFamily = CustomerFamilyQuery::create()->findOneByCode($form[CustomerFamilyFormListener::CUSTOMER_FAMILY_CODE_FIELD_NAME]);
     $updateEvent = new CustomerCustomerFamilyEvent($event->getCustomer()->getId());
     $updateEvent->setCustomerFamilyId($newCustomerFamily->getId())->setSiret($siret)->setVat($vat);
     $event->getDispatcher()->dispatch(CustomerFamilyEvents::CUSTOMER_CUSTOMER_FAMILY_UPDATE, $updateEvent);
 }