Browse Source

various fixes on entities relations

Olivier Massot 6 tháng trước cách đây
mục cha
commit
8ceb624947

+ 35 - 3
src/Entity/Billing/Bill.php

@@ -18,22 +18,27 @@ use Doctrine\ORM\Mapping as ORM;
 class Bill extends AbstractBillAccounting
 {
     /** @var Collection<int, BillLine> */
-    #[ORM\OneToMany(targetEntity: BillLine::class, mappedBy: 'bill', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: BillLine::class, mappedBy: 'bill', cascade: ['persist', 'remove'])]
     protected Collection $billLines;
 
     /** @var Collection<int, BillCredit> */
-    #[ORM\OneToMany(targetEntity: BillCredit::class, mappedBy: 'bill', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: BillCredit::class, mappedBy: 'bill', cascade: ['persist', 'remove'])]
     protected Collection $billCredits;
 
     /** @var Collection<int, BillPayment> */
-    #[ORM\OneToMany(targetEntity: BillPayment::class, mappedBy: 'bill', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: BillPayment::class, mappedBy: 'bill', cascade: ['persist', 'remove'])]
     protected Collection $billPayments;
 
+    /** @var Collection<int, PayfipPaymentReturn> */
+    #[ORM\OneToMany(targetEntity: PayfipPaymentReturn::class, mappedBy: 'bill', cascade: ['persist', 'remove'])]
+    protected Collection $payfipPaymentReturns;
+
     public function __construct()
     {
         $this->billLines = new ArrayCollection();
         $this->billCredits = new ArrayCollection();
         $this->billPayments = new ArrayCollection();
+        $this->payfipPaymentReturns = new ArrayCollection();
         parent::__construct();
     }
 
@@ -112,4 +117,31 @@ class Bill extends AbstractBillAccounting
 
         return $this;
     }
+
+    public function getPayfipPaymentReturns(): Collection
+    {
+        return $this->payfipPaymentReturns;
+    }
+
+    public function addPayfipPaymentReturn(PayfipPaymentReturn $payfipPaymentReturn): self
+    {
+        if (!$this->payfipPaymentReturns->contains($payfipPaymentReturn)) {
+            $this->payfipPaymentReturns[] = $payfipPaymentReturn;
+            $payfipPaymentReturn->setBill($this);
+        }
+
+        return $this;
+    }
+
+    public function removePayfipPaymentReturn(PayfipPaymentReturn $payfipPaymentReturn): self
+    {
+        if ($this->payfipPaymentReturns->removeElement($payfipPaymentReturn)) {
+            // set the owning side to null (unless already changed)
+            if ($payfipPaymentReturn->getBill() === $this) {
+                $payfipPaymentReturn->setBill(null);
+            }
+        }
+
+        return $this;
+    }
 }

+ 1 - 1
src/Entity/Billing/PayfipPaymentReturn.php

@@ -21,7 +21,7 @@ class PayfipPaymentReturn
     #[ORM\GeneratedValue]
     private ?int $id = null;
 
-    #[ORM\ManyToOne(cascade: ['persist'])]
+    #[ORM\ManyToOne(targetEntity: Bill::class, inversedBy: 'payfipPaymentReturns', cascade: ['persist', 'remove'])]
     #[ORM\JoinColumn(nullable: false)]
     private Bill $bill;
 

+ 4 - 2
src/Entity/Billing/SddRegie.php

@@ -29,10 +29,12 @@ class SddRegie
     #[ORM\OneToMany(mappedBy: 'sddRegime', targetEntity: BillPayment::class, cascade: [], orphanRemoval: false)]
     protected Collection $billPayments;
 
-    #[ORM\OneToOne(targetEntity: File::class, cascade: ['persist'])]
+    #[ORM\OneToOne(targetEntity: File::class, cascade: ['persist'], inversedBy: 'sddRegieFile')]
+    #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
     protected ?File $file;
 
-    #[ORM\OneToOne(targetEntity: File::class, cascade: ['persist'])]
+    #[ORM\OneToOne(targetEntity: File::class, cascade: ['persist'], inversedBy: 'sddRegieBordereau')]
+    #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
     protected ?File $bordereau;
 
     public function __construct()

+ 5 - 2
src/Entity/Booking/Course.php

