diff --git a/src/Controller/Admin/EcheancierController.php b/src/Controller/Admin/EcheancierController.php index 9210fe9..d7812b3 100644 --- a/src/Controller/Admin/EcheancierController.php +++ b/src/Controller/Admin/EcheancierController.php @@ -32,7 +32,7 @@ class EcheancierController extends AbstractController } #[Route('/create/{customerId}', name: 'create', requirements: ['customerId' => '\d+'], methods: ['POST'])] - public function create(int $customerId, Request $request): Response + public function create(int $customerId, Request $request, KernelInterface $kernel): Response { $customer = $this->em->getRepository(Customer::class)->find($customerId); if (null === $customer) { @@ -76,9 +76,12 @@ class EcheancierController extends AbstractController $this->em->persist($echeancier); $this->em->flush(); - $this->addFlash('success', 'Echeancier cree avec '.$nbEcheances.' echeances de '.$monthlyAmount.' EUR/mois.'); + // Generer le PDF automatiquement + $this->generateEcheancierPdf($echeancier, $kernel); - return $this->redirectToRoute('app_admin_clients_show', ['id' => $customerId, 'tab' => 'echeancier']); + $this->addFlash('success', 'Echeancier cree avec '.$nbEcheances.' echeances de '.$monthlyAmount.' EUR/mois. PDF genere.'); + + return $this->redirectToRoute('app_admin_echeancier_show', ['id' => $echeancier->getId()]); } #[Route('/{id}', name: 'show', requirements: ['id' => '\d+'])] @@ -183,6 +186,15 @@ class EcheancierController extends AbstractController throw $this->createNotFoundException(self::MSG_NOT_FOUND); } + $this->generateEcheancierPdf($echeancier, $kernel); + + $this->addFlash('success', 'PDF echeancier '.($echeancier->getPdfUnsigned() ? 'regenere' : 'genere').'.'); + + return $this->redirectToRoute('app_admin_echeancier_show', ['id' => $id]); + } + + private function generateEcheancierPdf(Echeancier $echeancier, KernelInterface $kernel): void + { $pdf = new EcheancierPdf($kernel, $echeancier); $pdf->generate(); @@ -200,10 +212,6 @@ class EcheancierController extends AbstractController $this->em->flush(); @unlink($tmpPath); - - $this->addFlash('success', 'PDF echeancier genere.'); - - return $this->redirectToRoute('app_admin_echeancier_show', ['id' => $id]); } /** diff --git a/templates/admin/echeancier/show.html.twig b/templates/admin/echeancier/show.html.twig index c689050..8b0f56e 100644 --- a/templates/admin/echeancier/show.html.twig +++ b/templates/admin/echeancier/show.html.twig @@ -67,10 +67,16 @@ {# Actions #}