From 6b0b8bf281754abb9baee320f11d447b57e6d967 Mon Sep 17 00:00:00 2001 From: Matthieu Lamalle Date: Fri, 31 Jul 2020 11:33:44 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20possibilit=C3=A9=20de=20s=C3=A9lectionn?= =?UTF-8?q?er=20plusieurs=20utilisateurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Controller/EventController.php | 13 +++++++++++-- .../src/Controller/HomeController.php | 2 ++ .../src/Service/sessionListener.php | 5 ++++- src/schedule-2.0/templates/base.html.twig | 19 +++++++++++++++---- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/schedule-2.0/src/Controller/EventController.php b/src/schedule-2.0/src/Controller/EventController.php index aaa8c52..10f82f0 100755 --- a/src/schedule-2.0/src/Controller/EventController.php +++ b/src/schedule-2.0/src/Controller/EventController.php @@ -48,8 +48,17 @@ class EventController extends AbstractController if($iduser=="all") $events=$em->getRepository("App:Event")->findAll(); else { - $user=$em->getRepository("App:User")->find($iduser); - $events=$em->getRepository("App:Event")->findBy(["user"=>$user]); + $selectedusers = $this->get("session")->get("selectedusers"); + if (isset($selectedusers) && sizeof($selectedusers)>1){ + $users= []; + foreach($selectedusers as $user) { + array_push($users,$em->getRepository("App:User")->find($user)); + } + $events=$em->getRepository("App:Event")->findBy(["user"=>$users]); + }else{ + $user=$em->getRepository("App:User")->find($iduser); + $events=$em->getRepository("App:Event")->findBy(["user"=>$user]); + } } foreach($events as $event) { diff --git a/src/schedule-2.0/src/Controller/HomeController.php b/src/schedule-2.0/src/Controller/HomeController.php index 01cfb4a..69b72af 100755 --- a/src/schedule-2.0/src/Controller/HomeController.php +++ b/src/schedule-2.0/src/Controller/HomeController.php @@ -36,7 +36,9 @@ class HomeController extends AbstractController public function selectuser(Request $request) { $iduser = $request->request->get('iduser'); + $selectedusers = $request->request->get('selectedusers'); $this->get('session')->set('iduser',$iduser); + $this->get('session')->set('selectedusers',$selectedusers); $output=["return"=>"OK"]; return new Response(json_encode($output)); } diff --git a/src/schedule-2.0/src/Service/sessionListener.php b/src/schedule-2.0/src/Service/sessionListener.php index 3c9560d..a872503 100644 --- a/src/schedule-2.0/src/Service/sessionListener.php +++ b/src/schedule-2.0/src/Service/sessionListener.php @@ -120,7 +120,10 @@ class sessionListener { ]; array_push($tbservices,$tmp); } - $session->set('services',$tbservices); + $session->set('services',$tbservices); + + $selectedusers=[]; + $session->set('selectedusers',$selectedusers); } } } diff --git a/src/schedule-2.0/templates/base.html.twig b/src/schedule-2.0/templates/base.html.twig index 7bed8be..10a6199 100644 --- a/src/schedule-2.0/templates/base.html.twig +++ b/src/schedule-2.0/templates/base.html.twig @@ -284,12 +284,20 @@
- + {% for user in app.session.get('users') %} {% set selected="" %} - {%if user.id==app.session.get('iduser') %} - {% set selected="selected" %} + {% if app.session.get('selectedusers')|length > 1 %} + {% for suser in app.session.get('selectedusers') %} + {%if user.id == suser %} + {% set selected="selected" %} + {% endif %} + {% endfor %} + {% else %} + {%if user.id==app.session.get('iduser') %} + {% set selected="selected" %} + {% endif %} {% endif %} {% endfor %} @@ -512,10 +520,13 @@ $('#sideuser').on('select2:select', function (e) { var data = e.params.data; + var selectedusers = $('#sideuser').val(); + console.log(selectedusers) $.ajax({ type: "POST", data: { iduser: data.id, + selectedusers: selectedusers, }, url: "{{ path('app_home_selectuser') }}", success: function (response) { -- 2.17.1