PersonHoliday.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Booking;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use App\Entity\Access\Access;
  6. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  7. use App\Entity\Core\Tagg;
  8. use App\Entity\Organization\Organization;
  9. use App\Entity\Product\Equipment;
  10. use Doctrine\Common\Collections\ArrayCollection;
  11. use Doctrine\Common\Collections\Collection;
  12. use Doctrine\ORM\Mapping as ORM;
  13. /**
  14. * @todo : A la suite de la migration, il faut supprimer le nom de la table pour avoir une table PersonHoliday, et supprimer l'attribut discr.
  15. *
  16. * Périodes de vacances d'un Access
  17. */
  18. #[ApiResource(operations: [])]
  19. // #[Auditable]
  20. #[ORM\Entity]
  21. class PersonHoliday extends AbstractBooking
  22. {
  23. #[ORM\ManyToOne(inversedBy: 'holidays')]
  24. private ?Access $access = null;
  25. #[ORM\ManyToOne(targetEntity: Organization::class, cascade: [])]
  26. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: false, onDelete: 'SET NULL')]
  27. protected Organization $organization;
  28. /** @var Collection<int, PersonHolidayRecur> */
  29. #[ORM\OneToMany(targetEntity: PersonHolidayRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)]
  30. protected Collection $eventRecur;
  31. public function getAccess(): ?Access
  32. {
  33. return $this->access;
  34. }
  35. public function setAccess(?Access $access): self
  36. {
  37. $this->access = $access;
  38. return $this;
  39. }
  40. public function getOrganization(): Organization
  41. {
  42. return $this->organization;
  43. }
  44. public function setOrganization(Organization $organization): self
  45. {
  46. $this->organization = $organization;
  47. return $this;
  48. }
  49. public function getOrganizer(): Collection
  50. {
  51. return $this->organizer;
  52. }
  53. public function addOrganizer(Access $organizer): self
  54. {
  55. $this->organizer[] = $organizer;
  56. return $this;
  57. }
  58. public function removeOrganizer(Access $organizer): self
  59. {
  60. $this->organizer->removeElement($organizer);
  61. return $this;
  62. }
  63. }