From 1877db9a50d6562bc4a9fe065e089cd47e018c40 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Fri, 21 Jul 2023 15:48:51 +0200
Subject: [PATCH] Ajout des colonnes gaethan ici en attendant de faire mieux
 ...

---
 .../Entity/Db/FormulaireInstance.php          |  1 +
 ...icaenAutoform.Entity.Db.Validation.dcm.xml |  4 +++
 src/UnicaenAutoform/Entity/Db/Validation.php  | 36 +++++++++++++++++++
 .../Formulaire/FormulaireInstanceService.php  |  3 +-
 4 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/src/UnicaenAutoform/Entity/Db/FormulaireInstance.php b/src/UnicaenAutoform/Entity/Db/FormulaireInstance.php
index be7ea36..32ca29b 100644
--- a/src/UnicaenAutoform/Entity/Db/FormulaireInstance.php
+++ b/src/UnicaenAutoform/Entity/Db/FormulaireInstance.php
@@ -65,6 +65,7 @@ class FormulaireInstance implements HistoriqueAwareInterface {
 
     public function getValidationByType(?string $type): ?Validation
     {
+        /** @var Validation $validation */
         foreach($this->validations as $validation) {
             if ($validation->getHistoDestruction() === null && $validation->getType() === $type) return $validation;
         }
diff --git a/src/UnicaenAutoform/Entity/Db/Mapping/UnicaenAutoform.Entity.Db.Validation.dcm.xml b/src/UnicaenAutoform/Entity/Db/Mapping/UnicaenAutoform.Entity.Db.Validation.dcm.xml
index f1d0be9..78a12f9 100644
--- a/src/UnicaenAutoform/Entity/Db/Mapping/UnicaenAutoform.Entity.Db.Validation.dcm.xml
+++ b/src/UnicaenAutoform/Entity/Db/Mapping/UnicaenAutoform.Entity.Db.Validation.dcm.xml
@@ -30,5 +30,9 @@
         <many-to-one target-entity="UnicaenUtilisateur\Entity\Db\User"  field="histoDestructeur">
             <join-column name="histo_destructeur_id" referenced-column-name="ID"/>
         </many-to-one>
+
+        <field name="complement"              column="complement"               type="string"    length="9999"    nullable="true" />
+        <field name="informations"            column="informations"             type="string"    length="9999"    nullable="true" />
+        <field name="differences"             column="differences"              type="string"    length="9999"    nullable="true" />
     </entity>
 </doctrine-mapping>
\ No newline at end of file
diff --git a/src/UnicaenAutoform/Entity/Db/Validation.php b/src/UnicaenAutoform/Entity/Db/Validation.php
index f5d6dbe..c06b97f 100644
--- a/src/UnicaenAutoform/Entity/Db/Validation.php
+++ b/src/UnicaenAutoform/Entity/Db/Validation.php
@@ -23,6 +23,10 @@ class Validation implements HistoriqueAwareInterface
     private ?FormulaireInstance $reference = null;
     private Collection $reponses;
 
+    private ?string $complement = null;
+    private ?string $differences = null;
+    private ?string $informations = null;
+
     public function __construct()
     {
         $this->reponses = new ArrayCollection();
@@ -95,4 +99,36 @@ class Validation implements HistoriqueAwareInterface
         $this->reference = $reference;
     }
 
+    public function getComplement(): ?string
+    {
+        return $this->complement;
+    }
+
+    public function setComplement(?string $complement): void
+    {
+        $this->complement = $complement;
+    }
+
+    public function getDifferences(): ?string
+    {
+        return $this->differences;
+    }
+
+    public function setDifferences(?string $differences): void
+    {
+        $this->differences = $differences;
+    }
+
+    public function getInformations(): ?string
+    {
+        return $this->informations;
+    }
+
+    public function setInformations(?string $informations): void
+    {
+        $this->informations = $informations;
+    }
+
+
+
 }
\ No newline at end of file
diff --git a/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php b/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
index 52fb5d1..c3848d0 100644
--- a/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
+++ b/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
@@ -104,7 +104,8 @@ class FormulaireInstanceService {
                 ->addSelect('formulaire')->join('formulaire_instance.formulaire', 'formulaire')
                 ->addSelect('categorie')->join('formulaire.categories', 'categorie')
                 ->addSelect('champ')->join('categorie.champs', 'champ')
-                ->addSelect('reponse')->leftJoin('formulaire_instance.reponses', 'reponse');
+                ->addSelect('reponse')->leftJoin('formulaire_instance.reponses', 'reponse')
+                ->addSelect('validation')->leftJoin('formulaire_instance.validations', 'validation');
         } catch (NotSupported $e) {
             throw new RuntimeException("Un problème est survnu lors de la creation du QueryBuilder de [".FormulaireInstance::class."]",0,$e);
         }
-- 
GitLab