@@ -34,7 +34,7 @@ use Doctrine\ORM\Mapping as ORM;
 class Course extends AbstractBooking
 {
     /** @var Collection<int, CourseRecur> */
-    #[ORM\OneToMany(targetEntity: CourseRecur::class, mappedBy: 'event', cascade: ['persist'])]
+    #[ORM\OneToMany(targetEntity: CourseRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
     protected Collection $eventRecur;
 
     /** @var Collection<int, Course> */
@@ -63,6 +63,9 @@ class Course extends AbstractBooking
 
     /** @var Collection<int, EducationCurriculum> */
     #[ORM\ManyToMany(targetEntity: EducationCurriculum::class, inversedBy: 'courses', cascade: ['persist'])]
+    #[ORM\JoinTable(name: 'course_education_curriculum')]
+    #[ORM\JoinColumn(name: 'course_id', referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
+    #[ORM\InverseJoinColumn(name: 'education_curriculum_id', referencedColumnName: 'id')]
     protected Collection $educationCurriculum;
 
     /** @var Collection<int, Access> */
@@ -73,7 +76,7 @@ class Course extends AbstractBooking
     protected Collection $students;
 
     /** @var Collection<int, Work> */
-    #[ORM\OneToMany(targetEntity: Work::class, mappedBy: 'course', cascade: ['persist'])]
+    #[ORM\OneToMany(targetEntity: Work::class, mappedBy: 'course', cascade: ['persist', 'remove'])]
     protected Collection $work;
 
     /** @var Collection<int, AttendanceBooking> */

+ 1 - 1
src/Entity/Booking/EducationalProject.php

@@ -29,7 +29,7 @@ use Doctrine\ORM\Mapping as ORM;
 class EducationalProject extends AbstractBooking
 {
     /** @var Collection<int, EducationalProjectRecur> */
-    #[ORM\OneToMany(targetEntity: EducationalProjectRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: EducationalProjectRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
     protected Collection $eventRecur;
 
     /** @var Collection<int, EducationalProject> */

+ 3 - 3
src/Entity/Booking/Examen.php

@@ -33,11 +33,11 @@ class Examen extends AbstractBooking
     protected Organization $organization;
 
     /** @var Collection<int, ExamenRecur> */
-    #[ORM\OneToMany(targetEntity: ExamenRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: ExamenRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
     protected Collection $eventRecur;
 
     /** @var Collection<int, Examen> */
-    #[ORM\OneToMany(targetEntity: Examen::class, mappedBy: 'parent', orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: Examen::class, mappedBy: 'parent', cascade: ['persist'])]
     protected Collection $timeline;
 
     #[ORM\ManyToOne(inversedBy: 'timeline')]
@@ -57,7 +57,7 @@ class Examen extends AbstractBooking
     protected Collection $educationCurriculum;
 
     /** @var Collection<int, ExamenConvocation> */
-    #[ORM\OneToMany(targetEntity: ExamenConvocation::class, mappedBy: 'examen', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: ExamenConvocation::class, mappedBy: 'examen', cascade: ['persist', 'remove'])]
     protected Collection $convocation;
 
     /** @var Collection<int, AttendanceBooking> */

+ 1 - 1
src/Entity/Booking/OrganizationHoliday.php

@@ -22,7 +22,7 @@ use Doctrine\ORM\Mapping as ORM;
 class OrganizationHoliday extends AbstractBooking
 {
     /** @var Collection<int, OrganizationHolidayRecur> */
-    #[ORM\OneToMany(targetEntity: OrganizationHolidayRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: OrganizationHolidayRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
     protected Collection $eventRecur;
 
     #[ORM\ManyToOne(inversedBy: 'holidays')]

+ 1 - 1
src/Entity/Booking/PersonHoliday.php

@@ -29,7 +29,7 @@ class PersonHoliday extends AbstractBooking
     protected Organization $organization;
 
     /** @var Collection<int, PersonHolidayRecur> */
-    #[ORM\OneToMany(targetEntity: PersonHolidayRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\OneToMany(targetEntity: PersonHolidayRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
     protected Collection $eventRecur;
 
     public function getAccess(): ?Access

+ 31 - 0
src/Entity/Core/File.php

@@ -14,6 +14,7 @@ use App\Entity\Booking\CalendarSynchro;
 use App\Entity\Booking\Event;
 use App\Entity\Booking\EventReport;
 use App\Entity\Booking\Work;
+use App\Entity\Billing\SddRegie;
 use App\Entity\Message\TemplateSystem;
 use App\Entity\Network\Network;
 use App\Entity\Organization\Activity;
@@ -247,6 +248,12 @@ class File
     #[ORM\OneToOne(targetEntity: CalendarSynchro::class, mappedBy: 'file')]
     private ?CalendarSynchro $calendarSynchro;
 
+    #[ORM\OneToOne(targetEntity: SddRegie::class, mappedBy: 'file')]
+    private ?SddRegie $sddRegieFile = null;
+
+    #[ORM\OneToOne(targetEntity: SddRegie::class, mappedBy: 'bordereau')]
+    private ?SddRegie $sddRegieBordereau = null;
+
     #[Pure]
     public function __construct()
     {
@@ -789,4 +796,28 @@ class File
 
         return $this;
     }
+
+    public function getSddRegieFile(): ?SddRegie
+    {
+        return $this->sddRegieFile;
+    }
+
+    public function setSddRegieFile(?SddRegie $sddRegieFile): self
+    {
+        $this->sddRegieFile = $sddRegieFile;
+
+        return $this;
+    }
+
+    public function getSddRegieBordereau(): ?SddRegie
+    {
+        return $this->sddRegieBordereau;
+    }
+
+    public function setSddRegieBordereau(?SddRegie $sddRegieBordereau): self
+    {
+        $this->sddRegieBordereau = $sddRegieBordereau;
+
+        return $this;
+    }
 }

+ 6 - 6
src/Entity/Education/EducationCurriculum.php

@@ -53,15 +53,15 @@ class EducationCurriculum
     protected Collection $educationStudentWish;
 
     /** @var Collection<int, Course> */
-    #[ORM\ManyToMany(targetEntity: Course::class, mappedBy: 'educationCurriculum', cascade: [], orphanRemoval: false)]
+    #[ORM\ManyToMany(targetEntity: Course::class, mappedBy: 'educationCurriculum', cascade: ['persist'])]
     protected Collection $courses;
 
     /** @var Collection<int, Examen> */
-    #[ORM\ManyToMany(targetEntity: Examen::class, mappedBy: 'educationCurriculum', cascade: [], orphanRemoval: false)]
+    #[ORM\ManyToMany(targetEntity: Examen::class, mappedBy: 'educationCurriculum', cascade: ['persist'])]
     protected Collection $examens;
 
     /** @var Collection<int, Intangible> */
-    #[ORM\ManyToMany(targetEntity: Intangible::class, mappedBy: 'educationCurriculums', cascade: [], orphanRemoval: false)]
+    #[ORM\ManyToMany(targetEntity: Intangible::class, mappedBy: 'educationCurriculums', cascade: ['persist'], orphanRemoval: false)]
     protected Collection $intangibles;
 
     /** @var Collection<int, EducationCurriculumPack> */
@@ -73,7 +73,7 @@ class EducationCurriculum
     )]
     protected Collection $requiredEducationCurriculumPacks;
 
