resend correct mail to existing user

This commit is contained in:
Charles 2026-01-28 14:15:17 +01:00
parent 2c7402249d
commit df4363dd37
2 changed files with 48 additions and 44 deletions

View File

@ -931,6 +931,10 @@ class UserController extends AbstractController
$this->loggerService->logEntityNotFound('User', ['id' => $user->getId()], $actingUser->getId()); $this->loggerService->logEntityNotFound('User', ['id' => $user->getId()], $actingUser->getId());
throw $this->createNotFoundException(self::NOT_FOUND); throw $this->createNotFoundException(self::NOT_FOUND);
} }
$token = $this->userService->generatePasswordToken($user, $org->getId());
if ($user->getLastConnection() !== null) {
$this->userService->sendExistingUserNotifications($user, $org, $actingUser);
} else {
$uo = $this->uoRepository->findOneBy(['users' => $user, $uo = $this->uoRepository->findOneBy(['users' => $user,
'organization' => $org, 'organization' => $org,
'statut' => "INVITED"]); 'statut' => "INVITED"]);
@ -943,7 +947,6 @@ class UserController extends AbstractController
$uo->setModifiedAt(new \DateTimeImmutable()); $uo->setModifiedAt(new \DateTimeImmutable());
try { try {
$data = ['user' => $uo->getUsers(), 'organization' => $uo->getOrganization()]; $data = ['user' => $uo->getUsers(), 'organization' => $uo->getOrganization()];
$token = $this->userService->generatePasswordToken($user, $org->getId());
$this->emailService->sendPasswordSetupEmail($user, $token); $this->emailService->sendPasswordSetupEmail($user, $token);
$this->loggerService->logEmailSent($userId, $org->getId(), 'Invitation Resent'); $this->loggerService->logEmailSent($userId, $org->getId(), 'Invitation Resent');
$this->organizationsService->notifyOrganizationAdmins($data, 'USER_INVITED'); $this->organizationsService->notifyOrganizationAdmins($data, 'USER_INVITED');
@ -958,6 +961,7 @@ class UserController extends AbstractController
return $this->json(['message' => 'Erreur lors de l\'envoie du mail.'], Response::HTTP_INTERNAL_SERVER_ERROR); return $this->json(['message' => 'Erreur lors de l\'envoie du mail.'], Response::HTTP_INTERNAL_SERVER_ERROR);
} }
} }
}
throw $this->createAccessDeniedException(self::ACCESS_DENIED); throw $this->createAccessDeniedException(self::ACCESS_DENIED);
} }

View File

@ -660,7 +660,7 @@ class UserService
} }
// Private helpers for email notifications // Private helpers for email notifications
private function sendExistingUserNotifications(User $user, Organizations $org, User $actingUser): void public function sendExistingUserNotifications(User $user, Organizations $org, User $actingUser): void
{ {
try { try {
$token = $this->generatePasswordToken($user, $org->getId()); $token = $this->generatePasswordToken($user, $org->getId());