Commit a96a2993 authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

formulaire pour le filtre de recherche

parent ba7e448e
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Journal des changements
=======================

7.6.0
-----
- [Sécu] Mise en place d'un formulaire avec controle des données pour le filtre des mails

7.5.0
-----
- Nouvelle classe MailWriter : writer de log Laminas envoyant un mail avec le MailService (utilisable avec unicaen/evenement ^6.4).
+5 −1
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@

use UnicaenMail\Controller\MailController;
use UnicaenMail\Controller\MailControllerFactory;
use UnicaenMail\Form\MailFilterForm;
use UnicaenMail\Form\MailFilterFormFactory;
use UnicaenMail\Log\Writer\MailWriter;
use UnicaenMail\Log\Writer\MailWriterFactory;
use UnicaenMail\Provider\Privilege\MailPrivileges;
@@ -149,7 +151,9 @@ return array(
    ],

    'form_elements' => [
        'factories' => [],
        'factories' => [
            MailFilterForm::class => MailFilterFormFactory::class
        ],
    ],
    'hydrators' => [
        'factories' => [],
+5 −0
Original line number Diff line number Diff line
@@ -176,3 +176,8 @@ Peut être directement remplacer par l'equivalent fournit par `unicaen/auth`.
1. Dans **vendor/unicaen/mail/src/UnicaenMail/Provider/Privilege/MailPrivileges.php** : `UnicaenPrivilege\Provider\Privilege\Privileges` classe mère des privilèges du module. 
Peut être directement remplacer par l'equivalent fournit par `unicaen/auth`.


Amélioration future
======================

- Configuration des valeurs possibles dans les options pour le filtre
 No newline at end of file
+9 −2
Original line number Diff line number Diff line
@@ -13,15 +13,22 @@ class MailController extends AbstractActionController

    public function indexAction(): ViewModel
    {
        $form = $this->getMailFiltreForm();
        $filtre = $this->params()->fromQuery();
        if (!isset($filtre['date']) or $filtre['date'] === '') $filtre['date'] = '1W';

        $form->setData($filtre);
        if ($form->isValid()) {
            $filtre = $form->getData();
        }
        else{ //On force la date pour ne pas avoir tous les mails par défaut
            $filtre['date'] = '1W';
        }
        $mails = $this->getMailService()->getMailsWithFiltre($filtre);

        return new ViewModel([
            'title' => 'Gestion des mails',
            'mails' => $mails,
            'params' => $filtre,
            'form' => $form,
        ]);

    }
+8 −0
Original line number Diff line number Diff line
@@ -2,9 +2,11 @@

namespace UnicaenMail\Controller;

use Laminas\Form\FormElementManager;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Container\NotFoundExceptionInterface;
use UnicaenMail\Form\MailFilterForm;
use UnicaenMail\Service\Mail\MailService;

class MailControllerFactory
@@ -21,8 +23,14 @@ class MailControllerFactory
         */
        $mailService = $container->get(MailService::class);

        /**
         * @var MailFilterForm $mailFiltreForm
         */
        $mailFiltreForm = $container->get(FormElementManager::class)->get(MailFilterForm::class);

        $controller = new MailController();
        $controller->setMailService($mailService);
        $controller->setMailFiltreForm($mailFiltreForm);
        return $controller;
    }
}
 No newline at end of file
Loading