OrganizationHoliday.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. * Classe ... qui ...
  14. */
  15. #[ApiResource(operations: [])]
  16. // #[Auditable]
  17. #[ORM\Entity]
  18. #[ORM\Table(name: 'Booking')]
  19. class OrganizationHoliday extends AbstractBooking
  20. {
  21. #[ORM\Column(length: 255, nullable: false)]
  22. protected string $discr = 'organizationholiday';
  23. #[ORM\OneToMany(mappedBy: 'event', targetEntity: OrganizationHolidayRecur::class, cascade: ['persist'], orphanRemoval: true)]
  24. private Collection $eventRecur;
  25. #[ORM\ManyToOne(inversedBy: 'holidays')]
  26. #[ORM\JoinColumn(nullable: false)]
  27. private Organization $organization;
  28. public function __construct()
  29. {
  30. $this->eventRecur = new ArrayCollection();
  31. $this->organizer = new ArrayCollection();
  32. $this->equipments = new ArrayCollection();
  33. $this->tags = new ArrayCollection();
  34. parent::__construct();
  35. }
  36. public function getDiscr(): ?string
  37. {
  38. return $this->discr;
  39. }
  40. public function setDiscr(string $discr): self
  41. {
  42. $this->discr = $discr;
  43. return $this;
  44. }
  45. /**
  46. * @return Collection<int, OrganizationHolidayRecur>
  47. */
  48. public function getEventRecur(): Collection
  49. {
  50. return $this->eventRecur;
  51. }
  52. public function addEventRecur(OrganizationHolidayRecur $eventRecur): self
  53. {
  54. if (!$this->eventRecur->contains($eventRecur)) {
  55. $this->eventRecur[] = $eventRecur;
  56. $eventRecur->setEvent($this);
  57. }
  58. return $this;
  59. }
  60. public function removeEventRecur(OrganizationHolidayRecur $eventRecur): self
  61. {
  62. if ($this->eventRecur->removeElement($eventRecur)) {
  63. // set the owning side to null (unless already changed)
  64. if ($eventRecur->getEvent() === $this) {
  65. $eventRecur->setEvent(null);
  66. }
  67. }
  68. return $this;
  69. }
  70. public function getOrganization(): ?Organization
  71. {
  72. return $this->organization;
  73. }
  74. public function setOrganization(?Organization $organization): self
  75. {
  76. $this->organization = $organization;
  77. return $this;
  78. }
  79. }