From 02d0d1767b9a3b19838c018bf5d50179a4e8f092 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Wed, 3 Apr 2024 15:00:28 +0200 Subject: [PATCH] Correction de la route console pour rafraichir les indicateurs --- config/merged/indicateur.config.php | 7 ++++-- .../Controller/CategorieController.php | 5 ++++ .../IndicateurConsoleController.php | 19 +++++++++++++++ .../IndicateurConsoleControllerFactory.php | 24 +++++++++++++++++++ 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 src/UnicaenIndicateur/Controller/IndicateurConsoleController.php create mode 100644 src/UnicaenIndicateur/Controller/IndicateurConsoleControllerFactory.php diff --git a/config/merged/indicateur.config.php b/config/merged/indicateur.config.php index 8308299..1590f5a 100644 --- a/config/merged/indicateur.config.php +++ b/config/merged/indicateur.config.php @@ -1,5 +1,7 @@ <?php +use UnicaenIndicateur\Controller\IndicateurConsoleController; +use UnicaenIndicateur\Controller\IndicateurConsoleControllerFactory; use UnicaenIndicateur\Controller\IndicateurController; use UnicaenIndicateur\Controller\IndicateurControllerFactory; use UnicaenIndicateur\Form\Indicateur\IndicateurForm; @@ -53,7 +55,7 @@ return [ ], ], [ - 'controller' => IndicateurController::class, + 'controller' => IndicateurConsoleController::class, 'action' => [ 'rafraichir-console', ], @@ -174,7 +176,7 @@ return [ 'options' => [ 'route' => 'indicateur-refresh', 'defaults' => [ - 'controller' => IndicateurController::class, + 'controller' => IndicateurConsoleController::class, 'action' => 'rafraichir-console' ], ], @@ -191,6 +193,7 @@ return [ 'controllers' => [ 'factories' => [ IndicateurController::class => IndicateurControllerFactory::class, + IndicateurConsoleController::class => IndicateurConsoleControllerFactory::class, ], ], 'form_elements' => [ diff --git a/src/UnicaenIndicateur/Controller/CategorieController.php b/src/UnicaenIndicateur/Controller/CategorieController.php index 3b0231b..7f1c01f 100644 --- a/src/UnicaenIndicateur/Controller/CategorieController.php +++ b/src/UnicaenIndicateur/Controller/CategorieController.php @@ -20,4 +20,9 @@ class CategorieController extends AbstractActionController 'categories' => $categories, ]); } + + public function ajouterAction(): ViewModel + { + + } } \ No newline at end of file diff --git a/src/UnicaenIndicateur/Controller/IndicateurConsoleController.php b/src/UnicaenIndicateur/Controller/IndicateurConsoleController.php new file mode 100644 index 0000000..8e68db0 --- /dev/null +++ b/src/UnicaenIndicateur/Controller/IndicateurConsoleController.php @@ -0,0 +1,19 @@ +<?php + +namespace UnicaenIndicateur\Controller; + +use Unicaen\Console\Controller\AbstractConsoleController; +use UnicaenIndicateur\Service\Indicateur\IndicateurServiceAwareTrait; + +class IndicateurConsoleController extends AbstractConsoleController +{ + use IndicateurServiceAwareTrait; + + public function rafraichirConsoleAction(): void + { + $indicateurs = $this->getIndicateurService()->getIndicateurs(); + foreach ($indicateurs as $indicateur) { + $this->getIndicateurService()->refresh($indicateur); + } + } +} \ No newline at end of file diff --git a/src/UnicaenIndicateur/Controller/IndicateurConsoleControllerFactory.php b/src/UnicaenIndicateur/Controller/IndicateurConsoleControllerFactory.php new file mode 100644 index 0000000..49b71d5 --- /dev/null +++ b/src/UnicaenIndicateur/Controller/IndicateurConsoleControllerFactory.php @@ -0,0 +1,24 @@ +<?php + +namespace UnicaenIndicateur\Controller; + +use Psr\Container\ContainerInterface; +use Unicaen\Console\Controller\AbstractConsoleController; +use UnicaenIndicateur\Service\Indicateur\IndicateurService; +use UnicaenIndicateur\Service\Indicateur\IndicateurServiceAwareTrait; + +class IndicateurConsoleControllerFactory +{ + + public function __invoke(ContainerInterface $container): IndicateurConsoleController + { + /** + * @var IndicateurService $indicateurService + */ + $indicateurService = $container->get(IndicateurService::class); + + $controller = new IndicateurConsoleController(); + $controller->setIndicateurService($indicateurService); + return $controller; + } +} \ No newline at end of file -- GitLab