Merge branch 'changehourevent' into timetracking
This commit is contained in:
@@ -99,6 +99,7 @@ class EventController extends AbstractController
|
||||
$am = ($request->request->get('am')=="true");
|
||||
$ap = ($request->request->get('ap')=="true");
|
||||
$astreinte = ($request->request->get('astreinte')=="true");
|
||||
$externaltrip = ($request->request->get('externaltrip')=="true");
|
||||
$description = $request->request->get('description');
|
||||
|
||||
$user = $em->getRepository("App:User")->find($iduser);
|
||||
@@ -242,6 +243,7 @@ class EventController extends AbstractController
|
||||
$event->setEnd($dateend);
|
||||
$event->setDuration($duration);
|
||||
$event->setAllday($allday);
|
||||
$event->setExternalTrip($externaltrip);
|
||||
$event->setDescription($description);
|
||||
$event->setUser($user);
|
||||
$event->setTask($task);
|
||||
@@ -271,7 +273,10 @@ class EventController extends AbstractController
|
||||
$idevent = str_replace("A","",$request->request->get('idevent'));
|
||||
$iduser = $request->request->get('iduser');
|
||||
$idtask = $request->request->get('idtask');
|
||||
$am = ($request->request->get('am')=="true");
|
||||
$ap = ($request->request->get('ap')=="true");
|
||||
$fgastreinte = ($request->request->get('fgastreinte')=="true");
|
||||
$externaltrip = ($request->request->get('externaltrip')=="true");
|
||||
$description = $request->request->get('description');
|
||||
|
||||
$user = $em->getRepository("App:User")->find($iduser);
|
||||
@@ -327,17 +332,82 @@ class EventController extends AbstractController
|
||||
return new Response(json_encode($output));
|
||||
}
|
||||
|
||||
$datestart=$event->getStart();
|
||||
$dateend =$event->getEnd();
|
||||
$duration=$dateend->diff($datestart)->d;
|
||||
if($am&&$ap) {
|
||||
if ($duration >= 1) {
|
||||
$dateend->SetTime(0,0,-1);
|
||||
}
|
||||
$datestart->SetTime(0,0,0);
|
||||
$dateend->add(new \DateInterval('P1D'));
|
||||
$dateend->SetTime(0,0,0);
|
||||
$duration=$dateend->diff($datestart)->d;
|
||||
$allday=true;
|
||||
}
|
||||
else {
|
||||
$duration=$dateend->diff($datestart)->d;
|
||||
if ($duration == 1) {
|
||||
$dateend->SetTime(0,0,-1);
|
||||
}
|
||||
$duration=0.5;
|
||||
$allday=false;
|
||||
if($am) {
|
||||
$datestart->SetTime(9,0,0);
|
||||
$dateend->SetTime(12,0,0);
|
||||
}
|
||||
else {
|
||||
$datestart->SetTime(13,0,0);
|
||||
$dateend->SetTime(17,0,0);
|
||||
}
|
||||
}
|
||||
// On regarde si une tache ne commence pas pendant une autre intervention ou qui se termine pendant une autre intervention ou qui a une intervention compris dans ses dates
|
||||
$events = $em->createQueryBuilder('event')
|
||||
->select('event')
|
||||
->from('App:Event','event')
|
||||
->Where('event.user=:user AND event.start<=:start AND event.end >:start')
|
||||
->orWhere('event.user=:user AND event.start<:end AND event.end >=:end')
|
||||
->orWhere('event.user=:user AND event.start>:start AND event.end <:end')
|
||||
->setParameter('user',$iduser)
|
||||
->setParameter('start',$datestart)
|
||||
->setParameter('end',$dateend)
|
||||
->getQuery()->getResult();
|
||||
if($events) {
|
||||
$tbevent=[];
|
||||
foreach($events as $ev) {
|
||||
if ($event->getId() != $ev->getId()) {
|
||||
$tmp=[
|
||||
"id" => $ev->getId(),
|
||||
"task" => $ev->getTask()->getName(),
|
||||
"start" => $ev->getStart(),
|
||||
"end" => $ev->getEnd(),
|
||||
];
|
||||
array_push($tbevent,$tmp);
|
||||
}
|
||||
}
|
||||
if (sizeof($tbevent)>0) {
|
||||
$output=["return"=>"KO","error"=>"Cet intervant a déjà une tache à cette date","start"=>$datestart,"end"=>$dateend,"events"=>$tbevent];
|
||||
return new Response(json_encode($output));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Modification de l'évenement
|
||||
$event->setStart($datestart);
|
||||
$event->setEnd($dateend);
|
||||
$event->setDescription($description);
|
||||
$event->setDuration($duration);
|
||||
$event->setAllday($allday);
|
||||
$event->setExternalTrip($externaltrip);
|
||||
$event->setUser($user);
|
||||
$event->setTask($task);
|
||||
|
||||
|
||||
$em->persist($event);
|
||||
$em->flush();
|
||||
|
||||
$output=$this->formatEvent($event);
|
||||
}
|
||||
|
||||
return new Response(json_encode($output));
|
||||
}
|
||||
|
||||
@@ -411,6 +481,8 @@ class EventController extends AbstractController
|
||||
"borderColor" => $event->getTask()->getColor(),
|
||||
"textColor" => "#ffffff",
|
||||
"allDay" => $event->getAllday(),
|
||||
"holiday" => $event->getTask()->getNature()->getIsvacation(),
|
||||
"externaltrip" => ($event instanceof Penalty?$event->getExternalTrip():false),
|
||||
"editable" => $editable,
|
||||
"durationEditable" => false,
|
||||
"extendedProps" => [
|
||||
@@ -441,6 +513,8 @@ class EventController extends AbstractController
|
||||
"borderColor" => "#cdcdcd",
|
||||
"textColor" => "#ffffff",
|
||||
"allDay" => true,
|
||||
"externaltrip" => false,
|
||||
"holiday" => false,
|
||||
"editable" => false,
|
||||
"durationEditable" => false,
|
||||
"extendedProps" => [
|
||||
|
@@ -50,6 +50,12 @@ class Event
|
||||
*/
|
||||
private $allday;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="externaltrip", type="boolean")
|
||||
*
|
||||
*/
|
||||
private $externaltrip;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="validate", type="boolean")
|
||||
*
|
||||
@@ -96,24 +102,24 @@ class Event
|
||||
|
||||
public function getStart(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->start;
|
||||
return clone $this->start;
|
||||
}
|
||||
|
||||
public function setStart(\DateTimeInterface $start): self
|
||||
{
|
||||
$this->start = $start;
|
||||
$this->start = clone $start;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEnd(): ?\DateTimeInterface
|
||||
{
|
||||
return $this->end;
|
||||
return clone $this->end;
|
||||
}
|
||||
|
||||
public function setEnd(\DateTimeInterface $end): self
|
||||
{
|
||||
$this->end = $end;
|
||||
$this->end = clone $end;
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -129,6 +135,17 @@ class Event
|
||||
|
||||
return $this;
|
||||
}
|
||||
public function getExternalTrip(): ?bool
|
||||
{
|
||||
return $this->externaltrip;
|
||||
}
|
||||
|
||||
public function setExternalTrip(bool $externaltrip): self
|
||||
{
|
||||
$this->externaltrip = $externaltrip;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getValidate(): ?bool
|
||||
{
|
||||
|
Reference in New Issue
Block a user