|
|
@@ -18,6 +18,7 @@ use App\Entity\Billing\Bill;
|
|
|
use App\Entity\Billing\BillCredit;
|
|
|
use App\Entity\Billing\BillLine;
|
|
|
use App\Entity\Billing\EducationalProjectPayer;
|
|
|
+use App\Entity\Booking\AbstractBooking;
|
|
|
use App\Entity\Booking\Attendance;
|
|
|
use App\Entity\Booking\AttendanceBooking;
|
|
|
use App\Entity\Booking\CalendarSynchro;
|
|
|
@@ -55,6 +56,8 @@ use App\Entity\Product\EquipmentControl;
|
|
|
use App\Entity\Product\EquipmentLoan;
|
|
|
use App\Entity\Product\EquipmentRepair;
|
|
|
use App\Entity\Reward\AccessReward;
|
|
|
+use App\Entity\Shop\Orders;
|
|
|
+use App\Entity\SimulationSession\SimulationSession;
|
|
|
use App\Entity\Token\Token;
|
|
|
use App\Entity\Traits\CreatedOnAndByTrait;
|
|
|
use App\Filter\ApiPlatform\Person\FullNameFilter;
|
|
|
@@ -379,9 +382,8 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
|
|
|
#[ORM\InverseJoinColumn(name: 'tag_id', referencedColumnName: 'id')]
|
|
|
private Collection $tags;
|
|
|
|
|
|
- // TODO: revoir le mapping, on ne peut pas mapper à une mapped superclass comme abstract booking
|
|
|
- // #[ORM\ManyToMany(mappedBy: 'organizer', targetEntity: AbstractBooking::class, cascade: ['persist', 'remove'], orphanRemoval: false)]
|
|
|
- // private Collection $bookingOrganizers;
|
|
|
+ #[ORM\ManyToMany(targetEntity: Event::class, mappedBy: 'organizer', cascade: ['persist', 'remove'], orphanRemoval: false)]
|
|
|
+ private Collection $bookingOrganizers;
|
|
|
|
|
|
/** @var Collection<int, AdvancePayment> */
|
|
|
#[ORM\OneToMany(targetEntity: AdvancePayment::class, mappedBy: 'access', cascade: ['persist', 'remove'])]
|
|
|
@@ -426,6 +428,20 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
|
|
|
#[ORM\OneToMany(targetEntity: AbstractReport::class, mappedBy: 'access', cascade: ['persist', 'remove'])]
|
|
|
private Collection $reports;
|
|
|
|
|
|
+ #[ORM\OneToMany(targetEntity: SimulationSession::class, mappedBy: 'accessInitiator', cascade: ['persist', 'remove'])]
|
|
|
+ protected Collection $simulationSessionAccessInitiators;
|
|
|
+
|
|
|
+ #[ORM\OneToMany(
|
|
|
+ targetEntity: SimulationSession::class,
|
|
|
+ mappedBy: 'accessSimulated',
|
|
|
+ cascade: ['persist', 'remove'],
|
|
|
+ orphanRemoval: false,
|
|
|
+ )]
|
|
|
+ protected Collection $simulationSessionAccessesSimulated;
|
|
|
+
|
|
|
+ #[ORM\OneToMany(mappedBy: 'access', targetEntity: Orders::class, cascade: [], orphanRemoval: true)]
|
|
|
+ protected Collection $orders;
|
|
|
+
|
|
|
#[Pure]
|
|
|
public function __construct()
|
|
|
{
|
|
|
@@ -482,6 +498,9 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
|
|
|
$this->emails = new ArrayCollection();
|
|
|
$this->mails = new ArrayCollection();
|
|
|
$this->sms = new ArrayCollection();
|
|
|
+ $this->simulationSessionAccessInitiators = new ArrayCollection();
|
|
|
+ $this->simulationSessionAccessSimulateds = new ArrayCollection();
|
|
|
+ $this->orders = new ArrayCollection();
|
|
|
}
|
|
|
|
|
|
public function getId(): ?int
|
|
|
@@ -2514,6 +2533,77 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
|
|
|
$report->setAccess(null);
|
|
|
}
|
|
|
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+ function getSimulationSessionAccessInitiators(): Collection
|
|
|
+ {
|
|
|
+ return $this->simulationSessionAccessInitiators;
|
|
|
+ }
|
|
|
+
|
|
|
+ function addSimulationSessionAccessInitiator(SimulationSession $simulationSessionAccessInitiator): self
|
|
|
+ {
|
|
|
+ if (!$this->simulationSessionAccessInitiators->contains($simulationSessionAccessInitiator)) {
|
|
|
+ $this->simulationSessionAccessInitiators[] = $simulationSessionAccessInitiator;
|
|
|
+ $simulationSessionAccessInitiator->setAccessInitiator($this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ function removeSimulationSessionAccessInitiator(SimulationSession $simulationSessionAccessInitiator): self
|
|
|
+ {
|
|
|
+ if ($this->simulationSessionAccessInitiators->removeElement($simulationSessionAccessInitiator)) {
|
|
|
+ $simulationSessionAccessInitiator->setAccessInitiator(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ function getSimulationSessionAccessSimulateds(): Collection
|
|
|
+ {
|
|
|
+ return $this->simulationSessionAccessSimulateds;
|
|
|
+ }
|
|
|
+
|
|
|
+ function addSimulationSessionAccessSimulated(SimulationSession $simulationSessionAccessSimulated): self
|
|
|
+ {
|
|
|
+ if (!$this->simulationSessionAccessSimulateds->contains($simulationSessionAccessSimulated)) {
|
|
|
+ $this->simulationSessionAccessSimulateds[] = $simulationSessionAccessSimulated;
|
|
|
+ $simulationSessionAccessSimulated->setAccessSimulated($this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ function removeSimulationSessionAccessSimulated(SimulationSession $simulationSessionAccessSimulated): self
|
|
|
+ {
|
|
|
+ if ($this->simulationSessionAccessSimulateds->removeElement($simulationSessionAccessSimulated)) {
|
|
|
+ $simulationSessionAccessSimulated->setAccessSimulated(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ function getOrders(): Collection
|
|
|
+ {
|
|
|
+ return $this->orders;
|
|
|
+ }
|
|
|
+
|
|
|
+ function addOrder(Orders $order): self
|
|
|
+ {
|
|
|
+ if (!$this->orders->contains($order)) {
|
|
|
+ $this->orders[] = $order;
|
|
|
+ $order->setAccess($this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ function removeOrder(Orders $order): self
|
|
|
+ {
|
|
|
+ if ($this->orders->removeElement($order)) {
|
|
|
+ $order->setAccess(null);
|
|
|
+ }
|
|
|
+
|
|
|
return $this;
|
|
|
}
|
|
|
}
|