ajout possibilité de sélectionner plusieurs utilisateurs #21

Manually merged
mlamalle merged 1 commits from multi_select_users into timetracking 2020-07-31 14:20:18 +02:00
4 changed files with 32 additions and 7 deletions

View File

@@ -48,9 +48,18 @@ class EventController extends AbstractController
if($iduser=="all") if($iduser=="all")
$events=$em->getRepository("App:Event")->findAll(); $events=$em->getRepository("App:Event")->findAll();
else { else {
$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); $user=$em->getRepository("App:User")->find($iduser);
$events=$em->getRepository("App:Event")->findBy(["user"=>$user]); $events=$em->getRepository("App:Event")->findBy(["user"=>$user]);
} }
}
foreach($events as $event) { foreach($events as $event) {
$tmp=$this->formatEvent($event); $tmp=$this->formatEvent($event);

View File

@@ -36,7 +36,9 @@ class HomeController extends AbstractController
public function selectuser(Request $request) public function selectuser(Request $request)
{ {
$iduser = $request->request->get('iduser'); $iduser = $request->request->get('iduser');
$selectedusers = $request->request->get('selectedusers');
$this->get('session')->set('iduser',$iduser); $this->get('session')->set('iduser',$iduser);
$this->get('session')->set('selectedusers',$selectedusers);
$output=["return"=>"OK"]; $output=["return"=>"OK"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }

View File

@@ -121,6 +121,9 @@ class sessionListener {
array_push($tbservices,$tmp); array_push($tbservices,$tmp);
} }
$session->set('services',$tbservices); $session->set('services',$tbservices);
$selectedusers=[];
$session->set('selectedusers',$selectedusers);
} }
} }
} }

View File

@@ -284,13 +284,21 @@
</label> </label>
</a> </a>
<div class="select-control"> <div class="select-control">
<select class="form-control select2entity" id="sideuser" name="sideuser"> <select class="form-control select2entity" id="sideuser" name="sideuser" multiple>
<option value="all" selected>Tout le monde</option> <option value="all" {%if app.session.get('iduser')=="all" %}selected{% endif %}>Tout le monde</option>
{% for user in app.session.get('users') %} {% for user in app.session.get('users') %}
{% set selected="" %} {% set 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') %} {%if user.id==app.session.get('iduser') %}
{% set selected="selected" %} {% set selected="selected" %}
{% endif %} {% endif %}
{% endif %}
<option value="{{user.id}}" {{selected}}>{{user.displayname}}</option> <option value="{{user.id}}" {{selected}}>{{user.displayname}}</option>
{% endfor %} {% endfor %}
</select> </select>
@@ -512,10 +520,13 @@
$('#sideuser').on('select2:select', function (e) { $('#sideuser').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
var selectedusers = $('#sideuser').val();
console.log(selectedusers)
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
iduser: data.id, iduser: data.id,
selectedusers: selectedusers,
}, },
url: "{{ path('app_home_selectuser') }}", url: "{{ path('app_home_selectuser') }}",
success: function (response) { success: function (response) {