| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- <?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();
- }
- 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;
- }
- function getEducationStudentWish(): Collection
- {
- return $this->educationStudentWish;
- }
- function setEducationStudentWish(Collection $educationStudentWish): self
- {
- $this->educationStudentWish = $educationStudentWish;
- return $this;
- }
- function getCourses(): Collection
- {
- return $this->courses;
- }
- function setCourses(Collection $courses): self
- {
- $this->courses = $courses;
- return $this;
- }
- function getExamens(): Collection
- {
- return $this->examens;
- }
- function setExamens(Collection $examens): self
- {
- $this->examens = $examens;
- return $this;
- }
- function getIntangibles(): Collection
- {
- return $this->intangibles;
- }
- function setIntangibles(Collection $intangibles): self
- {
- $this->intangibles = $intangibles;
- return $this;
- }
- function getRequiredEducationCurriculumPacks(): Collection
- {
- return $this->requiredEducationCurriculumPacks;
- }
- function setRequiredEducationCurriculumPacks(Collection $requiredEducationCurriculumPacks): self
- {
- $this->requiredEducationCurriculumPacks = $requiredEducationCurriculumPacks;
- return $this;
- }
- function getRequiredChoicesEducationCurriculumPacks(): Collection
- {
- return $this->requiredChoicesEducationCurriculumPacks;
- }
- function setRequiredChoicesEducationCurriculumPacks(Collection $requiredChoicesEducationCurriculumPacks): self
- {
- $this->requiredChoicesEducationCurriculumPacks = $requiredChoicesEducationCurriculumPacks;
- return $this;
- }
- function getOptionnalEducationCurriculumPacks(): Collection
- {
- return $this->optionnalEducationCurriculumPacks;
- }
- function setOptionnalEducationCurriculumPacks(Collection $optionnalEducationCurriculumPacks): self
- {
- $this->optionnalEducationCurriculumPacks = $optionnalEducationCurriculumPacks;
- return $this;
- }
- }
|