feat(AdminController): Ajoute la réémission de convocation avec Docuseal

This commit introduces the functionality to resend a convocation using Docuseal.
This commit is contained in:
Serreau Jovann
2025-11-29 13:57:59 +01:00
parent 122fa7cedc
commit 2dd19b3ab4

View File

@@ -334,6 +334,58 @@ class AdminController extends AbstractController
$r->setStatusCode(302); $r->setStatusCode(302);
return $r; return $r;
} }
if($request->query->has('idResendConvocatopn')) {
/** @var Main $main */
$main = $mainRepository->find($request->query->get('idConvocation'));
$agAdh = new AgAdh();
$agAdh->setData($main,$kernel,$entityManager);
$agAdh->GeneratePdf();
$content = $agAdh->Output('S');
$fileName = 'adh_ecosplay_' . $main->getAgDateAt()->format('Ymd') . '.pdf';
$tempFilePath = sys_get_temp_dir() . DIRECTORY_SEPARATOR . $fileName;
file_put_contents($tempFilePath, $content);
$file = new UploadedFile($tempFilePath,$fileName,"application/pdf",0,true);
$main->setAgAdh($file);
$main->setUpdateAt(new \DateTimeImmutable());
$main->setIsAttestation(true);
$entityManager->persist($main);
$url = $uploaderHelper->asset($main,'agAdh');
if($_ENV['APP_ENV'] == "prod") {
$url = $request->getContentTypeFormat() . $url;
$urlRoot = $request->getContentTypeFormat();
} else {
$url = $_ENV['DEV_URL'] . $url;
$urlRoot = $_ENV['DEV_URL'];
}
dd($url,$urlRoot);
$data = [
'name' => 'ADH E-COSPLAY '.$main->getAgDateAt()->format('d/m/Y'),
'documents' => [
[
'name' => 'adh-ecosplay-'.$main->getAgDateAt()->format('d-m-Y'),
'file' => $url
]
],
'submitters' => [
[
'role' => 'First Party',
'email' => 'contact@e-cosplay.fr',
'completed_redirect_url' =>$urlRoot.$this->generateUrl('app_adh',['id'=>$main->getId(),'validateResult'=>true,'vr'=>$isSigned->getId()]),
]
],
];
$docuseal = new \Docuseal\Api('pgAU116mCFmeF7WQSezHqxtZW8V1fgo31u5d2FXoaKe', 'https://signature.esy-web.dev/api');
$content = $docuseal->createSubmissionFromPdf($data);
$slug = $content['submitters'][0]['id'];
foreach ($main->getMainSigneds() as $mainSigned) {
$mainSigned->setSubmiterId($slug);
$entityManager->persist($mainSigned);
}
$entityManager->flush();
}
if($request->query->has('idConvocation')) { if($request->query->has('idConvocation')) {
/** @var Main $main */ /** @var Main $main */
$main = $mainRepository->find($request->query->get('idConvocation')); $main = $mainRepository->find($request->query->get('idConvocation'));