dashboard done + UI/UX fix
This commit is contained in:
@@ -38,7 +38,7 @@ class AdminController extends AbstractController
|
||||
{
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
return $this->render('admin/index.html.twig', [
|
||||
return $this->render('admin/list.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'controller_name' => 'AdminController',
|
||||
]);
|
||||
|
||||
@@ -17,7 +17,7 @@ class LieuController extends AbstractController
|
||||
#[Route('/lieu', name: 'app_lieu')]
|
||||
public function index(): Response
|
||||
{
|
||||
return $this->render('lieu/index.html.twig', [
|
||||
return $this->render('lieu/list.html.twig', [
|
||||
'controller_name' => 'LieuController',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -22,22 +22,15 @@ class MainController extends AbstractController
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
|
||||
// Récupérer les paramètres de filtre
|
||||
$search = $request->query->get('search', '');
|
||||
$siteId = $request->query->get('site', '');
|
||||
$startDate = $request->query->get('start_date', '');
|
||||
$endDate = $request->query->get('end_date', '');
|
||||
$organisateur = $request->query->get('organisateur', false);
|
||||
$inscrit = $request->query->get('inscrit', false);
|
||||
$nonInscrit = $request->query->get('non_inscrit', false);
|
||||
$passees = $request->query->get('passees', false);
|
||||
$sorties = $sortieRepository->findForDashboard();
|
||||
$sortiesParticipation = $sortieRepository->findUserParticipation($userConnect);
|
||||
$sortiesOrganisation = $sortieRepository->findUserOrganisation($userConnect);
|
||||
|
||||
$sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect);
|
||||
|
||||
return $this->render('main/index.html.twig', [
|
||||
return $this->render('main/dashboard.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'sorties' => $sorties,
|
||||
'sites' => $sortieRepository->findAllSites(),
|
||||
'sortiesParticipation' => $sortiesParticipation,
|
||||
'sortiesOrganisation' => $sortiesOrganisation,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -116,6 +116,6 @@ class PasswordResetController extends AbstractController
|
||||
return $this->redirectToRoute('app_login');
|
||||
}
|
||||
|
||||
return $this->render('password_reset/index.html.twig', ['token' => $token]);
|
||||
return $this->render('password_reset/list.html.twig', ['token' => $token]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ use App\Form\SortieType;
|
||||
use App\Repository\EtatRepository;
|
||||
use App\Repository\LieuRepository;
|
||||
use App\Repository\ParticipantRepository;
|
||||
use App\Repository\SortieRepository;
|
||||
use DateTime;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
@@ -18,6 +19,34 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInt
|
||||
#[Route('/sortie', name: 'sortie_')]
|
||||
class SortieController extends AbstractController
|
||||
{
|
||||
#[Route('/liste', name: 'list', methods: ['GET'])]
|
||||
public function index(
|
||||
TokenStorageInterface $tokenStorage,
|
||||
SortieRepository $sortieRepository,
|
||||
Request $request
|
||||
): Response {
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
|
||||
// Récupérer les paramètres de filtre
|
||||
$search = $request->query->get('search', '');
|
||||
$siteId = $request->query->get('site', '');
|
||||
$startDate = $request->query->get('start_date', '');
|
||||
$endDate = $request->query->get('end_date', '');
|
||||
$organisateur = $request->query->get('organisateur', false);
|
||||
$inscrit = $request->query->get('inscrit', false);
|
||||
$nonInscrit = $request->query->get('non_inscrit', false);
|
||||
$passees = $request->query->get('passees', false);
|
||||
|
||||
$sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect);
|
||||
|
||||
return $this->render('sortie/list.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'sorties' => $sorties,
|
||||
'sites' => $sortieRepository->findAllSites(),
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/creates', name: 'create', methods: ['GET', 'POST'])]
|
||||
public function create(
|
||||
Request $request,
|
||||
|
||||
@@ -67,6 +67,35 @@ class SortieRepository extends ServiceEntityRepository
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findForDashboard()
|
||||
{
|
||||
return $this->createQueryBuilder('s')
|
||||
->orderBy('s.dateLimiteInscription', 'ASC')
|
||||
->andWhere('s.dateHeureDebut >= :lastMonth')
|
||||
->setParameter('lastMonth', (new \DateTime())->modify('-1 month'))
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function findUserParticipation($userConnect)
|
||||
{
|
||||
return $this->createQueryBuilder('s')
|
||||
->leftJoin('s.participants', 'p')
|
||||
->where('p.idParticipant = :user')
|
||||
->setParameter('user', $userConnect->getIdParticipant())
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function findUserOrganisation($userConnect)
|
||||
{
|
||||
return $this->createQueryBuilder('s')
|
||||
->leftJoin('s.organisateur', 'o')
|
||||
->where('o.idParticipant = :user')
|
||||
->setParameter('user', $userConnect->getIdParticipant())
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
public function findAllSites()
|
||||
{
|
||||
return $this->getEntityManager()
|
||||
|
||||
Reference in New Issue
Block a user