userRepository = $userRepository; $this->mailer = $mailer; $this->urlGenerator = $urlGenerator; $this->cotisations = $cotisations; $this->sender = $configuration->obtenir('mails|email_expediteur'); } public function generateRandomPassword() { return substr(md5(uniqid(mt_rand(), true)), 0, 10); } public function resetPassword(User $user) { $newPassword = $this->generateRandomPassword(); $user->setPlainPassword($newPassword); $this->userRepository->save($user); $login = $user->getUsername(); $url = $this->urlGenerator->generate('admin_login'); $message = new Message( 'AFUP : Mot de passe perdu ?', new MailUser($this->sender), new MailUser($user->getEmail(), $user->getFirstName() . ' ' . $user->getLastName()) ); $message->setContent(<<mailer->send($message); } /** * @param string $email */ public function resetPasswordForEmail($email) { $user = $this->userRepository->loadUserByEmaiOrAlternateEmail($email); if (null !== $user) { $this->resetPassword($user); } } public function sendWelcomeEmail(User $user) { $message = new Message( 'Votre compte afup.org', MailUserFactory::bureau(), new MailUser($user->getEmail(), sprintf('%s %s', $user->getFirstName(), $user->getLastName())) ); $this->mailer->renderTemplate($message, 'mail_templates/confirmation_creation_compte.html.twig', [ 'login' => $user->getUsername(), 'adresse' => MailUserFactory::afup()->getEmail(), 'ville' => '', ]); return $this->mailer->send($message); } /** * @return array */ public function getLastSubscription(User $user) { if ($user->getCompanyId()) { $id = $user->getCompanyId(); $personType = AFUP_PERSONNES_MORALES; } else { $id = $user->getId(); $personType = AFUP_PERSONNES_PHYSIQUES; } return $this->cotisations->obtenirDerniere($personType, $id); } }