Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. /**
  2. * Ajoute une absence à un utilisateur
  3. *
  4. * @param User $user
  5. * @param int $maxDiffJours maximum de jour d'une absence
  6. * @param int $maxDiffHeures maximum d'heures d'une absence
  7. * @return void
  8. */
  9. public function addAbsence(User $user, $maxDiffJours, $maxDiffHeures)
  10. {
  11. $absence = new Absence();
  12.  
  13. $typeConge = $this->faker->randomElement($this->listeTypeConges);
  14. $absence->setTypeConge($typeConge);
  15. $maxDiffJours = '+' . $maxDiffJours . ' days';
  16. $maxDiffHeures = '+' . $maxDiffHeures . ' hours';
  17.  
  18. //La date de début correspond à une date comprise entre aujourd'hui et now + nbJours
  19. $dateDeb = $this->faker->dateTimeBetween('now', $maxDiffJours);
  20.  
  21. //Si le type est heures supp, on lui met en date de fin la même que celle du début
  22. if ($typeConge->getNom() == 'Heures supp') {
  23. $dateFin = clone ($dateDeb);
  24.  
  25. //On lui affecte l'heure de début : comprise entre la date d'aujourd'hui et
  26. //la date d'aujourd'hui + nb d'heures
  27. $heureDeb = $this->faker->dateTimeInInterval($dateDeb, $maxDiffHeures);
  28.  
  29. //Heure de fin : entre l'heure de début et l'heure de début + un nbHeures
  30. $heureFin = $this->faker->dateTimeInInterval($heureDeb, $maxDiffHeures);
  31.  
  32. } else {
  33. //Type de congé autre que heure supp', donc on choisit une date de fin entre la date
  34. //de début et la date de début + un nb de jours
  35. $dateFin = $this->faker->dateTimeBetween($dateDeb, $maxDiffJours);
  36. $heureDeb = null;
  37. $heureFin = null;
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement