```
✨ feat(contrat): Améliore l'affichage des contrats et ajoute suivi des paiements.
Cette commit améliore l'affichage des contrats dans le dashboard,
ajoute le suivi des paiements et corrige des bugs mineurs.
```
This commit is contained in:
@@ -271,15 +271,17 @@ class Client
|
||||
return $submiter['uuid']; // numéro de signature;
|
||||
}
|
||||
|
||||
public function autoSignConfirmedPayment(ContratsPayments $contratsPayments) {
|
||||
public function autoSignConfirmedPayment(ContratsPayments $contratsPayments)
|
||||
{
|
||||
$relativeFileUrl = $this->storage->resolveUri($contratsPayments, 'paymentFile');
|
||||
$fileUrl = $this->baseUrl . $relativeFileUrl;
|
||||
$fileUrl = $this->baseUrl . $relativeFileUrl;
|
||||
|
||||
$submission = $this->docuseal->createSubmissionFromPdf([
|
||||
'name' => 'Confirmaton de paiement N°' . $contratsPayments->getPaymentId(), // Correction : getNum()
|
||||
'name' => 'Confirmation de paiement N°' . $contratsPayments->getPaymentId(),
|
||||
'send_email' => true,
|
||||
'documents' => [
|
||||
[
|
||||
'name' => 'confirmation_paiement_' . $contratsPayments->getId() . '.pdf', // Correction : getNum()
|
||||
'name' => 'confirmation_paiement_' . $contratsPayments->getId() . '.pdf',
|
||||
'file' => $fileUrl,
|
||||
],
|
||||
],
|
||||
@@ -289,14 +291,34 @@ class Client
|
||||
'email' => 'contact@ludikevent.fr',
|
||||
'completed' => true,
|
||||
'fields' => [
|
||||
['name'=>'Sign','default_value'=>$this->logoBase64()]
|
||||
['name' => 'Sign', 'default_value' => $this->logoBase64()]
|
||||
]
|
||||
],
|
||||
],
|
||||
]);
|
||||
$sub = $this->docuseal->getSubmission($submission['id']);
|
||||
sleep(5);
|
||||
return $sub['documents'][0]['url'];
|
||||
|
||||
// --- SYSTÈME DE VÉRIFICATION DYNAMIQUE ---
|
||||
$maxAttempts = 10; // On essaie 10 fois maximum
|
||||
$attempts = 0;
|
||||
$documentUrl = null;
|
||||
|
||||
while ($attempts < $maxAttempts) {
|
||||
$sub = $this->docuseal->getSubmission($submission['id']);
|
||||
|
||||
// Vérification si le document et son URL sont prêts
|
||||
if (!empty($sub['documents'][0]['url'])) {
|
||||
$documentUrl = $sub['documents'][0]['url'];
|
||||
break; // On sort de la boucle dès que c'est prêt
|
||||
}
|
||||
|
||||
$attempts++;
|
||||
usleep(500000); // Attend 0.5 seconde avant de réessayer (plus rapide que sleep(1))
|
||||
}
|
||||
|
||||
if (!$documentUrl) {
|
||||
throw new \Exception("Docuseal n'a pas généré le document signé à temps pour le paiement " . $contratsPayments->getId());
|
||||
}
|
||||
|
||||
return $documentUrl;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user