Files
SIRH/src/Dto/Employees/ContractHistoryItem.php
tristan 1fe7f2cdde
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
feat : agence d'intérim sur les contrats INTERIM + renommage Types d'absence en Types de statut + colonne Absence en Statut
- Nouvelle entité InterimAgency (table interim_agencies, API lecture seule)
- Sélecteur agence conditionnel dans les formulaires création employé et ajout contrat
- Affichage "Intérim (NomAgence)" sur la liste employés et l'historique contrat
- Date de fin obligatoire côté frontend pour CDD et INTERIM (aligné backend)
- Renommage "Types d'absence" → "Types de statut" (sidebar, page, titre)
- Renommage en-tête "Absence" → "Statut" sur les vues jour heures et conducteurs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:47:14 +02:00

43 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Dto\Employees;
use Symfony\Component\Serializer\Attribute\Groups;
final class ContractHistoryItem
{
public function __construct(
#[Groups(['employee:read'])]
public ?int $contractId,
#[Groups(['employee:read'])]
public ?string $contractName,
#[Groups(['employee:read'])]
public ?float $weeklyHours,
#[Groups(['employee:read'])]
public string $contractNature,
#[Groups(['employee:read'])]
public string $startDate,
#[Groups(['employee:read'])]
public ?string $endDate,
#[Groups(['employee:read'])]
public ?string $comment = null,
#[Groups(['employee:read'])]
public ?int $periodId = null,
#[Groups(['employee:read'])]
public array $suspensions = [],
#[Groups(['employee:read'])]
public bool $isDriver = false,
/**
* @var null|array<int, int> iso-day → minutes
*/
#[Groups(['employee:read'])]
public ?array $workDaysHours = null,
#[Groups(['employee:read'])]
public ?int $interimAgencyId = null,
#[Groups(['employee:read'])]
public ?string $interimAgencyName = null,
) {}
}