private function registerUser(RegistrationForm $form) { $values = $form->getValues(); $user = new User($values->email, $values->password); $user->setName($values->address->name); $user->setStreet($values->address->street); $user->setCity($values->address->city); $user->setZip($values->address->zip); try { if (!$form->hasErrors()) { $this->userService->create($user); $this->flashMessage('Account has been created.'); $this->user->login($user->getEmail(), $values->password); $this->currentCartService->consolidateCurrentCartWithCurrentUser(); $this->restoreRequest($this->backlink); $this->redirect(':Front:Home:Homepage:'); } } catch (EntityDuplicateException $e) { $form->addError(sprintf('User with e-mail %s already exists.', $user->getEmail())); } }