user gestion fully done

This commit is contained in:
Olivier PARPAILLON
2024-11-20 14:49:34 +01:00
parent 6b25c1852b
commit fbdd46ca1f
10 changed files with 134 additions and 40 deletions

View File

@@ -9,6 +9,7 @@ use App\Entity\Ville;
use App\Repository\ParticipantRepository;
use App\Repository\SiteRepository;
use App\Repository\VilleRepository;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
@@ -376,4 +377,49 @@ class AdminController extends AbstractController
$this->addFlash('success', 'Site supprimée avec succès.');
return $this->redirectToRoute('app_adminSite');
}
#[Route('/admin/accept', name: 'app_acceptUser')]
public function acceptUser(Request $request, EntityManagerInterface $entityManager, ParticipantRepository $participantRepository): Response
{
try {
$user = $participantRepository->findOneBy(["idParticipant" => $request->get('id')]);
if(!$user) {
$this->addFlash('error', 'Le utilisateur n\'existe pas.');
return $this->redirectToRoute('app_adminUser');
}
$user->setPending(false);
$entityManager->persist($user);
$entityManager->flush();
$this->addFlash('success', "L'utilisateur à bien été accepté et peut maintenant se connecter");
return $this->redirectToRoute('app_adminUser');
} catch(\Exception $e) {
$this->addFlash('error', "Erreur : " . $e->getMessage());
return $this->redirectToRoute('home');
}
}
#[Route('/admin/deny', name: 'app_denyUser')]
public function denyUser(Request $request, EntityManagerInterface $entityManager, ParticipantRepository $participantRepository): Response
{
try {
$user = $participantRepository->findOneBy(["idParticipant" => $request->get('id')]);
if(!$user) {
$this->addFlash('error', 'Le utilisateur n\'existe pas.');
return $this->redirectToRoute('app_adminUser');
}
$entityManager->remove($user);
$entityManager->flush();
$this->addFlash('success', "L'utilisateur à bien été refusé et ne pourra pas se connecter");
return $this->redirectToRoute('app_adminUser');
} catch(\Exception $e) {
$this->addFlash('error', "Erreur : " . $e->getMessage());
return $this->redirectToRoute('home');
}
}
}

View File

@@ -18,4 +18,10 @@ class MainController extends AbstractController
'profile' => $userConnect,
]);
}
#[Route('/inscription', name: 'inscription')]
public function inscription(TokenStorageInterface $tokenStorage): Response
{
return $this->render('main/inscription.html.twig');
}
}

View File

@@ -31,6 +31,7 @@ class RegistrationController extends AbstractController
$user->setPassword($userPasswordHasher->hashPassword($user, $plainPassword));
$user->setRoles(['ROLE_USER']);
$user->setActif(false);
$user->setPending(true);
if ($user->getRoles() == 'ROLE_ADMIN') {
$user->setAdministrateur(true);
} else {
@@ -47,8 +48,8 @@ class RegistrationController extends AbstractController
// do anything else you need here, like send an email
// return $this->redirectToRoute('home');
return $security->login($user, 'form_login', 'main');
return $this->redirectToRoute('inscription');
// return $security->login($user, 'form_login', 'main');
}
return $this->render('auth/register.html.twig', [