From 9eafbbe2d9126739e42ca53f9fe376bf6de8c158 Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 22 Jan 2026 11:14:22 +0100 Subject: [PATCH] =?UTF-8?q?```=20=E2=9C=A8=20feat(Contrats):=20Rend=20les?= =?UTF-8?q?=20champs=20adresse=202=20et=203=20non=20obligatoires=20et=20aj?= =?UTF-8?q?oute=20la=20gestion=20du=20formulaire.=20```?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migrations/Version20260122101228.php | 32 +++++++++++++++++++ .../Dashboard/ContratsController.php | 13 +++++++- src/Entity/Contrats.php | 4 +-- src/Form/Type/ContratsType.php | 4 +-- 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 migrations/Version20260122101228.php diff --git a/migrations/Version20260122101228.php b/migrations/Version20260122101228.php new file mode 100644 index 0000000..acb13d8 --- /dev/null +++ b/migrations/Version20260122101228.php @@ -0,0 +1,32 @@ +addSql('ALTER TABLE contrats ALTER adress2_event DROP NOT NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('ALTER TABLE contrats ALTER adress2_event SET NOT NULL'); + } +} diff --git a/src/Controller/Dashboard/ContratsController.php b/src/Controller/Dashboard/ContratsController.php index 8f798b5..07f9c03 100644 --- a/src/Controller/Dashboard/ContratsController.php +++ b/src/Controller/Dashboard/ContratsController.php @@ -29,7 +29,7 @@ class ContratsController extends AbstractController } - #[Route(path: '/crm/contrats/add', name: 'app_crm_contrats_create', options: ['sitemap' => false], methods: ['GET'])] + #[Route(path: '/crm/contrats/add', name: 'app_crm_contrats_create', options: ['sitemap' => false], methods: ['GET','POST'])] public function contratsAdd(Request $request,DevisRepository $devisRepository, AppLogger $appLogger): Response { $devis = $devisRepository->find($request->get('idDevis',0)); @@ -76,6 +76,17 @@ class ContratsController extends AbstractController } $form = $this->createForm(ContratsType::class,$c); + $form->handleRequest($request); + if($form->isSubmitted() && $form->isValid()){ + //save line save options + //generate reservation number + //send contrat customer + //customer signed contrat + redirection to paiment interface + // 1 option, full paiement + // 2 option 25% arhee + // 3 options paiment caution <7j + + } diff --git a/src/Entity/Contrats.php b/src/Entity/Contrats.php index f76d3b0..6662cf4 100644 --- a/src/Entity/Contrats.php +++ b/src/Entity/Contrats.php @@ -31,7 +31,7 @@ class Contrats #[ORM\Column(length: 255)] private ?string $adressEvent = null; - #[ORM\Column(length: 255)] + #[ORM\Column(length: 255,nullable: true)] private ?string $adress2Event = null; #[ORM\Column(length: 255, nullable: true)] @@ -164,7 +164,7 @@ class Contrats return $this->adress2Event; } - public function setAddress2Event(string $adress2Event): static + public function setAddress2Event(?string $adress2Event): static { $this->adress2Event = $adress2Event; diff --git a/src/Form/Type/ContratsType.php b/src/Form/Type/ContratsType.php index 2a0d6be..9b915ab 100644 --- a/src/Form/Type/ContratsType.php +++ b/src/Form/Type/ContratsType.php @@ -26,11 +26,11 @@ class ContratsType extends AbstractType ]) ->add('address2Event',TextType::class,[ 'label' =>'Adresse 2', - 'required' => true, + 'required' => false, ]) ->add('address3Event',TextType::class,[ 'label' =>'Adresse 3', - 'required' => true, + 'required' => false, ]) ->add('dateAt',DateTimeType::class,[ 'label' =>'Date',