-    /** @var Collection<int, EducationCurriculumPack> */
+    /** @var Collection<int, RequiredChoicesBlock> */
     #[ORM\ManyToMany(
         targetEntity: RequiredChoicesBlock::class,
         mappedBy: 'requiredChoicesEducationCurriculums',
@@ -325,7 +325,7 @@ class EducationCurriculum
     }
 
     public function addRequiredChoicesEducationCurriculumPack(
-        EducationCurriculumPack $requiredChoicesEducationCurriculumPack,
+        RequiredChoicesBlock $requiredChoicesEducationCurriculumPack,
     ): self {
         if (!$this->requiredChoicesEducationCurriculumPacks->contains($requiredChoicesEducationCurriculumPack)) {
             $this->requiredChoicesEducationCurriculumPacks[] = $requiredChoicesEducationCurriculumPack;
@@ -336,7 +336,7 @@ class EducationCurriculum
     }
 
     public function removeRequiredChoicesEducationCurriculumPack(
-        EducationCurriculumPack $requiredChoicesEducationCurriculumPack,
+        RequiredChoicesBlock $requiredChoicesEducationCurriculumPack,
     ): self {
         if ($this->requiredChoicesEducationCurriculumPacks->removeElement($requiredChoicesEducationCurriculumPack)) {
             $requiredChoicesEducationCurriculumPack->removeRequiredChoicesEducationCurriculum($this);

+ 3 - 3
src/Entity/Education/EducationCurriculumPack.php

@@ -61,7 +61,7 @@ class EducationCurriculumPack
 
     #[ORM\OneToMany(
         targetEntity: RequiredChoicesBlock::class,
-        mappedBy: 'educationCurriculumPack',
+        mappedBy: 'educationCurriculumPacks',
         cascade: ['persist', 'remove'],
         orphanRemoval: true,
     )]
@@ -201,7 +201,7 @@ class EducationCurriculumPack
     {
         if (!$this->requiredChoicesBlocks->contains($requiredChoicesBlock)) {
             $this->requiredChoicesBlocks[] = $requiredChoicesBlock;
-            $requiredChoicesBlock->setEducationCurriculumPack($this);
+            $requiredChoicesBlock->setEducationCurriculumPacks($this);
         }
 
         return $this;
@@ -210,7 +210,7 @@ class EducationCurriculumPack
     function removeRequiredChoicesBlock(RequiredChoicesBlock $requiredChoicesBlock): self
     {
         if ($this->requiredChoicesBlocks->removeElement($requiredChoicesBlock)) {
-            $requiredChoicesBlock->setEducationCurriculumPack(null);
+            $requiredChoicesBlock->setEducationCurriculumPacks(null);
         }
 
         return $this;

+ 10 - 10
src/Entity/Education/RequiredChoicesBlock.php

@@ -23,7 +23,7 @@ class RequiredChoicesBlock
     #[ORM\GeneratedValue]
     private int $id;
 
-    #[ORM\ManyToOne(targetEntity: EducationCurriculumPack::class, cascade: [], inversedBy: 'requiredChoicesBlocks')]
+    #[ORM\ManyToOne(targetEntity: EducationCurriculumPack::class, inversedBy: 'requiredChoicesBlocks')]
     #[ORM\JoinColumn(nullable: false)]
     protected Education\EducationCurriculumPack $educationCurriculumPack;
 
@@ -36,11 +36,11 @@ class RequiredChoicesBlock
     #[ORM\JoinTable(name: 'requiredChoicesBlock_educationCurriculum')]
     #[ORM\JoinColumn(name: 'requiredchoicesblock_id', onDelete: 'CASCADE')]
     #[ORM\InverseJoinColumn(name: 'educationcurriculum_id', onDelete: 'CASCADE')]
-    protected Collection $educationCurriculums;
+    protected Collection $requiredChoicesEducationCurriculums;
 
     public function __construct()
     {
-        $this->educationCurriculums = new ArrayCollection();
+        $this->requiredChoicesEducationCurriculums = new ArrayCollection();
     }
 
     function getId(): int
@@ -65,24 +65,24 @@ class RequiredChoicesBlock
         return $this;
     }
 
-    function getEducationCurriculums(): Collection
+    function getRequiredChoicesEducationCurriculum(): Collection
     {
-        return $this->educationCurriculums;
+        return $this->requiredChoicesEducationCurriculums;
     }
 
-    function addEducationCurriculum(EducationCurriculum $educationCurriculum): self
+    function addRequiredChoicesEducationCurriculum(EducationCurriculum $educationCurriculum): self
     {
-        if (!$this->educationCurriculums->contains($educationCurriculum)) {
-            $this->educationCurriculums[] = $educationCurriculum;
+        if (!$this->requiredChoicesEducationCurriculums->contains($educationCurriculum)) {
+            $this->requiredChoicesEducationCurriculums[] = $educationCurriculum;
             $educationCurriculum->addRequiredChoicesEducationCurriculumPack($this);
         }
 
         return $this;
     }
 
-    function removeEducationCurriculum(EducationCurriculum $educationCurriculum): self
+    function removeRequiredChoicesEducationCurriculum(EducationCurriculum $educationCurriculum): self
     {
-        if ($this->educationCurriculums->removeElement($educationCurriculum)) {
+        if ($this->requiredChoicesEducationCurriculums->removeElement($educationCurriculum)) {
             $educationCurriculum->removeRequiredChoicesEducationCurriculumPack($this);
         }
 

+ 1 - 2
src/Entity/Message/AbstractReport.php

@@ -13,9 +13,8 @@ use Doctrine\ORM\Mapping as ORM;
 /**
  * TODO: documenter.
  */
-#[ORM\Entity]
+#[ORM\MappedSuperclass]
 #[ORM\Table(name: 'ReportMessage')]
-#[ORM\InheritanceType('SINGLE_TABLE')]
 class AbstractReport
 {
     #[ORM\Column(type: 'datetime', nullable: true)]