示例#1
0
 public function userInit()
 {
     $user = null;
     $email = $this->userValues["contact"]["email"];
     try {
         $user = $this->userService->getUserEmail($email);
     } catch (Exceptions\NoResultException $ex) {
         $this->logger->addDebug($ex);
     }
     if ($user === null) {
         $this->logger->addInfo("Users module initializer - User - no user with email {$email} found. New one is gonna be created.");
         $addrValues = $this->userValues["contact"]["address"];
         $address = new Address((array) $addrValues);
         $address->applyAccountNumber($this->userValues["contact"]["address"]["accountNumber"]);
         $address->applyIdentificationNumber($this->userValues["contact"]["address"]["identificationNumber"]);
         $address->applyTaxIdentificationNumber($this->userValues["contact"]["address"]["taxIdentificationNumber"]);
         $contValues = $this->userValues["contact"];
         $contact = new Contact((array) $contValues);
         $contact->setAddress($address);
         $userValues = $this->userValues;
         unset($userValues["contact"]);
         $user = new User((array) $userValues);
         $user->setActive(true);
         $user->setContact($contact);
         $user->setBirthNumber("0000000000");
         $this->userService->createUser($user);
     }
 }
 /**
  * Hydrate User entity from UserForm
  * @param \Nette\ArrayHash $values
  * @return \App\Model\Entities\User
  */
 public static function hydrateUserFromHash(ArrayHash $values)
 {
     $nu = new User();
     $nu->fromArray((array) $values);
     $na = new Address();
     $na->fromArray((array) $values);
     $nc = new Contact();
     $nc->fromArray((array) $values);
     $nc->setAddress($na);
     $nu->setContact($nc);
     return $nu;
 }
示例#3
0
 /**
  * Calls rollback
  * @param \App\Model\Entities\User $uDb
  * @param \App\Model\Entities\User $formUser
  * @throws Exceptions\DuplicateEntryException
  * @throws Exceptions\DataErrorException
  */
 private function handleUpdateUser(User $uDb, User $formUser)
 {
     $identifier = null;
     $now = new DateTime();
     try {
         $this->editorTypeHandle($uDb->getWebProfile());
         $formUser->setWebProfile($uDb->getWebProfile());
         $formUser->setCreated($uDb->getCreated());
         $formUser->setUpdated($now);
         $formUser->setLastLogin($uDb->getLastLogin());
         $formUser->setContact($uDb->getContact());
         $uDb->fromArray($formUser->toArray());
         $this->entityManager->merge($uDb);
         $this->entityManager->flush();
     } catch (DuplicateEntryException $e) {
         $this->imageService->removeResource($identifier);
         throw new Exceptions\DuplicateEntryException($e->getMessage(), $e->getCode(), $e->getPrevious());
     } catch (\Exception $e) {
         $this->imageService->removeResource($identifier);
         throw new Exceptions\DataErrorException($e->getMessage(), $e->getCode(), $e->getPrevious());
     }
 }