feat(reservation/contrat): Ajoute la gestion complète des contrats
```
This commit is contained in:
Serreau Jovann
2026-01-22 20:15:21 +01:00
parent afa6133907
commit 6656d56111
36 changed files with 2127 additions and 209 deletions

View File

@@ -227,4 +227,45 @@ class Client
return $this->getLinkSign($devis->getSignID());
}
public function eventSign(object $contrat): array
{
$events = [];
if ($contrat instanceof Contrats) {
$signId = $contrat->getSignID();
if (!$signId) return []; // Sécurité si pas d'ID de signature
$submiter = $this->getSubmiter($signId);
// Vérifier si submission_events existe pour éviter une erreur undefined index
if (!isset($submiter['submission_events'])) return [];
foreach ($submiter['submission_events'] as $event) {
$label = match($event['event_type']) {
'view_form' => "Contrat consulté",
'start_form' => "Début de procédure",
'complete_form' => "Contrat signé",
'decline_form' => "Signature refusée",
default => null
};
if ($label) {
$events[] = [
'event_type' => $label,
'event_timestamp' => new \DateTimeImmutable($event['event_timestamp'])
];
}
}
}
return $events;
}
public function signedData(Contrats $contrat) : string
{
$signId = $contrat->getSignID();
if (!$signId) return []; // Sécurité si pas d'ID de signature
$submiter = $this->getSubmiter($signId);
return $submiter['uuid']; // numéro de signature;
}
}