ne pas pouvoir commencer une journée tant que les précédentes ne sont pas terminées (fixes #9)
This commit is contained in:
parent
4ec5dceb14
commit
d8df23bc5d
@ -130,6 +130,11 @@ class RestController extends AbstractFOSRestController
|
|||||||
$datenow=new \DateTime("now");
|
$datenow=new \DateTime("now");
|
||||||
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($user,$datenow)) {
|
||||||
|
$view = $this->view("Impossible d'entamer une journée sans avoir terminé les jours précédents", 404);
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
// On recherche le dernier pointage de la journée
|
// On recherche le dernier pointage de la journée
|
||||||
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
||||||
|
|
||||||
@ -228,6 +233,11 @@ class RestController extends AbstractFOSRestController
|
|||||||
}
|
}
|
||||||
$datenow=new \DateTime("now");
|
$datenow=new \DateTime("now");
|
||||||
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($user,$datenow)) {
|
||||||
|
$view = $this->view("Impossible d'entamer une journée sans avoir terminé les jours précédents", 404);
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
// On recherche le dernier pointage de la journée
|
// On recherche le dernier pointage de la journée
|
||||||
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
||||||
@ -322,6 +332,11 @@ class RestController extends AbstractFOSRestController
|
|||||||
$datenow=new \DateTime("now");
|
$datenow=new \DateTime("now");
|
||||||
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($user,$datenow)) {
|
||||||
|
$view = $this->view("Impossible d'entamer une journée sans avoir terminé les jours précédents", 404);
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
// On recherche le dernier pointage de la journée
|
// On recherche le dernier pointage de la journée
|
||||||
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
$data = $em->getRepository("App:Tallyday")->findOneBy(["user"=>$user,"dateof"=>$datenow],["datestart"=>"DESC"]);
|
||||||
|
|
||||||
@ -429,7 +444,12 @@ class RestController extends AbstractFOSRestController
|
|||||||
$view = $this->view("API Key inconnue", 403);
|
$view = $this->view("API Key inconnue", 403);
|
||||||
return $this->handleView($view);
|
return $this->handleView($view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($user,$start)) {
|
||||||
|
$view = $this->view("Impossible d'entamer une journée sans avoir terminé les jours précédents", 404);
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
// Creation du timer
|
// Creation du timer
|
||||||
$dateof=clone $start;
|
$dateof=clone $start;
|
||||||
$dateof->setTime(0,0);
|
$dateof->setTime(0,0);
|
||||||
|
@ -844,6 +844,9 @@ class TallydayController extends AbstractController
|
|||||||
|
|
||||||
$datenow=new \DateTime("now");
|
$datenow=new \DateTime("now");
|
||||||
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($this->getUser(),$datenow))
|
||||||
|
return $this->redirectToRoute("app_tallyday",["message"=>"Impossible d'entamer une journée sans avoir terminé les jours précédents"]);
|
||||||
|
|
||||||
$data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"datestart"=>$datenow]);
|
$data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"datestart"=>$datenow]);
|
||||||
if(!$data) {
|
if(!$data) {
|
||||||
@ -874,6 +877,11 @@ class TallydayController extends AbstractController
|
|||||||
// On recherche le dernier pointage de la journée
|
// On recherche le dernier pointage de la journée
|
||||||
$datenow=new \DateTime("now");
|
$datenow=new \DateTime("now");
|
||||||
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
$datenow->setTime ( $datenow->format("H"), $datenow->format("i"), 0 );
|
||||||
|
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($this->getUser(),$datenow))
|
||||||
|
return $this->redirectToRoute("app_tallyday",["message"=>"Impossible d'entamer une journée sans avoir terminé les jours précédents"]);
|
||||||
|
|
||||||
|
// Recherche du créneau en cours
|
||||||
$data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"dateof"=>$datenow],["datestart"=>"DESC"]);
|
$data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"dateof"=>$datenow],["datestart"=>"DESC"]);
|
||||||
|
|
||||||
// Pas normal = on devrait avoir au minimum un tally si on veut faire un pointage de fin
|
// Pas normal = on devrait avoir au minimum un tally si on veut faire un pointage de fin
|
||||||
@ -957,6 +965,8 @@ class TallydayController extends AbstractController
|
|||||||
|
|
||||||
protected function getErrorForm($id,$form,$request,$data,$mode) {
|
protected function getErrorForm($id,$form,$request,$data,$mode) {
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
if(!$em->getRepository("App:Tallyday")->ctrlTallyday($data->getUser(),$data->getDateof()));
|
||||||
|
$form->addError(new FormError("Impossible d'entamer une journée sans avoir terminé les jours précédents"));
|
||||||
|
|
||||||
if ($form->get('submit')->isClicked()) {
|
if ($form->get('submit')->isClicked()) {
|
||||||
// date début < date fin
|
// date début < date fin
|
||||||
|
@ -51,6 +51,19 @@ class TallydayRepository extends ServiceEntityRepository
|
|||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function ctrlTallyday($user,$dateof) {
|
||||||
|
// Controle que l'ensemble des tallyday précédent sont bien complet
|
||||||
|
$qb = $this->createQueryBuilder('tallydate')
|
||||||
|
->Where('tallydate.user=:user')
|
||||||
|
->andWhere('tallydate.dateof<:dateof')
|
||||||
|
->andWhere('tallydate.datestart IS NOT NULL')
|
||||||
|
->andWhere('tallydate.dateend IS NULL')
|
||||||
|
->setParameter('user',$user)
|
||||||
|
->setParameter('dateof',$dateof->format("Y-m-d 0:0:0"));
|
||||||
|
$datas = $qb->getQuery()->getResult();
|
||||||
|
return !($datas);
|
||||||
|
}
|
||||||
|
|
||||||
public function getCapitaltimeinterval($user,$getnovalidate=false) {
|
public function getCapitaltimeinterval($user,$getnovalidate=false) {
|
||||||
$datenow=new \DateTime('00:00');
|
$datenow=new \DateTime('00:00');
|
||||||
$datas = $this->_em->getRepository('App:Tallyday')->findBy(["user"=>$user],["datestart"=>"DESC"]);
|
$datas = $this->_em->getRepository('App:Tallyday')->findBy(["user"=>$user],["datestart"=>"DESC"]);
|
||||||
|
Loading…
Reference in New Issue
Block a user