set user site

This commit is contained in:
jleroy2023
2024-11-21 10:18:52 +01:00
parent e84adff833
commit 131bde64c2
2 changed files with 39 additions and 18 deletions

View File

@@ -9,7 +9,6 @@ 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;
@@ -26,8 +25,10 @@ use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
class AdminController extends AbstractController
{
private ParticipantRepository $participantRepository;
public function __construct(ParticipantRepository $participantRepository){
private SiteRepository $siteRepository;
public function __construct(ParticipantRepository $participantRepository, SiteRepository $siteRepository){
$this->participantRepository = $participantRepository;
$this->siteRepository = $siteRepository;
}
#[Route('/admin', name: 'app_admin')]
public function index(TokenStorageInterface $tokenStorage): Response
@@ -47,9 +48,11 @@ class AdminController extends AbstractController
$token = $tokenStorage->getToken();
$userConnect = $token?->getUser();
$participants = $this->participantRepository->findAll();
$sites = $this->siteRepository->findAll();
return $this->render('admin/user.html.twig', [
'profile' => $userConnect,
'participants' => $participants,
'sites' => $sites,
'controller_name' => 'AdminController',
]);
}
@@ -388,17 +391,19 @@ class AdminController extends AbstractController
return $this->redirectToRoute('app_adminSite');
}
#[Route('/admin/accept', name: 'app_acceptUser')]
public function acceptUser(Request $request, EntityManagerInterface $entityManager, ParticipantRepository $participantRepository): Response
#[Route('/admin/accept', name: 'app_acceptUser', methods: ['POST'])]
public function acceptUser(Request $request, EntityManagerInterface $entityManager, ParticipantRepository $participantRepository, SiteRepository $siteRepository): Response
{
try {
$user = $participantRepository->findOneBy(["idParticipant" => $request->get('id')]);
$user = $participantRepository->findOneBy(["idParticipant" => $request->request->get('id')]);
$site = $siteRepository->findOneBy(['idSite' => $request->request->get('site')]);
if(!$user) {
$this->addFlash('error', 'Le utilisateur n\'existe pas.');
if(!$user || !$site) {
$this->addFlash('error', 'L\'utilisateur ou le site n\'existe pas.');
return $this->redirectToRoute('app_adminUser');
}
$user->setSite($site);
$user->setPending(false);
$entityManager->persist($user);
$entityManager->flush();