1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| //Créer une facture
#[Route('/creer-facture', name: 'creer-facture')]
public function creerFacture(EcrituresRepository $ecrituresRepository, EntityManagerInterface $em, Request $request): Response
{
$titre = "Créer une facture";
$ecriture = (new Ecritures());
$numdocument = $ecrituresRepository->getNouveauNumeroFacture();
$ecriture
->setNumDocument($numdocument)
->setDateDocument(new \DateTimeImmutable())
->setTypeDocument('Facture')
->setEtatDocument('En création');
$formEcritures = $this->createForm(EcrituresType::class, $ecriture);
$formEcritures->handleRequest($request);
if ($formEcritures->isSubmitted() && $formEcritures->isValid()) {
$em->persist($ecriture);
$em->flush();
$this->addFlash('success', 'La nouvelle facture a été enregistrée avec succès dans la base.');
}
return $this->render('ecritures/ecritures-form.html.twig', [
'formEcritures' => $formEcritures->createView(),
'titre' => $titre
]);
}
//Creer des ligne de factures
#[Route('/creer-lignes-facture',name:'creer-lignes-facture')]
public function creerLigne(EntityManagerInterface $em,Request $request):Response{
//Vérification données du formulaire écritures avant ajout de ligne de détails
if ($this->formEcritures->isValid()) {
$ligne = new DetailsEcritures();
$ligne
->setNumDocument($this->$numdocument);
$formCreerLignes=$this->createForm(DetailsEcrituresType::class,$ligne);
$formCreerLignes->handleRequest($request);
if($formCreerLignes->isSubmitted()&& $formCreerLignes->isValid()){
$em->persist($ligne);
$em->flush();
}
return $this->render('ecritures/details-ecritures-form.html.twig',[
'formCreerLignes'=>$formCreerLignes->createView()
]);
;
} else {
return new Exception("Veuillez au préalable remplir tous les champs obligatoires...");
}
} |
Partager