| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- <?php
- declare(strict_types=1);
- namespace App\Entity\Education;
- use ApiPlatform\Metadata\ApiResource;
- use App\Entity\AccessWish\EducationStudentWish;
- use App\Entity\Booking\Course;
- use App\Entity\Booking\Examen;
- use App\Entity\Product\Intangible;
- use App\Repository\Education\EducationCurriculumRepository;
- // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
- use Doctrine\Common\Collections\ArrayCollection;
- use Doctrine\Common\Collections\Collection;
- use Doctrine\ORM\Mapping as ORM;
- /**
- * Curriculum éducatif; composé d'un cycle, d'une année et d'un niveau.
- */
- #[ApiResource(operations: [])]
- // #[Auditable]
- #[ORM\Entity(repositoryClass: EducationCurriculumRepository::class)]
- class EducationCurriculum
- {
- #[ORM\Id]
- #[ORM\Column]
- #[ORM\GeneratedValue]
- private ?int $id = null;
- #[ORM\ManyToOne(inversedBy: 'educationCurriculums')]
- #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
- private ?EducationNotationConfig $educationNotationConfig;
- #[ORM\ManyToOne(inversedBy: 'educationCurriculums')]
- private Education $education;
- #[ORM\ManyToOne]
- private Cycle $cycle;
- #[ORM\OneToMany(mappedBy: 'educationCurriculum', targetEntity: EducationStudent::class, cascade: ['persist'])]
- private Collection $educationStudent;
- #[ORM\ManyToMany(targetEntity: EducationTiming::class, inversedBy: 'educationCurriculums')]
- #[ORM\JoinColumn(name: 'educationCurriculum_id', referencedColumnName: 'id')]
- #[ORM\InverseJoinColumn(name: 'educationTiming_id', referencedColumnName: 'id')]
- private Collection $educationTimings;
- #[ORM\OneToMany(mappedBy: 'educationCurriculum', targetEntity: EducationStudentWish::class, cascade: [], orphanRemoval: false)]
- protected Collection $educationStudentWish;
- #[ORM\ManyToMany(targetEntity: Course::class, mappedBy: 'educationCurriculum', cascade: [], orphanRemoval: false)]
- protected Collection $courses;
- #[ORM\ManyToMany(targetEntity: Examen::class, mappedBy: 'educationCurriculum', cascade: [], orphanRemoval: false)]
- protected Collection $examens;
- #[ORM\ManyToMany(targetEntity: Intangible::class, mappedBy: 'educationCurriculums', cascade: [], orphanRemoval: false)]
- protected Collection $intangibles;
- #[ORM\ManyToMany(
- targetEntity: EducationCurriculumPack::class,
- mappedBy: 'requiredEducationCurriculums',
- cascade: [],
- orphanRemoval: true,
- )]
- protected Collection $requiredEducationCurriculumPacks;
- #[ORM\ManyToMany(
- targetEntity: EducationCurriculumPack::class,
- mappedBy: 'requiredChoicesEducationCurriculums',
- cascade: [],
- orphanRemoval: true,
- )]
- protected Collection $requiredChoicesEducationCurriculumPacks;
- #[ORM\ManyToMany(
- targetEntity: EducationCurriculumPack::class,
- mappedBy: 'optionnalEducationCurriculums',
- cascade: [],
- orphanRemoval: true,
- )]
- protected Collection $optionnalEducationCurriculumPacks;
- public function __construct()
- {
- $this->educationStudent = new ArrayCollection();
- $this->educationTimings = new ArrayCollection();
- $this->educationStudentWish = new ArrayCollection();
- $this->courses = new ArrayCollection();
- $this->examens = new ArrayCollection();
- $this->intangibles = new ArrayCollection();
- $this->requiredEducationCurriculumPacks = new ArrayCollection();
- $this->requiredChoicesEducationCurriculumPacks = new ArrayCollection();
- $this->optionnalEducationCurriculumPacks = new ArrayCollection();
- }
- public function getId(): ?int
- {
- return $this->id;
- }
- public function setEducationNotationConfig(?EducationNotationConfig $educationNotationConfig): self
- {
- $this->educationNotationConfig = $educationNotationConfig;
- return $this;
- }
- public function getEducationNotationConfig(): ?EducationNotationConfig
- {
- return $this->educationNotationConfig;
- }
- public function getEducation(): ?Education
- {
- return $this->education;
- }
- public function setEducation(?Education $education): self
- {
- $this->education = $education;
- return $this;
- }
- public function getCycle(): ?Cycle
- {
- return $this->cycle;
- }
- public function setCycle(?Cycle $cycle): self
- {
- $this->cycle = $cycle;
- return $this;
- }
- /**
- * @return Collection<int, EducationStudent>
- */
- public function getEducationStudent(): Collection
- {
- return $this->educationStudent;
- }
- public function addEducationStudent(EducationStudent $educationStudent): self
- {
- if (!$this->educationStudent->contains($educationStudent)) {
- $this->educationStudent[] = $educationStudent;
- $educationStudent->setEducationCurriculum($this);
- }
- return $this;
- }
- public function removeEducationStudent(EducationStudent $educationStudent): self
- {
- if ($this->educationStudent->removeElement($educationStudent)) {
- // set the owning side to null (unless already changed)
- if ($educationStudent->getEducationCurriculum() === $this) {
- $educationStudent->setEducationCurriculum(null);
- }
- }
- return $this;
- }
- /**
- * @return Collection<int, EducationTiming>
- */
- public function getEducationTimings(): Collection
- {
- return $this->educationTimings;
- }
- public function addEducationTiming(EducationTiming $educationTiming): self
- {
- if (!$this->educationTimings->contains($educationTiming)) {
- $this->educationTimings[] = $educationTiming;
- }
- return $this;
- }
- public function removeEducationTiming(EducationTiming $educationTiming): self
- {
- $this->educationTimings->removeElement($educationTiming);
- return $this;
- }
- public function getEducationStudentWish(): Collection
- {
- return $this->educationStudentWish;
- }
- public function addEducationStudentWish(EducationStudentWish $educationStudentWish): self
- {
- if (!$this->educationStudentWish->contains($educationStudentWish)) {
- $this->educationStudentWish[] = $educationStudentWish;
- $educationStudentWish->setEducationCurriculum($this);
- }
- return $this;
- }
- public function removeEducationStudentWish(EducationStudentWish $educationStudentWish): self
- {
- if ($this->educationStudentWish->removeElement($educationStudentWish)) {
- $educationStudentWish->setEducationCurriculum(null);
- }
- return $this;
- }
- public function getCourses(): Collection
- {
- return $this->courses;
- }
- public function addCourse(Course $course): self
- {
- if (!$this->courses->contains($course)) {
- $this->courses[] = $course;
- $course->addEducationCurriculum($this);
- }
- return $this;
- }
- public function removeCourse(Course $course): self
- {
- if ($this->courses->removeElement($course)) {
- $course->removeEducationCurriculum($this);
- }
- return $this;
- }
- public function getExamens(): Collection
- {
- return $this->examens;
- }
- public function addExamen(Examen $examen): self
- {
- if (!$this->examens->contains($examen)) {
- $this->examens[] = $examen;
- $examen->addEducationCurriculum($this);
- }
- return $this;
- }
- public function removeExamen(Examen $examen): self
- {
- if ($this->examens->removeElement($examen)) {
- $examen->removeEducationCurriculum($this);
- }
- return $this;
- }
- public function getIntangibles(): Collection
- {
- return $this->intangibles;
- }
- public function addIntangible(Intangible $intangible): self
- {
- if (!$this->intangibles->contains($intangible)) {
- $this->intangibles[] = $intangible;
- $intangible->addEducationCurriculum($this);
- }
- return $this;
- }
- public function removeIntangible(Intangible $intangible): self
- {
- if ($this->intangibles->removeElement($intangible)) {
- $intangible->removeEducationCurriculum($this);
- }
- return $this;
- }
- public function getRequiredEducationCurriculumPacks(): Collection
- {
- return $this->requiredEducationCurriculumPacks;
- }
- public function addRequiredEducationCurriculumPack(EducationCurriculumPack $requiredEducationCurriculumPack): self
- {
- if (!$this->requiredEducationCurriculumPacks->contains($requiredEducationCurriculumPack)) {
- $this->requiredEducationCurriculumPacks[] = $requiredEducationCurriculumPack;
- $requiredEducationCurriculumPack->addRequiredEducationCurriculum($this);
- }
- return $this;
- }
- public function removeRequiredEducationCurriculumPack(EducationCurriculumPack $requiredEducationCurriculumPack): self
- {
- if ($this->requiredEducationCurriculumPacks->removeElement($requiredEducationCurriculumPack)) {
- $requiredEducationCurriculumPack->removeRequiredEducationCurriculum($this);
- }
- return $this;
- }
- public function getRequiredChoicesEducationCurriculumPacks(): Collection
- {
- return $this->requiredChoicesEducationCurriculumPacks;
- }
- public function addRequiredChoicesEducationCurriculumPack(
- EducationCurriculumPack $requiredChoicesEducationCurriculumPack,
- ): self {
- if (!$this->requiredChoicesEducationCurriculumPacks->contains($requiredChoicesEducationCurriculumPack)) {
- $this->requiredChoicesEducationCurriculumPacks[] = $requiredChoicesEducationCurriculumPack;
- $requiredChoicesEducationCurriculumPack->addRequiredChoicesEducationCurriculum($this);
- }
- return $this;
- }
- public function removeRequiredChoicesEducationCurriculumPack(
- EducationCurriculumPack $requiredChoicesEducationCurriculumPack,
- ): self {
- if ($this->requiredChoicesEducationCurriculumPacks->removeElement($requiredChoicesEducationCurriculumPack)) {
- $requiredChoicesEducationCurriculumPack->removeRequiredChoicesEducationCurriculum($this);
- }
- return $this;
- }
- public function getOptionnalEducationCurriculumPacks(): Collection
- {
- return $this->optionnalEducationCurriculumPacks;
- }
- public function addOptionnalEducationCurriculumPack(EducationCurriculumPack $optionnalEducationCurriculumPack): self
- {
- if (!$this->optionnalEducationCurriculumPacks->contains($optionnalEducationCurriculumPack)) {
- $this->optionnalEducationCurriculumPacks[] = $optionnalEducationCurriculumPack;
- $optionnalEducationCurriculumPack->addOptionnalEducationCurriculum($this);
- }
- return $this;
- }
- public function removeOptionnalEducationCurriculumPack(EducationCurriculumPack $optionnalEducationCurriculumPack): self
- {
- if ($this->optionnalEducationCurriculumPacks->removeElement($optionnalEducationCurriculumPack)) {
- $optionnalEducationCurriculumPack->removeOptionnalEducationCurriculum($this);
- }
- return $this;
- }
- }
|