Loading readme.md +2 −1 Changes for readme.md: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ Modification du schéma ---------------------- **6.0.3** (version à venir) + Ajout du filtre des types de template + Ajout du filtre des types de template sur l'index des template + Ajout du filtre sur l'index des rendus (date + template) avec la 5.0.5 ```sql Loading src/UnicaenRenderer/Controller/RenduController.php +11 −1 Changes for src/UnicaenRenderer/Controller/RenduController.php: 11 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,18 +6,28 @@ use Laminas\Http\Request; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Model\ViewModel; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait; class RenduController extends AbstractActionController { use RenduServiceAwareTrait; use TemplateServiceAwareTrait; public function indexAction(): ViewModel { $rendus = $this->getRenduService()->getRendus(); $templates = $this->getTemplateService()->getTemplates(); $template = $this->params()->fromQuery('template'); $date = $this->params()->fromQuery('date'); $rendus = $this->getRenduService()->getRendusByTemplateAndDate($template, $date); return new ViewModel([ 'title' => 'Gestions des rendus', 'rendus' => $rendus, 'templates' => $templates, 'template' => $template, 'date' => $date, ]); } Loading src/UnicaenRenderer/Controller/RenduControllerFactory.php +4 −0 Changes for src/UnicaenRenderer/Controller/RenduControllerFactory.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenRenderer\Service\Rendu\RenduService; use UnicaenRenderer\Service\Template\TemplateService; class RenduControllerFactory { Loading @@ -20,11 +21,14 @@ class RenduControllerFactory { /** * @var RenduService $contenuService * @var TemplateService $templateService */ $contenuService = $container->get(RenduService::class); $templateService = $container->get(TemplateService::class); $controller = new RenduController(); $controller->setRenduService($contenuService); $controller->setTemplateService($templateService); return $controller; } } No newline at end of file src/UnicaenRenderer/Service/Rendu/RenduService.php +21 −0 Changes for src/UnicaenRenderer/Service/Rendu/RenduService.php: 21 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenRenderer\Service\Rendu; use DateInterval; use DateTime; use Doctrine\ORM\EntityManager; use Doctrine\ORM\Exception\NotSupported; Loading @@ -9,6 +10,7 @@ use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\Exception\ORMException; use Doctrine\ORM\QueryBuilder; use DoctrineModule\Persistence\ProvidesObjectManager; use Exception; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; Loading Loading @@ -88,6 +90,25 @@ class RenduService return $result; } /** @return Rendu[] */ public function getRendusByTemplateAndDate(?string $template = null, ?string $date = null, string $champ = 'date', string $ordre = 'ASC'): array { $qb = $this->createQueryBuilder()->orderBy('contenu.' . $champ, $ordre); if ($template !== null && trim($template) !=='') $qb = $qb->andWhere('template.code = :code')->setParameter('code', $template); if ($date !== null && trim($date) !=='') { try { $date_ = (new DateTime())->sub(new DateInterval('P' . $date)); } catch (Exception $e) { throw new RuntimeException("Problème de calcul de la date buttoir avec [".$date."]",0,$e); } $qb = $qb->andWhere('contenu.date >= :date')->setParameter('date',$date_); } $result = $qb->getQuery()->getResult(); return $result; } public function getRendu(?int $id): ?Rendu { $qb = $this->createQueryBuilder() Loading view/unicaen-renderer/rendu/index.phtml +10 −2 Changes for view/unicaen-renderer/rendu/index.phtml: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges; * @see \UnicaenRenderer\Controller\RenduController::indexAction() * @var Rendu[] $rendus * @var string $title * @var string[] $templates * @var ?string $template * @var ?string $date */ $this->headTitle("Index des contenus"); Loading Loading @@ -42,12 +45,15 @@ $canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(Docume </div> </div> <?php echo $this->partial('partial/filtre.phtml', ['templates' => $templates, 'params' => ['date' => $date, 'template' => $template ]]); ?> <br/> <table id='rendu-liste' class="table table-condensed table-hover"> <thead> <tr> <th class="col-md-1"> Id</th> <th class="col-md"> Template</th> <th class="col-md-3"> Date de génération</th> <th data-type="num" class="col-md-3"> Date de génération</th> <th class="col-md"> Sujet</th> <th class="col-md-1 text-end"> Action</th> </tr> Loading @@ -61,7 +67,9 @@ $canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(Docume <?php echo $rendu->getTemplate()->getCode(); ?> <?php endif; ?> </td> <td> <?php echo $rendu->getDate()->format('d/m/Y à H:i:s'); ?> </td> <td data-order="<?php echo $rendu->getDate()->getTimestamp(); ?>"> <?php echo $rendu->getDate()->format('d/m/Y à H:i:s'); ?> </td> <td> <span title="<?php echo $rendu->getSujet(); ?>" data-toggle="tooltip" data-html="true"> <?php Loading Loading
readme.md +2 −1 Changes for readme.md: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ Modification du schéma ---------------------- **6.0.3** (version à venir) + Ajout du filtre des types de template + Ajout du filtre des types de template sur l'index des template + Ajout du filtre sur l'index des rendus (date + template) avec la 5.0.5 ```sql Loading
src/UnicaenRenderer/Controller/RenduController.php +11 −1 Changes for src/UnicaenRenderer/Controller/RenduController.php: 11 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,18 +6,28 @@ use Laminas\Http\Request; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Model\ViewModel; use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait; use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait; class RenduController extends AbstractActionController { use RenduServiceAwareTrait; use TemplateServiceAwareTrait; public function indexAction(): ViewModel { $rendus = $this->getRenduService()->getRendus(); $templates = $this->getTemplateService()->getTemplates(); $template = $this->params()->fromQuery('template'); $date = $this->params()->fromQuery('date'); $rendus = $this->getRenduService()->getRendusByTemplateAndDate($template, $date); return new ViewModel([ 'title' => 'Gestions des rendus', 'rendus' => $rendus, 'templates' => $templates, 'template' => $template, 'date' => $date, ]); } Loading
src/UnicaenRenderer/Controller/RenduControllerFactory.php +4 −0 Changes for src/UnicaenRenderer/Controller/RenduControllerFactory.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenRenderer\Service\Rendu\RenduService; use UnicaenRenderer\Service\Template\TemplateService; class RenduControllerFactory { Loading @@ -20,11 +21,14 @@ class RenduControllerFactory { /** * @var RenduService $contenuService * @var TemplateService $templateService */ $contenuService = $container->get(RenduService::class); $templateService = $container->get(TemplateService::class); $controller = new RenduController(); $controller->setRenduService($contenuService); $controller->setTemplateService($templateService); return $controller; } } No newline at end of file
src/UnicaenRenderer/Service/Rendu/RenduService.php +21 −0 Changes for src/UnicaenRenderer/Service/Rendu/RenduService.php: 21 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenRenderer\Service\Rendu; use DateInterval; use DateTime; use Doctrine\ORM\EntityManager; use Doctrine\ORM\Exception\NotSupported; Loading @@ -9,6 +10,7 @@ use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\Exception\ORMException; use Doctrine\ORM\QueryBuilder; use DoctrineModule\Persistence\ProvidesObjectManager; use Exception; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; Loading Loading @@ -88,6 +90,25 @@ class RenduService return $result; } /** @return Rendu[] */ public function getRendusByTemplateAndDate(?string $template = null, ?string $date = null, string $champ = 'date', string $ordre = 'ASC'): array { $qb = $this->createQueryBuilder()->orderBy('contenu.' . $champ, $ordre); if ($template !== null && trim($template) !=='') $qb = $qb->andWhere('template.code = :code')->setParameter('code', $template); if ($date !== null && trim($date) !=='') { try { $date_ = (new DateTime())->sub(new DateInterval('P' . $date)); } catch (Exception $e) { throw new RuntimeException("Problème de calcul de la date buttoir avec [".$date."]",0,$e); } $qb = $qb->andWhere('contenu.date >= :date')->setParameter('date',$date_); } $result = $qb->getQuery()->getResult(); return $result; } public function getRendu(?int $id): ?Rendu { $qb = $this->createQueryBuilder() Loading
view/unicaen-renderer/rendu/index.phtml +10 −2 Changes for view/unicaen-renderer/rendu/index.phtml: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges; * @see \UnicaenRenderer\Controller\RenduController::indexAction() * @var Rendu[] $rendus * @var string $title * @var string[] $templates * @var ?string $template * @var ?string $date */ $this->headTitle("Index des contenus"); Loading Loading @@ -42,12 +45,15 @@ $canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(Docume </div> </div> <?php echo $this->partial('partial/filtre.phtml', ['templates' => $templates, 'params' => ['date' => $date, 'template' => $template ]]); ?> <br/> <table id='rendu-liste' class="table table-condensed table-hover"> <thead> <tr> <th class="col-md-1"> Id</th> <th class="col-md"> Template</th> <th class="col-md-3"> Date de génération</th> <th data-type="num" class="col-md-3"> Date de génération</th> <th class="col-md"> Sujet</th> <th class="col-md-1 text-end"> Action</th> </tr> Loading @@ -61,7 +67,9 @@ $canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(Docume <?php echo $rendu->getTemplate()->getCode(); ?> <?php endif; ?> </td> <td> <?php echo $rendu->getDate()->format('d/m/Y à H:i:s'); ?> </td> <td data-order="<?php echo $rendu->getDate()->getTimestamp(); ?>"> <?php echo $rendu->getDate()->format('d/m/Y à H:i:s'); ?> </td> <td> <span title="<?php echo $rendu->getSujet(); ?>" data-toggle="tooltip" data-html="true"> <?php Loading