Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Ajoute une absence à un utilisateur
- *
- * @param User $user
- * @param int $maxDiffJours maximum de jour d'une absence
- * @param int $maxDiffHeures maximum d'heures d'une absence
- * @return void
- */
- public function addAbsence(User $user, $maxDiffJours, $maxDiffHeures)
- {
- $absence = new Absence();
- $typeConge = $this->faker->randomElement($this->listeTypeConges);
- $absence->setTypeConge($typeConge);
- $maxDiffJours = '+' . $maxDiffJours . ' days';
- $maxDiffHeures = '+' . $maxDiffHeures . ' hours';
- //La date de début correspond à une date comprise entre aujourd'hui et now + nbJours
- $dateDeb = $this->faker->dateTimeBetween('now', $maxDiffJours);
- //Si le type est heures supp, on lui met en date de fin la même que celle du début
- if ($typeConge->getNom() == 'Heures supp') {
- $dateFin = clone ($dateDeb);
- //On lui affecte l'heure de début : comprise entre la date d'aujourd'hui et
- //la date d'aujourd'hui + nb d'heures
- $heureDeb = $this->faker->dateTimeInInterval($dateDeb, $maxDiffHeures);
- //Heure de fin : entre l'heure de début et l'heure de début + un nbHeures
- $heureFin = $this->faker->dateTimeInInterval($heureDeb, $maxDiffHeures);
- } else {
- //Type de congé autre que heure supp', donc on choisit une date de fin entre la date
- //de début et la date de début + un nb de jours
- $dateFin = $this->faker->dateTimeBetween($dateDeb, $maxDiffJours);
- $heureDeb = null;
- $heureFin = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement