From bce831ad3b4943ee146bed31c923f2af8b5fdfd2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Tue, 31 Jan 2023 13:52:37 +0100 Subject: [PATCH] Adapatation a l'affichage par 'module' --- .../Controller/IndicateurController.php | 7 ++++--- .../Controller/TableauDeBordController.php | 17 +++++++++++++---- .../TableauDeBord/TableauDeBordHydrator.php | 2 +- .../tableau-de-bord/afficher.phtml | 3 ++- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/UnicaenIndicateur/Controller/IndicateurController.php b/src/UnicaenIndicateur/Controller/IndicateurController.php index 37e0d15..d61e8b2 100644 --- a/src/UnicaenIndicateur/Controller/IndicateurController.php +++ b/src/UnicaenIndicateur/Controller/IndicateurController.php @@ -66,10 +66,10 @@ class IndicateurController extends AbstractActionController { public function creerAction() : ViewModel { $indicateur = new Indicateur(); + $namespace = $this->params()->fromQuery('namespace'); $form = $this->getIndicateurForm(); $form->setAttribute('action', $this->url()->fromRoute('indicateur/creer', [], ['query' => ['namespace' => $namespace]], true)); - $namespace = $this->params()->fromQuery('namespace'); if ($namespace) { $indicateur->setNamespace($namespace); $form->get('namespace')->setAttribute('readonly', true); @@ -100,9 +100,10 @@ class IndicateurController extends AbstractActionController { public function modifierAction(): ViewModel { $indicateur = $this->getIndicateurService()->getRequestedIndicateur($this); - $form = $this->getIndicateurForm(); - $form->setAttribute('action', $this->url()->fromRoute('indicateur/modifier', [], [], true)); $namespace = $this->params()->fromQuery('namespace'); + + $form = $this->getIndicateurForm(); + $form->setAttribute('action', $this->url()->fromRoute('indicateur/modifier', ['indicateur' => $indicateur], ['query' => ['namespace' => $namespace]], true)); if ($namespace) { $indicateur->setNamespace($namespace); $form->get('namespace')->setAttribute('readonly', true); diff --git a/src/UnicaenIndicateur/Controller/TableauDeBordController.php b/src/UnicaenIndicateur/Controller/TableauDeBordController.php index 806bf17..e1c1ce7 100644 --- a/src/UnicaenIndicateur/Controller/TableauDeBordController.php +++ b/src/UnicaenIndicateur/Controller/TableauDeBordController.php @@ -28,22 +28,26 @@ class TableauDeBordController extends AbstractActionController public function afficherAction() : ViewModel { $tableau = $this->getTableauDeBordService()->getRequestedTableauDeBord($this); + $retour = $this->params()->fromQuery('retour'); return new ViewModel([ 'tableau' => $tableau, 'indicateurService' => $this->getIndicateurService(), + 'retour' => $retour, ]); } public function ajouterAction() : ViewModel { $tableau = new TableauDeBord(); - $namespace = $this->params()->fromQuery('namespace'); - if ($namespace) $tableau->setNamespace($namespace); $form = $this->getTableauDeBordForm(); - $form->setAttribute('action', $this->url()->fromRoute('tableau-de-bord/ajouter', [], [], true)); + $form->setAttribute('action', $this->url()->fromRoute('tableau-de-bord/ajouter', [], ['query' => ['namespace' => $namespace]], true)); + if ($namespace) { + $tableau->setNamespace($namespace); + $form->get('namespace')->setAttribute('readonly', true); + } $form->bind($tableau); $request = $this->getRequest(); @@ -67,9 +71,14 @@ class TableauDeBordController extends AbstractActionController public function modifierAction() : ViewModel { $tableau = $this->getTableauDeBordService()->getRequestedTableauDeBord($this); + $namespace = $this->params()->fromQuery('namespace'); $form = $this->getTableauDeBordForm(); - $form->setAttribute('action', $this->url()->fromRoute('tableau-de-bord/modifier', ['tableau-de-bord' => $tableau->getId()], [], true)); + $form->setAttribute('action', $this->url()->fromRoute('tableau-de-bord/modifier', ['tableau-de-bord' => $tableau->getId()], ['query' => ['namespace' => $namespace]], true)); + if ($namespace) { + $tableau->setNamespace($namespace); + $form->get('namespace')->setAttribute('readonly', true); + } $form->bind($tableau); $request = $this->getRequest(); diff --git a/src/UnicaenIndicateur/Form/TableauDeBord/TableauDeBordHydrator.php b/src/UnicaenIndicateur/Form/TableauDeBord/TableauDeBordHydrator.php index 9be2276..d8df58a 100644 --- a/src/UnicaenIndicateur/Form/TableauDeBord/TableauDeBordHydrator.php +++ b/src/UnicaenIndicateur/Form/TableauDeBord/TableauDeBordHydrator.php @@ -16,7 +16,7 @@ class TableauDeBordHydrator implements HydratorInterface { $data = [ 'libelle' => $object->getTitre(), 'description' => $object->getDescription(), - 'namespance' => $object->getNamespace(), + 'namespace' => $object->getNamespace(), 'nb_colonne' => $object->getNbColumn(), ]; return $data; diff --git a/view/unicaen-indicateur/tableau-de-bord/afficher.phtml b/view/unicaen-indicateur/tableau-de-bord/afficher.phtml index caba53e..cabe440 100644 --- a/view/unicaen-indicateur/tableau-de-bord/afficher.phtml +++ b/view/unicaen-indicateur/tableau-de-bord/afficher.phtml @@ -9,6 +9,7 @@ use UnicaenIndicateur\Service\Indicateur\IndicateurService; * @see \UnicaenIndicateur\Controller\TableauDeBordController::afficherAction() * @var TableauDeBord $tableau * @var IndicateurService $indicateurService + * @var ?string $retour */ $this->headTitle($tableau?$tableau->getTitre():"Tableau de bord supprimé"); @@ -40,7 +41,7 @@ $width = 12 / ((int) ($tableau?$tableau->getNbColumn():1)); <div class="col-md-3"> <?php if ($canIndex) : ?> <?php /** @see \UnicaenIndicateur\Controller\TableauDeBordController::indexAction() */ ?> - <a href="<?php echo $this->url('tableau-de-bord', [], [], true); ?>" + <a href="<?php echo $retour??$this->url('tableau-de-bord', [], [], true); ?>" class="btn btn-secondary"> <span class="icon icon-lister"></span> Accéder aux tableaux de bord -- GitLab