renderer = $renderer; $this->regionTable = $regionTable; $this->antenneTable = $antenneTable; $this->container = $container; } public function __invoke(Request $request) { if ($request->getMethod() === 'GET') { // $role = $this->session->get('role', []); // $username = $this->session->get('username', []); $listeAntennes = $this->antenneTable->findAllAntennes(); $listeRegions = $this->regionTable->findAll(); } $params = $request->getQueryParams(); // On récupère l'id de la région cliquée $slug = $request->getAttribute('slug') ?: $_SESSION['connecte']; //$region_id = $this->regionTable->findBy('slug', $slug)->id ?: 1; $page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1 // $antennes = $this->antenneTable->findAllbyRegion($region_id)->paginate(25, $page); //$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')); } }