Преглед на файлове

fix AbstractBooking entity configuration

Olivier Massot преди 6 месеца
родител
ревизия
fec11ae698

+ 25 - 24
src/Entity/Access/Access.php

@@ -382,7 +382,8 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
     #[ORM\InverseJoinColumn(name: 'tag_id', referencedColumnName: 'id')]
     private Collection $tags;
 
-    #[ORM\ManyToMany(targetEntity: Event::class, mappedBy: 'organizer', cascade: ['persist', 'remove'], orphanRemoval: false)]
+    /** @var Collection<int, AbstractBooking> */
+    #[ORM\ManyToMany(targetEntity: AbstractBooking::class, mappedBy: 'organizer', cascade: ['persist'])]
     private Collection $bookingOrganizers;
 
     /** @var Collection<int, AdvancePayment> */
@@ -2283,29 +2284,29 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
         return $this;
     }
 
-    //    public function getBookingOrganizers(): Collection
-    //    {
-    //        return $this->bookingOrganizers;
-    //    }
-    //
-    //    public function addBookingOrganizer(AbstractBooking $bookingOrganizer): self
-    //    {
-    //        if (!$this->bookingOrganizers->contains($bookingOrganizer)) {
-    //            $this->bookingOrganizers[] = $bookingOrganizer;
-    //            $bookingOrganizer->addOrganizer($this);
-    //        }
-    //
-    //        return $this;
-    //    }
-    //
-    //    public function removeBookingOrganizer(AbstractBooking $bookingOrganizer): self
-    //    {
-    //        if ($this->bookingOrganizers->removeElement($bookingOrganizer)) {
-    //            $bookingOrganizer->removeOrganizer($this);
-    //        }
-    //
-    //        return $this;
-    //    }
+    public function getBookingOrganizers(): Collection
+    {
+        return $this->bookingOrganizers;
+    }
+
+    public function addBookingOrganizer(AbstractBooking $bookingOrganizer): self
+    {
+        if (!$this->bookingOrganizers->contains($bookingOrganizer)) {
+            $this->bookingOrganizers[] = $bookingOrganizer;
+            $bookingOrganizer->addOrganizer($this);
+        }
+
+        return $this;
+    }
+
+    public function removeBookingOrganizer(AbstractBooking $bookingOrganizer): self
+    {
+        if ($this->bookingOrganizers->removeElement($bookingOrganizer)) {
+            $bookingOrganizer->removeOrganizer($this);
+        }
+
+        return $this;
+    }
 
     public function getAdvancePayments(): Collection
     {

+ 2 - 1
src/Entity/Booking/AbstractBooking.php

@@ -21,8 +21,9 @@ use Doctrine\ORM\Mapping as ORM;
  */
 #[ActivityYearConstraintAware(startYearFieldName: 'startYear', endYearFieldName: 'endYear')]
 #[OrganizationDefaultValue(fieldName: 'organization')]
-#[ORM\MappedSuperclass]
+#[ORM\Entity]
 #[ORM\Table(name: 'Booking')]
+#[ORM\InheritanceType('SINGLE_TABLE')]
 #[ORM\DiscriminatorColumn(name: 'discr', type: 'string')]
 #[ORM\DiscriminatorMap(
     [

+ 0 - 1
src/Entity/Booking/Course.php

@@ -31,7 +31,6 @@ use Doctrine\ORM\Mapping as ORM;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity(repositoryClass: CourseRepository::class)]
-#[ORM\Table(name: 'Booking')]
 class Course extends AbstractBooking
 {
     /** @var Collection<int, CourseRecur> */

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

@@ -26,7 +26,6 @@ use Doctrine\ORM\Mapping as ORM;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity]
-#[ORM\Table(name: 'Booking')]
 class EducationalProject extends AbstractBooking
 {
     /** @var Collection<int, EducationalProjectRecur> */

+ 0 - 1
src/Entity/Booking/Event.php

@@ -26,7 +26,6 @@ use Symfony\Component\Validator\Constraints as Assert;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity]
-#[ORM\Table(name: 'Booking')]
 class Event extends AbstractBooking
 {
     #[ORM\ManyToOne(inversedBy: 'events')]

+ 0 - 1
src/Entity/Booking/Examen.php

@@ -26,7 +26,6 @@ use Doctrine\ORM\Mapping as ORM;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity]
-#[ORM\Table(name: 'Booking')]
 class Examen extends AbstractBooking
 {
     #[ORM\ManyToOne(inversedBy: 'examens')]

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

@@ -19,7 +19,6 @@ use Doctrine\ORM\Mapping as ORM;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity]
-#[ORM\Table(name: 'Booking')]
 class OrganizationHoliday extends AbstractBooking
 {
     /** @var Collection<int, OrganizationHolidayRecur> */

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

@@ -19,7 +19,6 @@ use Doctrine\ORM\Mapping as ORM;
 #[ApiResource(operations: [])]
 // #[Auditable]
 #[ORM\Entity]
-#[ORM\Table(name: 'Booking')]
 class PersonHoliday extends AbstractBooking
 {
     #[ORM\ManyToOne(inversedBy: 'holidays')]