Loading src/UnicaenEvenement/Controller/IndexController.php +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ class IndexController extends AbstractActionController if (!isset($filtre['date']) OR $filtre['date'] === '') $filtre['date'] = '1M'; $evenements = $this->getEvenementService()->getEvenementsWithFiltre($filtre); $journaux = $this->getJournalService()->getJounaux(); $journaux = $this->getJournalService()->getJournauxWithFiltre($filtre); return new ViewModel([ 'events' => ($evenements)??[], Loading src/UnicaenEvenement/Service/Journal/JournalService.php +23 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenEvenement\Service\Journal; use DateInterval; use DateTime; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; use UnicaenApp\Exception\RuntimeException; Loading Loading @@ -93,6 +95,27 @@ class JournalService { return $result[0]; } /** * @param array $filtres * @return Journal[] */ public function getJournauxWithFiltre(array $filtres = []) : array { $qb = $this->createQueryBuilder(); if (isset($filtres['date']) AND $filtres['date'] !== '') { try { $date = (new DateTime())->sub(new DateInterval('P' . $filtres['date'])); } catch (Exception $e) { throw new RuntimeException("Problème de calcul de la date buttoir avec [".$filtres['date']."]",0,$e); } $qb = $qb->andWhere('journal.date >= :date')->setParameter('date',$date); } $result = $qb->getQuery()->getResult(); return $result; } /** * @return bool */ Loading Loading
src/UnicaenEvenement/Controller/IndexController.php +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ class IndexController extends AbstractActionController if (!isset($filtre['date']) OR $filtre['date'] === '') $filtre['date'] = '1M'; $evenements = $this->getEvenementService()->getEvenementsWithFiltre($filtre); $journaux = $this->getJournalService()->getJounaux(); $journaux = $this->getJournalService()->getJournauxWithFiltre($filtre); return new ViewModel([ 'events' => ($evenements)??[], Loading
src/UnicaenEvenement/Service/Journal/JournalService.php +23 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenEvenement\Service\Journal; use DateInterval; use DateTime; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; use UnicaenApp\Exception\RuntimeException; Loading Loading @@ -93,6 +95,27 @@ class JournalService { return $result[0]; } /** * @param array $filtres * @return Journal[] */ public function getJournauxWithFiltre(array $filtres = []) : array { $qb = $this->createQueryBuilder(); if (isset($filtres['date']) AND $filtres['date'] !== '') { try { $date = (new DateTime())->sub(new DateInterval('P' . $filtres['date'])); } catch (Exception $e) { throw new RuntimeException("Problème de calcul de la date buttoir avec [".$filtres['date']."]",0,$e); } $qb = $qb->andWhere('journal.date >= :date')->setParameter('date',$date); } $result = $qb->getQuery()->getResult(); return $result; } /** * @return bool */ Loading