EducationTiming.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. namespace AppBundle\Entity\Education;
  3. use AppBundle\Entity\Organization\Organization;
  4. use AppBundle\Annotation\DefaultField;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Dunglas\ApiBundle\Annotation\Iri;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. /**
  11. * Temps d'un enseignement
  12. *
  13. * @Iri("http://schema.org/Cycle")
  14. */
  15. #[ORM\Entity]
  16. class EducationTiming
  17. {
  18. /**
  19. * @var int
  20. */
  21. #[ORM\Column(type: 'integer')]
  22. #[ORM\Id]
  23. #[ORM\GeneratedValue(strategy: 'AUTO')]
  24. #[Groups(['educationtiming', 'educationcurriculum_reference', 'educationtiming_reference', 'access_details_educationstudent', 'student_list_educationstudent', 'education_student_next_year', 'education_student_next_year_educationstudentlastyear'])]
  25. private $id;
  26. /**
  27. * @var Organization
  28. *
  29. * @DefaultField
  30. */
  31. #[ORM\ManyToOne(targetEntity: 'AppBundle\Entity\Organization\Organization', inversedBy: 'educationTimings')]
  32. #[ORM\JoinColumn(nullable: false)]
  33. #[Assert\NotNull]
  34. #[Groups(['educationtiming'])]
  35. private $organization;
  36. /**
  37. * @var string
  38. */
  39. #[ORM\Column(type: 'integer')]
  40. #[Assert\Type(type: 'integer', message: 'Cette valeur doit être un nombre.')]
  41. #[Assert\GreaterThan(0)]
  42. #[Groups(['educationtiming', 'educationcurriculum_reference_educationtimings', 'educationtiming_reference', 'access_details_educationstudent', 'student_list_educationstudent', 'education_student_next_year_educationtiming', 'education_student_next_year_educationstudentlastyear'])]
  43. private $timing;
  44. /**
  45. * @var ArrayCollection<CycleByEducation>
  46. */
  47. #[ORM\OneToMany(targetEntity: 'AppBundle\Entity\Education\EducationStudent', mappedBy: 'educationTiming', orphanRemoval: true)]
  48. private $educationStudents;
  49. /**
  50. * @var Education
  51. */
  52. #[ORM\ManyToMany(targetEntity: 'AppBundle\Entity\Education\EducationCurriculum', mappedBy: 'educationTimings')]
  53. #[Groups(['educationtiming_reference'])]
  54. private $educationCurriculums;
  55. /**
  56. * Constructor
  57. */
  58. public function __construct()
  59. {
  60. $this->educationStudent = new ArrayCollection();
  61. $this->educationCurriculums = new ArrayCollection();
  62. }
  63. /**
  64. * Sets id.
  65. *
  66. * @param int $id
  67. *
  68. * @return $this
  69. */
  70. public function setId($id)
  71. {
  72. $this->id = $id;
  73. return $this;
  74. }
  75. /**
  76. * Gets id.
  77. *
  78. * @return int
  79. */
  80. public function getId()
  81. {
  82. return $this->id;
  83. }
  84. /**
  85. * Sets organization.
  86. *
  87. * @param Organization $organization
  88. *
  89. * @return $this
  90. */
  91. public function setOrganization(Organization $organization)
  92. {
  93. $this->organization = $organization;
  94. return $this;
  95. }
  96. /**
  97. * Gets organization.
  98. *
  99. * @return Organization
  100. */
  101. public function getOrganization()
  102. {
  103. return $this->organization;
  104. }
  105. /**
  106. * Sets $timing.
  107. *
  108. * @param integer $timing
  109. *
  110. * @return $this
  111. */
  112. public function setTiming($timing)
  113. {
  114. $this->timing = $timing;
  115. return $this;
  116. }
  117. /**
  118. * Gets label.
  119. *
  120. * @return integer
  121. */
  122. public function getTiming()
  123. {
  124. return $this->timing;
  125. }
  126. /**
  127. * Add $educationStudent
  128. *
  129. * @param \AppBundle\Entity\Education\EducationStudent $educationStudent
  130. *
  131. * @return EducationTiming
  132. */
  133. public function addCycleByEducation(\AppBundle\Entity\Education\EducationStudent $educationStudent)
  134. {
  135. $this->educationStudents[] = $educationStudent;
  136. return $this;
  137. }
  138. /**
  139. * Remove $educationStudent
  140. *
  141. * @param \AppBundle\Entity\Education\EducationStudent $educationStudent
  142. */
  143. public function removeCycleByEducation(\AppBundle\Entity\Education\EducationStudent $educationStudent)
  144. {
  145. $this->educationStudents->removeElement($educationStudent);
  146. }
  147. /**
  148. * Get cycleByEducations
  149. *
  150. * @return \Doctrine\Common\Collections\Collection
  151. */
  152. public function getCycleByEducations()
  153. {
  154. return $this->educationStudents;
  155. }
  156. /**
  157. * Add $educationCurriculum
  158. *
  159. * @param \AppBundle\Entity\Education\EducationCurriculum $educationCurriculum
  160. *
  161. * @return EducationTiming
  162. */
  163. public function addEducationCurriculum(\AppBundle\Entity\Education\EducationCurriculum $educationCurriculum)
  164. {
  165. $this->educationCurriculums[] = $educationCurriculum;
  166. return $this;
  167. }
  168. /**
  169. * Remove $educationCurriculum
  170. *
  171. * @param \AppBundle\Entity\Education\EducationCurriculum $educationCurriculum
  172. */
  173. public function removeEducationCurriculum(\AppBundle\Entity\Education\EducationCurriculum $educationCurriculum)
  174. {
  175. $this->educationCurriculums->removeElement($educationCurriculum);
  176. }
  177. /**
  178. * Get EducationCurriculum
  179. *
  180. * @return \Doctrine\Common\Collections\Collection
  181. */
  182. public function getEducationCurriculums()
  183. {
  184. return $this->educationCurriculums;
  185. }
  186. }