opyimisation de la requetes des événements
This commit is contained in:
@@ -26,7 +26,6 @@ class EventController extends AbstractController
|
|||||||
public function list(Request $request)
|
public function list(Request $request)
|
||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
|
||||||
$users = $em->getRepository("App:User")->findAll();
|
$users = $em->getRepository("App:User")->findAll();
|
||||||
$tasks = $em->getRepository("App:Task")->findAll();
|
$tasks = $em->getRepository("App:Task")->findAll();
|
||||||
|
|
||||||
@@ -42,20 +41,48 @@ class EventController extends AbstractController
|
|||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$tbevents=[];
|
$tbevents=[];
|
||||||
|
$start = $request->query->get('start');
|
||||||
// Evenements
|
$end = $request->query->get('end');
|
||||||
$iduser=$this->get("session")->get("iduser");
|
$iduser=$this->get("session")->get("iduser");
|
||||||
if($iduser=="all")
|
// Evenements
|
||||||
|
if($iduser=="all") {
|
||||||
$events=$em->getRepository("App:Event")->findAll();
|
$events=$em->getRepository("App:Event")->findAll();
|
||||||
|
$events = $em
|
||||||
|
->createQueryBuilder('event')
|
||||||
|
->select('event')
|
||||||
|
->from('App:Event','event')
|
||||||
|
->Where('event.start>=:start AND event.end <:end')
|
||||||
|
->setParameter('start',$start)
|
||||||
|
->setParameter('end',$end)
|
||||||
|
->getQuery()->getResult();
|
||||||
|
}
|
||||||
else {
|
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]);
|
||||||
|
$events = $em
|
||||||
|
->createQueryBuilder('event')
|
||||||
|
->select('event')
|
||||||
|
->from('App:Event','event')
|
||||||
|
->Where('event.user=:user AND event.start>=:start AND event.end <:end')
|
||||||
|
->setParameter('user',$user->getId())
|
||||||
|
->setParameter('start',$start)
|
||||||
|
->setParameter('end',$end)
|
||||||
|
->getQuery()->getResult();
|
||||||
}
|
}
|
||||||
foreach($events as $event) {
|
foreach($events as $event) {
|
||||||
$idproject=$event->getTask()->getProject()->getId();
|
//Filtre par service
|
||||||
|
|
||||||
|
if($this->get('session')->get('idservice')!="all") {
|
||||||
|
|
||||||
|
$idservice=$event->getUser()->getService()->getId();
|
||||||
|
if ($idservice!=$this->get('session')->get('idservice')){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
// Filtre par project
|
// Filtre par project
|
||||||
|
|
||||||
if($this->get('session')->get('idproject')!="all") {
|
if($this->get('session')->get('idproject')!="all") {
|
||||||
|
$idproject=$event->getTask()->getProject()->getId();
|
||||||
if($idproject!=$this->get('session')->get('idproject'))
|
if($idproject!=$this->get('session')->get('idproject'))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -64,7 +91,6 @@ class EventController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Astreintes
|
// Astreintes
|
||||||
$iduser=$this->get("session")->get("iduser");
|
|
||||||
if($iduser=="all")
|
if($iduser=="all")
|
||||||
$penaltys=$em->getRepository("App:Penalty")->findAll();
|
$penaltys=$em->getRepository("App:Penalty")->findAll();
|
||||||
else {
|
else {
|
||||||
@@ -72,11 +98,9 @@ class EventController extends AbstractController
|
|||||||
$user=$em->getRepository("App:User")->find($iduser);
|
$user=$em->getRepository("App:User")->find($iduser);
|
||||||
$penaltys=$em->getRepository("App:Penalty")->findBy(["user"=>$user]);
|
$penaltys=$em->getRepository("App:Penalty")->findBy(["user"=>$user]);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($penaltys as $penalty) {
|
foreach($penaltys as $penalty) {
|
||||||
$tmp=$this->formatEvent($penalty);
|
$tmp=$this->formatEvent($penalty);
|
||||||
array_push($tbevents,$tmp);
|
array_push($tbevents,$tmp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Breakday
|
// Breakday
|
||||||
@@ -87,7 +111,6 @@ class EventController extends AbstractController
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retour
|
// Retour
|
||||||
return new Response(json_encode($tbevents));
|
return new Response(json_encode($tbevents));
|
||||||
}
|
}
|
||||||
|
@@ -277,7 +277,23 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<a>
|
||||||
|
<label class="control-label">
|
||||||
|
Service
|
||||||
|
</label>
|
||||||
|
</a>
|
||||||
|
<div class="select-control">
|
||||||
|
<select class="form-control select2entity" id="sideservice" name="sideservice">
|
||||||
|
<option value="all" selected>Tout les services</option>
|
||||||
|
{% for service in app.session.get('services') %}
|
||||||
|
{% set selected="" %}
|
||||||
|
{%if service.id==app.session.get('idservice') %}
|
||||||
|
{% set selected="selected" %}
|
||||||
|
{% endif %}
|
||||||
|
<option value="{{service.id}}" {{selected}}>{{service.name}}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<a>
|
<a>
|
||||||
<label class="control-label">
|
<label class="control-label">
|
||||||
Intervenant
|
Intervenant
|
||||||
@@ -314,23 +330,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<a>
|
|
||||||
<label class="control-label">
|
|
||||||
Service
|
|
||||||
</label>
|
|
||||||
</a>
|
|
||||||
<div class="select-control">
|
|
||||||
<select class="form-control select2entity" id="sideservice" name="sideservice">
|
|
||||||
<option value="all" selected>Tout les services</option>
|
|
||||||
{% for service in app.session.get('services') %}
|
|
||||||
{% set selected="" %}
|
|
||||||
{%if service.id==app.session.get('idservice') %}
|
|
||||||
{% set selected="selected" %}
|
|
||||||
{% endif %}
|
|
||||||
<option value="{{service.id}}" {{selected}}>{{service.name}}</option>
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="last"></li>
|
<li class="last"></li>
|
||||||
|
Reference in New Issue
Block a user