From 034ceec27986c74ada096ecec6c37ad2429d30bd Mon Sep 17 00:00:00 2001 From: nox Date: Tue, 4 Feb 2020 23:35:27 +0100 Subject: [PATCH] =?UTF-8?q?Finalisation=20de=20la=20modification=20d'une?= =?UTF-8?q?=20antenne=20-=20Ajout=20des=20lignes=20de=20pr=C3=A9sentation?= =?UTF-8?q?=20de=20l'antenne=20dans=20la=20page=20Produits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Account/Action/ProfilAction.php | 2 +- src/Admin/DashboardAction.php | 2 +- src/Admin/DashboardUserAction.php | 2 +- src/Admin/Table/UserTable.php | 1 - src/Antenne/Actions/AntenneEditAction.php | 99 +++++++++++++-------- src/Antenne/views/edit.twig | 67 ++++++++++---- src/Gmarche/Table/AntenneTable.php | 32 ++++++- src/Product/Actions/ProductIndexAction.php | 6 +- src/Product/views/admin/products/index.twig | 13 ++- 9 files changed, 157 insertions(+), 67 deletions(-) diff --git a/src/Account/Action/ProfilAction.php b/src/Account/Action/ProfilAction.php index 47712e6..c75e23c 100644 --- a/src/Account/Action/ProfilAction.php +++ b/src/Account/Action/ProfilAction.php @@ -37,7 +37,7 @@ class ProfilAction public function __invoke(ServerRequestInterface $request) { - $listeAntennes = $this->antenneTable->findAllAntennes(); + $listeAntennes = $this->antenneTable->findAllAntennes(''); $user_affiche = $request->getAttribute('user')->username; $nom_avatar = $request->getAttribute('user')->avatar; $email = $request->getAttribute('user')->email; diff --git a/src/Admin/DashboardAction.php b/src/Admin/DashboardAction.php index 3a104a5..82e9591 100644 --- a/src/Admin/DashboardAction.php +++ b/src/Admin/DashboardAction.php @@ -56,7 +56,7 @@ class DashboardAction $liste_adminGeneral = $this->userTable->findAdminUsers('1'); $liste_adminAntenne = $this->userTable->findAdminUsers('2'); $liste_users_suivi = $this->userTable->findUsers('3'); - $listeAntennes = $this->antenneTable->findAllAntennes(); + $listeAntennes = $this->antenneTable->findAllAntennes('',false,''); if ($this->session->get('username')) { $this->session->delete('role'); $this->session->delete('username'); diff --git a/src/Admin/DashboardUserAction.php b/src/Admin/DashboardUserAction.php index 8f81024..b97491c 100644 --- a/src/Admin/DashboardUserAction.php +++ b/src/Admin/DashboardUserAction.php @@ -59,7 +59,7 @@ class DashboardUserAction $user = $this->userTable->findBy('username', $user_affiche); $id_affiche = $user->id; $actif_affiche = $user->actif; - $listeAntennes = $this->antenneTable->findAllAntennes(); + $listeAntennes = $this->antenneTable->findAllAntennes(''); $sess = $_SESSION; return $this->renderer->render('@admin/dashboard_user', compact('sess','user_affiche','id_affiche', 'actif_affiche', 'user','liste_users_suivi','listeAntennes')); diff --git a/src/Admin/Table/UserTable.php b/src/Admin/Table/UserTable.php index c09b85b..7dd3dcb 100644 --- a/src/Admin/Table/UserTable.php +++ b/src/Admin/Table/UserTable.php @@ -4,7 +4,6 @@ namespace App\Admin\Table; use App\Admin\Entity\User; use App\Gmarche\Table\AntenneTable; -use App\Gmarche\Table\RegionTable; use Framework\Database\Query; use Framework\Database\Table; diff --git a/src/Antenne/Actions/AntenneEditAction.php b/src/Antenne/Actions/AntenneEditAction.php index 1690361..82f5fae 100644 --- a/src/Antenne/Actions/AntenneEditAction.php +++ b/src/Antenne/Actions/AntenneEditAction.php @@ -4,11 +4,14 @@ if (!isset($_SESSION)) { session_start(); } +use App\Admin\Table\UserTable; +use App\Framework\Response\RedirectBackResponse; use App\Gmarche\Table\AntenneTable; use App\Gmarche\Table\RegionTable; use Framework\Actions\RouterAwareAction; use Framework\Renderer\RendererInterface; use Framework\Response\RedirectResponse; +use Framework\Session\FlashService; use Framework\Validator; use Psr\Container\ContainerInterface; use Psr\Http\Message\ServerRequestInterface as Request; @@ -31,60 +34,86 @@ class AntenneEditAction */ private $antenneTable; + /** + * @var FlashService + */ + private $flashService; + use RouterAwareAction; public function __construct( RendererInterface $renderer, RegionTable $regionTable, AntenneTable $antenneTable, + UserTable $userTable, + FlashService $flashService, ContainerInterface $container ) { $this->renderer = $renderer; $this->regionTable = $regionTable; $this->antenneTable = $antenneTable; + $this->userTable = $userTable; + $this->flashService = $flashService; $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; + $role = $request->getAttribute('user')->role; + $user_id = $request->getAttribute('user')->id; + if ($role < 3) { + if ($request->getMethod() === 'GET') { + // $username = $this->session->get('username', []); + if ($role == 2) { + $antennes_suivies = $request->getAttribute('user')->suiviantenne; + $liste_ant_suiv = str_replace('|',',',$antennes_suivies); + $listeAntennes = $this->antenneTable->findAnyAntennes('tri_alpha',$liste_ant_suiv); + } else { + $listeAntennes = $this->antenneTable->findAllAntennes('tri_alpha'); + } + $listeRegions = $this->regionTable->findAll(); + } - 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()); + $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 + $sess = $_SESSION; + + if ($request->getMethod() === 'POST') { + $params = $request->getParsedBody(); + $antenne_id = strstr( $params['antenne'], '|', true); + $date = $params['datepicker']; + $time = '00:00:00'; + $date_us = substr($date,6,4).'-'.substr($date,3,2).'-'.substr($date,0,2); + $date_us .= ' '.$time; + $madate = date("Y-m-d H:i:s", strtotime($date_us)); + $validator = (new Validator($params)) + ->required('antenne', 'region'); + if ($validator->isValid()) { + $antenneParams = [ + 'id' => $antenne_id, + 'region_id' => $params['region'], + 'gmarcheAt' => $madate, + 'edito1' => $params['contenu1'], + 'edito2' => $params['contenu2'], + 'edito3' => $params['contenu3'], + 'edito4' => $params['contenu4'] + ]; + $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')); + } else { + $this->flashService->success("Vous n'avez pas accès à cette fonction"); + return new RedirectBackResponse($request); } - $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 74d380c..929ce4a 100644 --- a/src/Antenne/views/edit.twig +++ b/src/Antenne/views/edit.twig @@ -33,7 +33,7 @@ MODIFICATION D'UNE ANTENNE -
+
@@ -45,19 +45,32 @@ Sélectionnez l'antenne {% for item in listeAntennes %} - - {% endfor %} -
{% set j=0 %} {% for item in listeAntennes %} {% set j=j+1 %} {% set name = 'region_name'~j %} - {{ field(name,item.regionName,"", {type:'hidden'}) }} + {{ field(name,item.regionName,"", {type:'hidden'}) }} + + {% endfor %} + {% set k=0 %} + {% for item in listeAntennes %} + {% set k=k+1 %} + {% set name = 'edito1_'~k %} + {{ field(name,item.edito1,"", {type:'hidden'}) }} + {% set name = 'edito2_'~k %} + {{ field(name,item.edito2,"", {type:'hidden'}) }} + {% set name = 'edito3_'~k %} + {{ field(name,item.edito3,"", {type:'hidden'}) }} + {% set name = 'edito4_'~k %} + {{ field(name,item.edito4,"", {type:'hidden'}) }} + {% set name = 'gmAt_'~k %} + {{ field(name,item.gmarcheAt,"", {type:'hidden'}) }} {% endfor %}
@@ -75,11 +88,13 @@
-
- +
- - +

+ Ligne 1 + Ligne 2 + Ligne 3 + Ligne 4
@@ -91,8 +106,9 @@