Loading module/Oscar/config/module.config.php +2 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,8 @@ return array( [ 'controller' => 'ConventionAdministration', 'action' => [ 'conventions' 'conventions', 'conventionConfigurer' ], 'roles' => ['user'] ], Loading module/Oscar/config/routes.yml +8 −0 Original line number Diff line number Diff line Loading @@ -2087,6 +2087,14 @@ administration: defaults: controller: ConventionAdministration action: conventions child_routes: configurer: type: segment may_terminate: true options: route: /:id defaults: action: conventionConfigurer # Gestion et chargement du référenciel des pays logs: Loading module/Oscar/src/Oscar/Controller/ConventionAdministrationController.php +16 −0 Original line number Diff line number Diff line Loading @@ -22,4 +22,20 @@ class ConventionAdministrationController extends AbstractOscarController return $this->redirect()->toRoute('administration/conventions'); } public function conventionConfigurerAction() { /** @var \Oscar\Entity\Convention $convention */ $convention = $this->getEntityManager()->find(\Oscar\Entity\Convention::class, $this->params('id')); if (!$convention) { return $this->getResponseNotFound("La convention n'a pas été trouvée."); } if ($this->params()->fromPost('action') == "modifier_nom") { $this->conventionService->modifierNom($convention, $this->params()->fromPost('nom'), $this->getCurrentPerson()); return $this->redirect()->toRoute('administration/conventions/configurer', ['id' => $convention->nom]); } return ['convention' => $convention]; } } module/Oscar/src/Oscar/Service/ConventionService.php +10 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,14 @@ class ConventionService implements UseEntityManager, UseLoggerService, UseOscarC $this->getEntityManager()->flush(); } } public function modifierNom(\Oscar\Entity\Convention $convention, string $nom, \Oscar\Entity\Person $person): void { $this->getLoggerService()->info("ConventionService modifierNom"); $this->getLoggerService()->info("by: " . $person); $convention->nom = $nom; $convention->updatedBy = $person; $convention->dateUpdated = new \DateTime(); $this->getEntityManager()->flush(); } } module/Oscar/view/oscar/convention-administration/convention-configurer.phtml 0 → 100644 +31 −0 Original line number Diff line number Diff line <style> input[type=submit] { background-color: white; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; padding-right: 1rem; border: 1px solid lightgrey; cursor: pointer; border-radius: 1rem; } </style> <div class="container" style="margin-bottom: 5rem; padding-bottom: 5rem;"> <div style="background-color: white; padding: 1rem; margin-bottom: 2rem; border-radius: 0 0 1rem 1rem;"> <div style="display: flex; align-items: center; justify-content: space-between;"> <h1><span aria-label="crayon" role="img">✏</span> Configuration d'une convention</h1> <div style="display: flex; flex-direction: column; align-items: end;"> <a href="<?= $this->url('administration/conventions') ?>">Retour à la liste</a> </div> </div> <form method="post" style="margin-left: 2rem; margin-top: 2rem; margin-bottom: 4rem;"> <input type="hidden" name="action" value="modifier_nom"> <input type="text" id="nom" name="nom" required placeholder="Nom de la convention" size="80" value="<?= $convention->nom ?>"> <input type="submit" value="✏ Modifier le nom de la convention"> </form> </div> </div> Loading
module/Oscar/config/module.config.php +2 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,8 @@ return array( [ 'controller' => 'ConventionAdministration', 'action' => [ 'conventions' 'conventions', 'conventionConfigurer' ], 'roles' => ['user'] ], Loading
module/Oscar/config/routes.yml +8 −0 Original line number Diff line number Diff line Loading @@ -2087,6 +2087,14 @@ administration: defaults: controller: ConventionAdministration action: conventions child_routes: configurer: type: segment may_terminate: true options: route: /:id defaults: action: conventionConfigurer # Gestion et chargement du référenciel des pays logs: Loading
module/Oscar/src/Oscar/Controller/ConventionAdministrationController.php +16 −0 Original line number Diff line number Diff line Loading @@ -22,4 +22,20 @@ class ConventionAdministrationController extends AbstractOscarController return $this->redirect()->toRoute('administration/conventions'); } public function conventionConfigurerAction() { /** @var \Oscar\Entity\Convention $convention */ $convention = $this->getEntityManager()->find(\Oscar\Entity\Convention::class, $this->params('id')); if (!$convention) { return $this->getResponseNotFound("La convention n'a pas été trouvée."); } if ($this->params()->fromPost('action') == "modifier_nom") { $this->conventionService->modifierNom($convention, $this->params()->fromPost('nom'), $this->getCurrentPerson()); return $this->redirect()->toRoute('administration/conventions/configurer', ['id' => $convention->nom]); } return ['convention' => $convention]; } }
module/Oscar/src/Oscar/Service/ConventionService.php +10 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,14 @@ class ConventionService implements UseEntityManager, UseLoggerService, UseOscarC $this->getEntityManager()->flush(); } } public function modifierNom(\Oscar\Entity\Convention $convention, string $nom, \Oscar\Entity\Person $person): void { $this->getLoggerService()->info("ConventionService modifierNom"); $this->getLoggerService()->info("by: " . $person); $convention->nom = $nom; $convention->updatedBy = $person; $convention->dateUpdated = new \DateTime(); $this->getEntityManager()->flush(); } }
module/Oscar/view/oscar/convention-administration/convention-configurer.phtml 0 → 100644 +31 −0 Original line number Diff line number Diff line <style> input[type=submit] { background-color: white; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; padding-right: 1rem; border: 1px solid lightgrey; cursor: pointer; border-radius: 1rem; } </style> <div class="container" style="margin-bottom: 5rem; padding-bottom: 5rem;"> <div style="background-color: white; padding: 1rem; margin-bottom: 2rem; border-radius: 0 0 1rem 1rem;"> <div style="display: flex; align-items: center; justify-content: space-between;"> <h1><span aria-label="crayon" role="img">✏</span> Configuration d'une convention</h1> <div style="display: flex; flex-direction: column; align-items: end;"> <a href="<?= $this->url('administration/conventions') ?>">Retour à la liste</a> </div> </div> <form method="post" style="margin-left: 2rem; margin-top: 2rem; margin-bottom: 4rem;"> <input type="hidden" name="action" value="modifier_nom"> <input type="text" id="nom" name="nom" required placeholder="Nom de la convention" size="80" value="<?= $convention->nom ?>"> <input type="submit" value="✏ Modifier le nom de la convention"> </form> </div> </div>