Beispiel #1
0
 /**
  * @param UserInterface $user
  * @return UserInterface
  */
 public function changeMail(UserInterface $user)
 {
     $entityManager = $this->entityManager;
     $userExtensionName = $this->collectionOptions->getEntityOptions()->getUserExtension();
     /** @var \PServerCore\Entity\UserExtension $userExtension */
     $userExtension = new $userExtensionName();
     /** @var \PServerCore\Entity\Repository\UserExtension $extensionRepository */
     $extensionRepository = $entityManager->getRepository($userExtensionName);
     $userExtension = $extensionRepository->findOneBy(['key' => $userExtension::KEY_ADD_EMAIL, 'user' => $user]);
     $user->setEmail($userExtension->getValue());
     $entityManager->persist($user);
     $entityManager->flush();
     $extensionRepository->deleteExtension($user, $userExtension::KEY_ADD_EMAIL);
     return $user;
 }