OrganizationHoliday.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Booking;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use App\Entity\Organization\Organization;
  6. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. /**
  11. * @todo : A la suite de la migration, il faut supprimer le nom de la table pour avoir une table OrganizationHoliday, et supprimer l'attribut discr.
  12. *
  13. * Périodes de vacances d'une Organization
  14. */
  15. #[ApiResource(operations: [])]
  16. // #[Auditable]
  17. #[ORM\Entity]
  18. class OrganizationHoliday extends AbstractBooking
  19. {
  20. /** @var Collection<int, OrganizationHolidayRecur> */
  21. #[ORM\OneToMany(targetEntity: OrganizationHolidayRecur::class, mappedBy: 'event', cascade: ['persist', 'remove'])]
  22. protected Collection $eventRecur;
  23. #[ORM\ManyToOne(inversedBy: 'holidays')]
  24. #[ORM\JoinColumn(nullable: false)]
  25. private Organization $organization;
  26. public function __construct()
  27. {
  28. $this->eventRecur = new ArrayCollection();
  29. parent::__construct();
  30. }
  31. /**
  32. * @return Collection<int, OrganizationHolidayRecur>
  33. */
  34. public function getEventRecur(): Collection
  35. {
  36. return $this->eventRecur;
  37. }
  38. public function addEventRecur(OrganizationHolidayRecur $eventRecur): self
  39. {
  40. if (!$this->eventRecur->contains($eventRecur)) {
  41. $this->eventRecur[] = $eventRecur;
  42. $eventRecur->setEvent($this);
  43. }
  44. return $this;
  45. }
  46. public function removeEventRecur(OrganizationHolidayRecur $eventRecur): self
  47. {
  48. if ($this->eventRecur->removeElement($eventRecur)) {
  49. // set the owning side to null (unless already changed)
  50. if ($eventRecur->getEvent() === $this) {
  51. $eventRecur->setEvent(null);
  52. }
  53. }
  54. return $this;
  55. }
  56. public function getOrganization(): ?Organization
  57. {
  58. return $this->organization;
  59. }
  60. public function setOrganization(?Organization $organization): self
  61. {
  62. $this->organization = $organization;
  63. return $this;
  64. }
  65. }