Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [ ] Pas de régression - [ ] TU/TI/TF rédigée - [ ] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: #6 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
98 lines
2.7 KiB
PHP
98 lines
2.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\DataFixtures;
|
|
|
|
use App\Entity\Absence;
|
|
use App\Entity\AbsenceType;
|
|
use App\Entity\Employee;
|
|
use App\Enum\HalfDay;
|
|
use DateTime;
|
|
use Doctrine\Bundle\FixturesBundle\Fixture;
|
|
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
|
|
use Doctrine\Persistence\ObjectManager;
|
|
|
|
final class AbsenceFixtures extends Fixture implements DependentFixtureInterface
|
|
{
|
|
public function load(ObjectManager $manager): void
|
|
{
|
|
$this->createAbsence(
|
|
$manager,
|
|
$this->getReference(FixtureReferences::EMPLOYEE_STANDARD, Employee::class),
|
|
$this->getReference(FixtureReferences::ABSENCE_TYPE_CONGE, AbsenceType::class),
|
|
'2026-03-03',
|
|
HalfDay::AM,
|
|
'2026-03-03',
|
|
HalfDay::PM,
|
|
'CP standard non forfait'
|
|
);
|
|
|
|
$this->createAbsence(
|
|
$manager,
|
|
$this->getReference(FixtureReferences::EMPLOYEE_4H, Employee::class),
|
|
$this->getReference(FixtureReferences::ABSENCE_TYPE_CONGE, AbsenceType::class),
|
|
'2026-03-04',
|
|
HalfDay::AM,
|
|
'2026-03-04',
|
|
HalfDay::PM,
|
|
'CP employe 4h'
|
|
);
|
|
|
|
$this->createAbsence(
|
|
$manager,
|
|
$this->getReference(FixtureReferences::EMPLOYEE_FORFAIT, Employee::class),
|
|
$this->getReference(FixtureReferences::ABSENCE_TYPE_AUTRE, AbsenceType::class),
|
|
'2026-03-05',
|
|
HalfDay::AM,
|
|
'2026-03-05',
|
|
HalfDay::AM,
|
|
'Absence forfait demi-journee'
|
|
);
|
|
|
|
$this->createAbsence(
|
|
$manager,
|
|
$this->getReference(FixtureReferences::EMPLOYEE_INTERIM, Employee::class),
|
|
$this->getReference(FixtureReferences::ABSENCE_TYPE_ABSENT, AbsenceType::class),
|
|
'2026-03-06',
|
|
HalfDay::AM,
|
|
'2026-03-06',
|
|
HalfDay::PM,
|
|
'Absence interim'
|
|
);
|
|
|
|
$manager->flush();
|
|
}
|
|
|
|
public function getDependencies(): array
|
|
{
|
|
return [
|
|
EmployeeFixtures::class,
|
|
AbsenceTypeFixtures::class,
|
|
];
|
|
}
|
|
|
|
private function createAbsence(
|
|
ObjectManager $manager,
|
|
Employee $employee,
|
|
AbsenceType $type,
|
|
string $startDate,
|
|
HalfDay $startHalf,
|
|
string $endDate,
|
|
HalfDay $endHalf,
|
|
string $comment
|
|
): void {
|
|
$absence = new Absence()
|
|
->setEmployee($employee)
|
|
->setType($type)
|
|
->setStartDate(new DateTime($startDate))
|
|
->setStartHalf($startHalf)
|
|
->setEndDate(new DateTime($endDate))
|
|
->setEndHalf($endHalf)
|
|
->setComment($comment)
|
|
;
|
|
|
|
$manager->persist($absence);
|
|
}
|
|
}
|