diff --git a/src/Admin/AdminModule.php b/src/Admin/AdminModule.php index 5690162..ce31d96 100644 --- a/src/Admin/AdminModule.php +++ b/src/Admin/AdminModule.php @@ -36,6 +36,7 @@ class AdminModule extends Module $router->post('/profil-user', [LoggedInMiddleware::class, AccountUserEditAction::class]); $router->get('/antenne/create', [LoggedInMiddleware::class, AntenneCrudAction::class], 'antenne.create'); $router->get('/antenne/edit', [LoggedInMiddleware::class, AntenneEditAction::class], 'antenne.edit'); + $router->post('/antenne/edit', [LoggedInMiddleware::class, AntenneEditAction::class]); if ($renderer instanceof TwigRenderer) { $renderer->getTwig()->addExtension($adminTwigExtension); // $renderer->getTwig()->addExtension($variableExtension); diff --git a/src/Antenne/Actions/AntenneEditAction.php b/src/Antenne/Actions/AntenneEditAction.php index b14954f..1690361 100644 --- a/src/Antenne/Actions/AntenneEditAction.php +++ b/src/Antenne/Actions/AntenneEditAction.php @@ -8,6 +8,8 @@ use App\Gmarche\Table\AntenneTable; use App\Gmarche\Table\RegionTable; use Framework\Actions\RouterAwareAction; use Framework\Renderer\RendererInterface; +use Framework\Response\RedirectResponse; +use Framework\Validator; use Psr\Container\ContainerInterface; use Psr\Http\Message\ServerRequestInterface as Request; @@ -61,6 +63,27 @@ class AntenneEditAction //$region = $this->regionTable->findBy('slug', $slug); $sess = $_SESSION; + if ($request->getMethod() === 'POST') { + //$user = $this->auth->getUser(); + $params = $request->getParsedBody(); + $antenne_id = $params['antenne']; + echo "antenne_id=/"; + var_dump($params); + echo "/"; + die(); + $validator = (new Validator($params)) + ->required('antenne', 'region'); + if ($validator->isValid()) { + $antenneParams = [ + 'id' => $params['antenne'], + 'region_id' => $params['region'] + ]; + $this->antenneTable->update($antenne_id, $antenneParams); + $this->flashService->success("L'antenne a bien été mise à jour"); + return new RedirectResponse($request->getUri()->getPath()); + } + $errors = $validator->getErrors(); + } return $this->renderer->render('@antenne/edit', compact('sess','page', 'listeRegions', 'listeAntennes')); } } diff --git a/src/Antenne/views/edit.twig b/src/Antenne/views/edit.twig index 2defd54..74d380c 100644 --- a/src/Antenne/views/edit.twig +++ b/src/Antenne/views/edit.twig @@ -30,75 +30,95 @@