From 2dd19b3ab43ee99cbfa1dd2a6241132e9cf525f0 Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Sat, 29 Nov 2025 13:57:59 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(AdminController):=20Ajoute=20l?= =?UTF-8?q?a=20r=C3=A9=C3=A9mission=20de=20convocation=20avec=20Docuseal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit introduces the functionality to resend a convocation using Docuseal. --- src/Controller/Admin/AdminController.php | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/Controller/Admin/AdminController.php b/src/Controller/Admin/AdminController.php index dd4e846..43fef2b 100644 --- a/src/Controller/Admin/AdminController.php +++ b/src/Controller/Admin/AdminController.php @@ -334,6 +334,58 @@ class AdminController extends AbstractController $r->setStatusCode(302); 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')) { /** @var Main $main */ $main = $mainRepository->find($request->query->get('idConvocation'));