src/Entity/School.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\Timestampable;
  4. use App\Repository\SchoolRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use JMS\Serializer\Annotation\Groups;
  9. #[ORM\HasLifecycleCallbacks]
  10. #[ORM\Entity(repositoryClassSchoolRepository::class)]
  11. class School
  12. {
  13.     use Timestampable;
  14.     // Valeurs de $type : pilote le menu et le système d'évaluation (séquence vs
  15.     // sous-matières). ATTENTION : $type est déjà lu (jamais écrit) par des
  16.     // templates historiques (bulletin/certificate/honnor/_sidebar) qui testent
  17.     // school.type == 1|2|3|4 pour distinguer Proviseur/Principal, Lycée/Collège —
  18.     // une distinction jamais branchée à aucun formulaire (setType() n'est appelé
  19.     // nulle part dans le code actuel). Pour ne RIEN changer à ce comportement
  20.     // existant (toutes les écoles ont type=null aujourd'hui, donc tombent dans
  21.     // les branches "else" de ces templates), les valeurs ci-dessous évitent
  22.     // volontairement la plage 1-4 : une école secondaire/primaire/maternelle
  23.     // créée via ce nouveau système continue de tomber dans les mêmes branches
  24.     // "else" qu'avant, à l'identique d'une école avec type=null.
  25.     public const TYPE_SECONDAIRE 10;
  26.     public const TYPE_PRIMAIRE 20;
  27.     public const TYPE_MATERNELLE 30;
  28.     #[ORM\Id]
  29.     #[ORM\GeneratedValue]
  30.     #[ORM\Column]
  31.     #[Groups(['getStudents','getSubject','getAppUsers','getClass','getAbsence'])]
  32.     private ?int $id null;
  33.     #[ORM\Column(length255)]
  34.     #[Groups(['getStudents','getAbsence'])]
  35.     private ?string $name null;
  36.     #[ORM\Column(length255nullabletrue)]
  37.     private ?string $phone null;
  38.     #[ORM\OneToMany(mappedBy'school'targetEntityUser::class)]
  39.     private Collection $users;
  40.     #[ORM\Column(length255nullabletrue)]
  41.     private ?string $email null;
  42.     #[ORM\OneToMany(mappedBy'school'targetEntityUserYear::class)]
  43.     private Collection $userYears;
  44.     #[ORM\OneToMany(mappedBy'school'targetEntityStudent::class)]
  45.     private Collection $students;
  46.     #[ORM\OneToMany(mappedBy'school'targetEntityStudentYear::class)]
  47.     private Collection $studentYears;
  48.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsence::class)]
  49.     private Collection $absences;
  50.     #[ORM\OneToMany(mappedBy'school'targetEntityNote::class)]
  51.     private Collection $notes;
  52.     #[ORM\OneToMany(mappedBy'school'targetEntityDocInfo::class)]
  53.     private Collection $docInfos;
  54.     #[ORM\OneToMany(mappedBy'school'targetEntityEvent::class)]
  55.     private Collection $events;
  56.     #[ORM\OneToMany(mappedBy'school'targetEntityHomeWork::class)]
  57.     private Collection $homeWorks;
  58.     #[ORM\OneToMany(mappedBy'school'targetEntityLate::class)]
  59.     private Collection $lates;
  60.     #[ORM\OneToMany(mappedBy'school'targetEntityHomeWorkYear::class)]
  61.     private Collection $homeWorkYears;
  62.     #[ORM\OneToMany(mappedBy'school'targetEntityPunish::class)]
  63.     private Collection $punishes;
  64.     #[ORM\OneToMany(mappedBy'school'targetEntityPunishCategory::class)]
  65.     private Collection $punishCategories;
  66.     #[ORM\OneToMany(mappedBy'school'targetEntitySchoolSection::class)]
  67.     private Collection $schoolSections;
  68.     #[ORM\OneToMany(mappedBy'school'targetEntityTheClass::class)]
  69.     private Collection $theClasses;
  70.     #[ORM\OneToMany(mappedBy'school'targetEntitySubject::class)]
  71.     private Collection $subjects;
  72.     #[ORM\OneToMany(mappedBy'school'targetEntitySubjectGroup::class)]
  73.     private Collection $subjectGroups;
  74.     #[ORM\OneToMany(mappedBy'school'targetEntityDiscussion::class)]
  75.     private Collection $discussions;
  76.     #[ORM\OneToMany(mappedBy'school'targetEntityDiscussionClass::class)]
  77.     private Collection $discussionClasses;
  78.     #[ORM\OneToMany(mappedBy'school'targetEntityCategoryEvent::class)]
  79.     private Collection $categoryEvents;
  80.     
  81.     #[ORM\OneToMany(mappedBy'school'targetEntityNews::class)]
  82.     private Collection $news;
  83.     #[ORM\OneToMany(mappedBy'school'targetEntityAgenda::class)]
  84.     private Collection $agendas;
  85.     #[ORM\OneToMany(mappedBy'school'targetEntityExamAgenda::class)]
  86.     private Collection $examAgendas;
  87.     #[ORM\OneToMany(mappedBy'School'targetEntitySubSequence::class, orphanRemovaltrue)]
  88.     private Collection $subSequences;
  89.     #[ORM\OneToMany(mappedBy'school'targetEntitySubNote::class, orphanRemovaltrue)]
  90.     private Collection $subNotes;
  91.     #[ORM\OneToMany(mappedBy'school'targetEntityGlobalExam::class, orphanRemovaltrue)]
  92.     private Collection $globalExams;
  93.     #[ORM\OneToMany(mappedBy'school'targetEntityGlobalQuarter::class, orphanRemovaltrue)]
  94.     private Collection $globalQuarters;
  95.     #[ORM\OneToMany(mappedBy'school'targetEntityAppreciation::class, orphanRemovaltrue)]
  96.     private Collection $appreciations;
  97.     #[ORM\OneToMany(mappedBy'school'targetEntityScolarity::class)]
  98.     private Collection $scolarities;
  99.     #[ORM\OneToMany(mappedBy'school'targetEntityScolarityHistory::class)]
  100.     private Collection $scolarityHistories;
  101.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplineWarning::class, orphanRemovaltrue)]
  102.     private Collection $disciplineWarnings;
  103.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplineBlame::class, orphanRemovaltrue)]
  104.     private Collection $disciplineBlames;
  105.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplineExclusion::class)]
  106.     private Collection $disciplineExclusions;
  107.     #[ORM\OneToMany(mappedBy'school'targetEntityParentNote::class)]
  108.     private Collection $parentNotes;
  109.     #[ORM\OneToMany(mappedBy'school'targetEntityJustifyAbsence::class)]
  110.     private Collection $justifyAbsences;
  111.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsenceRetainedConfig::class, orphanRemovaltrue)]
  112.     private Collection $absenceRetainedConfigs;
  113.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsenceWarningConfig::class)]
  114.     private Collection $absenceWarningConfigs;
  115.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsenceExclusionConfig::class)]
  116.     private Collection $absenceExclusionConfigs;
  117.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsenceBlameConfig::class)]
  118.     private Collection $absenceBlameConfigs;
  119.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplineRetained::class)]
  120.     private Collection $disciplineRetaineds;
  121.     #[ORM\OneToMany(mappedBy'school'targetEntityDefinitiveExclusion::class)]
  122.     private Collection $definitiveExclusions;
  123.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplineConcile::class)]
  124.     private Collection $disciplineConciles;
  125.     #[ORM\OneToMany(mappedBy'school'targetEntityRetainedDisciplineConcileConfig::class)]
  126.     private Collection $retainedDisciplineConcileConfigs;
  127.     #[ORM\OneToMany(mappedBy'school'targetEntityRetainedBlameConfig::class)]
  128.     private Collection $retainedBlameConfigs;
  129.     #[ORM\OneToMany(mappedBy'school'targetEntityRetainedWarningConfig::class)]
  130.     private Collection $retainedWarningConfigs;
  131.     #[ORM\OneToMany(mappedBy'school'targetEntityRetainedDefinitiveExclusionConfig::class)]
  132.     private Collection $retainedDefinitiveExclusionConfigs;
  133.     #[ORM\OneToMany(mappedBy'school'targetEntityBlameDefinitiveExclusionConfig::class)]
  134.     private Collection $blameDefinitiveExclusionConfigs;
  135.     #[ORM\OneToMany(mappedBy'school'targetEntityBlameExclusionConfig::class)]
  136.     private Collection $blameExclusionConfigs;
  137.     #[ORM\OneToMany(mappedBy'school'targetEntityBlameWarningConfig::class)]
  138.     private Collection $blameWarningConfigs;
  139.     #[ORM\OneToMany(mappedBy'school'targetEntityBlameRetainedConfig::class)]
  140.     private Collection $blameRetainedConfigs;
  141.     #[ORM\OneToMany(mappedBy'school'targetEntityBlameDisciplineConcileConfig::class)]
  142.     private Collection $blameDisciplineConcileConfigs;
  143.     #[ORM\OneToMany(mappedBy'school'targetEntityRetainedExclusionConfig::class)]
  144.     private Collection $retainedExclusionConfigs;
  145.     #[ORM\OneToMany(mappedBy'school'targetEntityWarningExclusionConfig::class)]
  146.     private Collection $warningExclusionConfigs;
  147.     #[ORM\OneToMany(mappedBy'school'targetEntityWarningDefinitiveExclusionConfig::class)]
  148.     private Collection $warningDefinitiveExclusionConfigs;
  149.     #[ORM\Column(nullabletrue)]
  150.     private ?int $type null;
  151.     #[ORM\Column(length255nullabletrue)]
  152.     private ?string $englishName null;
  153.     #[ORM\Column(nullabletrue)]
  154.     private ?int $langage null;
  155.     #[ORM\OneToMany(mappedBy'school'targetEntityPrimaryParentNote::class)]
  156.     private Collection $primaryParentNotes;
  157.     #[ORM\OneToMany(mappedBy'school'targetEntityPrimaryNote::class)]
  158.     private Collection $primaryNotes;
  159.     #[ORM\OneToMany(mappedBy'school'targetEntityVerbalProcessCategory::class)]
  160.     private Collection $verbalProcessCategories;
  161.     #[ORM\OneToMany(mappedBy'school'targetEntityGlobalDisciplineConfig::class)]
  162.     private Collection $globalDisciplineConfigs;
  163.     #[ORM\OneToMany(mappedBy'school'targetEntityDisciplinePunish::class)]
  164.     private Collection $disciplinePunishes;
  165.     #[ORM\OneToMany(mappedBy'school'targetEntityGlobalDisciplineEnabledConfig::class)]
  166.     private Collection $globalDisciplineEnabledConfigs;
  167.     #[ORM\OneToMany(mappedBy'school'targetEntityBlamePunishConfig::class)]
  168.     private Collection $blamePunishConfigs;
  169.     #[ORM\OneToMany(mappedBy'school'targetEntityAbsencePunishConfig::class)]
  170.     private Collection $absencePunishConfigs;
  171.     #[ORM\OneToMany(mappedBy'school'targetEntityWarningPunishConfig::class)]
  172.     private Collection $warningPunishConfigs;
  173.     #[ORM\OneToMany(mappedBy'school'targetEntityPunishRetainedConfig::class)]
  174.     private Collection $punishRetainedConfigs;
  175.     #[ORM\OneToMany(mappedBy'school'targetEntityPunishWarningConfig::class)]
  176.     private Collection $punishWarningConfigs;
  177.     #[ORM\OneToMany(mappedBy'school'targetEntityPunishBlameConfig::class)]
  178.     private Collection $punishBlameConfigs;
  179.     #[ORM\OneToMany(mappedBy'school'targetEntityPunishExclusionConfig::class)]
  180.     private Collection $punishExclusionConfigs;
  181.     #[ORM\Column(length255nullabletrue)]
  182.     private ?string $nameEn null;
  183.     #[ORM\OneToMany(mappedBy'school'targetEntityUserIphoneToken::class)]
  184.     private Collection $userIphoneTokens;
  185.     #[ORM\OneToMany(mappedBy'school'targetEntityUserAndroidToken::class)]
  186.     private Collection $userAndroidTokens;
  187.     #[ORM\OneToMany(mappedBy'school'targetEntityNewsCategory::class)]
  188.     private Collection $newsCategories;
  189.     #[ORM\OneToMany(mappedBy'school'targetEntityBlame::class)]
  190.     private Collection $blames;
  191.     #[ORM\OneToMany(mappedBy'school'targetEntityWarning::class)]
  192.     private Collection $warnings;
  193.     #[ORM\OneToMany(mappedBy'school'targetEntityRetained::class)]
  194.     private Collection $retaineds;
  195.     #[ORM\Column(length255nullabletrue)]
  196.     private ?string $city null;
  197.     #[ORM\Column(length255nullabletrue)]
  198.     private ?string $phone1 null;
  199.     #[ORM\Column(length255nullabletrue)]
  200.     private ?string $phone2 null;
  201.     #[ORM\Column(length255nullabletrue)]
  202.     private ?string $box null;
  203.     #[ORM\OneToMany(mappedBy'school'targetEntityHonnorTableLimitMoy::class)]
  204.     private Collection $honnorTableLimitMoys;
  205.     #[ORM\OneToMany(mappedBy'school'targetEntitySchoolYearInfos::class)]
  206.     private Collection $schoolYearInfos;
  207.     #[ORM\OneToMany(mappedBy'school'targetEntityAdmissionLimit::class)]
  208.     private Collection $admissionLimits;
  209.     #[ORM\OneToOne(mappedBy'school'cascade: ['persist'])]
  210.     private ?AgendaTimeConvertion $agendaTimeConvertion null;
  211.     #[ORM\OneToMany(mappedBy'school'targetEntityCompetence::class)]
  212.     private Collection $competences;
  213.     #[ORM\OneToMany(mappedBy'school'targetEntityWeekSubjectGoal::class)]
  214.     private Collection $weekSubjectGoals;
  215.     #[ORM\OneToMany(mappedBy'school'targetEntityProfSchoolPlanner::class)]
  216.     private Collection $profSchoolPlanners;
  217.     #[ORM\OneToMany(mappedBy'school'targetEntityProfTime::class)]
  218.     private Collection $profTimes;
  219.     #[ORM\OneToMany(mappedBy'school'targetEntitySchoolPlannerType::class)]
  220.     private Collection $schoolPlannerTypes;
  221.     #[ORM\OneToMany(mappedBy'school'targetEntityAgendaElement::class)]
  222.     private Collection $agendaElements;
  223.     #[ORM\Column(length255nullabletrue)]
  224.     private ?string $logo null;
  225.     #[ORM\OneToMany(mappedBy'school'targetEntityGlobalSchoolBreak::class)]
  226.     private Collection $globalSchoolBreaks;
  227.     #[ORM\OneToMany(mappedBy'school'targetEntityTeacherAbsence::class, orphanRemovaltrue)]
  228.     private Collection $teacherAbsences;
  229.     #[ORM\OneToMany(mappedBy'school'targetEntityAttendanceMissed::class)]
  230.     private Collection $attendanceMisseds;
  231.     #[ORM\OneToMany(mappedBy'school'targetEntityGeneralBreak::class, orphanRemovaltrue)]
  232.     private Collection $generalBreaks;
  233.     #[ORM\ManyToOne(inversedBy'schools')]
  234.     private ?Region $region null;
  235.     #[ORM\ManyToOne(inversedBy'schools')]
  236.     private ?Department $department null;
  237.     public function __construct()
  238.     {
  239.         $this->users = new ArrayCollection();
  240.         $this->userYears = new ArrayCollection();
  241.         $this->students = new ArrayCollection();
  242.         $this->studentYears = new ArrayCollection();
  243.         $this->absences = new ArrayCollection();
  244.         $this->notes = new ArrayCollection();
  245.         $this->docInfos = new ArrayCollection();
  246.         $this->events = new ArrayCollection();
  247.         $this->homeWorks = new ArrayCollection();
  248.         $this->lates = new ArrayCollection();
  249.         $this->homeWorkYears = new ArrayCollection();
  250.         $this->punishes = new ArrayCollection();
  251.         $this->punishCategories = new ArrayCollection();
  252.         $this->schoolSections = new ArrayCollection();
  253.         $this->theClasses = new ArrayCollection();
  254.         $this->subjects = new ArrayCollection();
  255.         $this->subjectGroups = new ArrayCollection();
  256.         $this->discussions = new ArrayCollection();
  257.         $this->discussionClasses = new ArrayCollection();
  258.         $this->categoryEvents = new ArrayCollection();
  259.         $this->news = new ArrayCollection();
  260.         $this->agendas = new ArrayCollection();
  261.         $this->examAgendas = new ArrayCollection();
  262.         $this->subSequences = new ArrayCollection();
  263.         $this->subNotes = new ArrayCollection();
  264.         $this->globalExams = new ArrayCollection();
  265.         $this->globalQuarters = new ArrayCollection();
  266.         $this->appreciations = new ArrayCollection();
  267.         $this->scolarities = new ArrayCollection();
  268.         $this->scolarityHistories = new ArrayCollection();
  269.         $this->disciplineWarnings = new ArrayCollection();
  270.         $this->disciplineBlames = new ArrayCollection();
  271.         $this->disciplineExclusions = new ArrayCollection();
  272.         $this->parentNotes = new ArrayCollection();
  273.         $this->justifyAbsences = new ArrayCollection();
  274.         $this->absenceRetainedConfigs = new ArrayCollection();
  275.         $this->absenceWarningConfigs = new ArrayCollection();
  276.         $this->absenceExclusionConfigs = new ArrayCollection();
  277.         $this->absenceBlameConfigs = new ArrayCollection();
  278.         $this->disciplineRetaineds = new ArrayCollection();
  279.         $this->definitiveExclusions = new ArrayCollection();
  280.         $this->disciplineConciles = new ArrayCollection();
  281.         $this->retainedDisciplineConcileConfigs = new ArrayCollection();
  282.         $this->retainedBlameConfigs = new ArrayCollection();
  283.         $this->retainedWarningConfigs = new ArrayCollection();
  284.         $this->retainedDefinitiveExclusionConfigs = new ArrayCollection();
  285.         $this->blameDefinitiveExclusionConfigs = new ArrayCollection();
  286.         $this->blameExclusionConfigs = new ArrayCollection();
  287.         $this->blameWarningConfigs = new ArrayCollection();
  288.         $this->blameRetainedConfigs = new ArrayCollection();
  289.         $this->blameDisciplineConcileConfigs = new ArrayCollection();
  290.         $this->retainedExclusionConfigs = new ArrayCollection();
  291.         $this->warningExclusionConfigs = new ArrayCollection();
  292.         $this->warningDefinitiveExclusionConfigs = new ArrayCollection();
  293.         $this->primaryParentNotes = new ArrayCollection();
  294.         $this->primaryNotes = new ArrayCollection();
  295.         $this->verbalProcessCategories = new ArrayCollection();
  296.         $this->globalDisciplineConfigs = new ArrayCollection();
  297.         $this->disciplinePunishes = new ArrayCollection();
  298.         $this->globalDisciplineEnabledConfigs = new ArrayCollection();
  299.         $this->blamePunishConfigs = new ArrayCollection();
  300.         $this->absencePunishConfigs = new ArrayCollection();
  301.         $this->warningPunishConfigs = new ArrayCollection();
  302.         $this->punishRetainedConfigs = new ArrayCollection();
  303.         $this->punishWarningConfigs = new ArrayCollection();
  304.         $this->punishBlameConfigs = new ArrayCollection();
  305.         $this->punishExclusionConfigs = new ArrayCollection();
  306.         $this->userIphoneTokens = new ArrayCollection();
  307.         $this->userAndroidTokens = new ArrayCollection();
  308.         $this->newsCategories = new ArrayCollection();
  309.         $this->blames = new ArrayCollection();
  310.         $this->warnings = new ArrayCollection();
  311.         $this->retaineds = new ArrayCollection();
  312.         $this->honnorTableLimitMoys = new ArrayCollection();
  313.         $this->schoolYearInfos = new ArrayCollection();
  314.         $this->admissionLimits = new ArrayCollection();
  315.         $this->competences = new ArrayCollection();
  316.         $this->weekSubjectGoals = new ArrayCollection();
  317.         $this->profSchoolPlanners = new ArrayCollection();
  318.         $this->profTimes = new ArrayCollection();
  319.         $this->schoolPlannerTypes = new ArrayCollection();
  320.         $this->agendaElements = new ArrayCollection();
  321.         $this->globalSchoolBreaks = new ArrayCollection();
  322.         $this->teacherAbsences = new ArrayCollection();
  323.         $this->attendanceMisseds = new ArrayCollection();
  324.         $this->generalBreaks = new ArrayCollection();
  325.     }
  326.     public function getId(): ?int
  327.     {
  328.         return $this->id;
  329.     }
  330.     public function getName(): ?string
  331.     {
  332.         return $this->name;
  333.     }
  334.     public function setName(string $name): static
  335.     {
  336.         $this->name $name;
  337.         return $this;
  338.     }
  339.     public function getPhone(): ?string
  340.     {
  341.         return $this->phone;
  342.     }
  343.     public function setPhone(?string $phone): static
  344.     {
  345.         $this->phone $phone;
  346.         return $this;
  347.     }
  348.     /**
  349.      * @return Collection<int, User>
  350.     */
  351.     public function getUsers(): Collection
  352.     {
  353.         return $this->users;
  354.     }
  355.     public function addUser(User $user): static
  356.     {
  357.         if (!$this->users->contains($user)) {
  358.             $this->users->add($user);
  359.             $user->setSchool($this);
  360.         }
  361.         return $this;
  362.     }
  363.     public function removeUser(User $user): static
  364.     {
  365.         if ($this->users->removeElement($user)) {
  366.             // set the owning side to null (unless already changed)
  367.             if ($user->getSchool() === $this) {
  368.                 $user->setSchool(null);
  369.             }
  370.         }
  371.         return $this;
  372.     }
  373.     public function getEmail(): ?string
  374.     {
  375.         return $this->email;
  376.     }
  377.     public function setEmail(?string $email): static
  378.     {
  379.         $this->email $email;
  380.         return $this;
  381.     }
  382.     /**
  383.      * @return Collection<int, UserYear>
  384.      */
  385.     public function getUserYears(): Collection
  386.     {
  387.         return $this->userYears;
  388.     }
  389.     public function addUserYear(UserYear $userYear): static
  390.     {
  391.         if (!$this->userYears->contains($userYear)) {
  392.             $this->userYears->add($userYear);
  393.             $userYear->setSchool($this);
  394.         }
  395.         return $this;
  396.     }
  397.     public function removeUserYear(UserYear $userYear): static
  398.     {
  399.         if ($this->userYears->removeElement($userYear)) {
  400.             // set the owning side to null (unless already changed)
  401.             if ($userYear->getSchool() === $this) {
  402.                 $userYear->setSchool(null);
  403.             }
  404.         }
  405.         return $this;
  406.     }
  407.     /**
  408.      * @return Collection<int, Student>
  409.      */
  410.     public function getStudents(): Collection
  411.     {
  412.         return $this->students;
  413.     }
  414.     public function addStudent(Student $student): static
  415.     {
  416.         if (!$this->students->contains($student)) {
  417.             $this->students->add($student);
  418.             $student->setSchool($this);
  419.         }
  420.         return $this;
  421.     }
  422.     public function removeStudent(Student $student): static
  423.     {
  424.         if ($this->students->removeElement($student)) {
  425.             // set the owning side to null (unless already changed)
  426.             if ($student->getSchool() === $this) {
  427.                 $student->setSchool(null);
  428.             }
  429.         }
  430.         return $this;
  431.     }
  432.     /**
  433.      * @return Collection<int, StudentYear>
  434.      */
  435.     public function getStudentYears(): Collection
  436.     {
  437.         return $this->studentYears;
  438.     }
  439.     public function addStudentYear(StudentYear $studentYear): static
  440.     {
  441.         if (!$this->studentYears->contains($studentYear)) {
  442.             $this->studentYears->add($studentYear);
  443.             $studentYear->setSchool($this);
  444.         }
  445.         return $this;
  446.     }
  447.     public function removeStudentYear(StudentYear $studentYear): static
  448.     {
  449.         if ($this->studentYears->removeElement($studentYear)) {
  450.             // set the owning side to null (unless already changed)
  451.             if ($studentYear->getSchool() === $this) {
  452.                 $studentYear->setSchool(null);
  453.             }
  454.         }
  455.         return $this;
  456.     }
  457.     /**
  458.      * @return Collection<int, Absence>
  459.      */
  460.     public function getAbsences(): Collection
  461.     {
  462.         return $this->absences;
  463.     }
  464.     public function addAbsence(Absence $absence): static
  465.     {
  466.         if (!$this->absences->contains($absence)) {
  467.             $this->absences->add($absence);
  468.             $absence->setSchool($this);
  469.         }
  470.         return $this;
  471.     }
  472.     public function removeAbsence(Absence $absence): static
  473.     {
  474.         if ($this->absences->removeElement($absence)) {
  475.             // set the owning side to null (unless already changed)
  476.             if ($absence->getSchool() === $this) {
  477.                 $absence->setSchool(null);
  478.             }
  479.         }
  480.         return $this;
  481.     }
  482.     /**
  483.      * @return Collection<int, Note>
  484.      */
  485.     public function getNotes(): Collection
  486.     {
  487.         return $this->notes;
  488.     }
  489.     public function addNote(Note $note): static
  490.     {
  491.         if (!$this->notes->contains($note)) {
  492.             $this->notes->add($note);
  493.             $note->setSchool($this);
  494.         }
  495.         return $this;
  496.     }
  497.     public function removeNote(Note $note): static
  498.     {
  499.         if ($this->notes->removeElement($note)) {
  500.             // set the owning side to null (unless already changed)
  501.             if ($note->getSchool() === $this) {
  502.                 $note->setSchool(null);
  503.             }
  504.         }
  505.         return $this;
  506.     }
  507.     /**
  508.      * @return Collection<int, DocInfo>
  509.      */
  510.     public function getDocInfos(): Collection
  511.     {
  512.         return $this->docInfos;
  513.     }
  514.     public function addDocInfo(DocInfo $docInfo): static
  515.     {
  516.         if (!$this->docInfos->contains($docInfo)) {
  517.             $this->docInfos->add($docInfo);
  518.             $docInfo->setSchool($this);
  519.         }
  520.         return $this;
  521.     }
  522.     public function removeDocInfo(DocInfo $docInfo): static
  523.     {
  524.         if ($this->docInfos->removeElement($docInfo)) {
  525.             // set the owning side to null (unless already changed)
  526.             if ($docInfo->getSchool() === $this) {
  527.                 $docInfo->setSchool(null);
  528.             }
  529.         }
  530.         return $this;
  531.     }
  532.     /**
  533.      * @return Collection<int, Event>
  534.      */
  535.     public function getEvents(): Collection
  536.     {
  537.         return $this->events;
  538.     }
  539.     public function addEvent(Event $event): static
  540.     {
  541.         if (!$this->events->contains($event)) {
  542.             $this->events->add($event);
  543.             $event->setSchool($this);
  544.         }
  545.         return $this;
  546.     }
  547.     public function removeEvent(Event $event): static
  548.     {
  549.         if ($this->events->removeElement($event)) {
  550.             // set the owning side to null (unless already changed)
  551.             if ($event->getSchool() === $this) {
  552.                 $event->setSchool(null);
  553.             }
  554.         }
  555.         return $this;
  556.     }
  557.     /**
  558.      * @return Collection<int, HomeWork>
  559.      */
  560.     public function getHomeWorks(): Collection
  561.     {
  562.         return $this->homeWorks;
  563.     }
  564.     public function addHomeWork(HomeWork $homeWork): static
  565.     {
  566.         if (!$this->homeWorks->contains($homeWork)) {
  567.             $this->homeWorks->add($homeWork);
  568.             $homeWork->setSchool($this);
  569.         }
  570.         return $this;
  571.     }
  572.     public function removeHomeWork(HomeWork $homeWork): static
  573.     {
  574.         if ($this->homeWorks->removeElement($homeWork)) {
  575.             // set the owning side to null (unless already changed)
  576.             if ($homeWork->getSchool() === $this) {
  577.                 $homeWork->setSchool(null);
  578.             }
  579.         }
  580.         return $this;
  581.     }
  582.     /**
  583.      * @return Collection<int, Late>
  584.      */
  585.     public function getLates(): Collection
  586.     {
  587.         return $this->lates;
  588.     }
  589.     public function addLate(Late $late): static
  590.     {
  591.         if (!$this->lates->contains($late)) {
  592.             $this->lates->add($late);
  593.             $late->setSchool($this);
  594.         }
  595.         return $this;
  596.     }
  597.     public function removeLate(Late $late): static
  598.     {
  599.         if ($this->lates->removeElement($late)) {
  600.             // set the owning side to null (unless already changed)
  601.             if ($late->getSchool() === $this) {
  602.                 $late->setSchool(null);
  603.             }
  604.         }
  605.         return $this;
  606.     }
  607.     /**
  608.      * @return Collection<int, HomeWorkYear>
  609.      */
  610.     public function getHomeWorkYears(): Collection
  611.     {
  612.         return $this->homeWorkYears;
  613.     }
  614.     public function addHomeWorkYear(HomeWorkYear $homeWorkYear): static
  615.     {
  616.         if (!$this->homeWorkYears->contains($homeWorkYear)) {
  617.             $this->homeWorkYears->add($homeWorkYear);
  618.             $homeWorkYear->setSchool($this);
  619.         }
  620.         return $this;
  621.     }
  622.     public function removeHomeWorkYear(HomeWorkYear $homeWorkYear): static
  623.     {
  624.         if ($this->homeWorkYears->removeElement($homeWorkYear)) {
  625.             // set the owning side to null (unless already changed)
  626.             if ($homeWorkYear->getSchool() === $this) {
  627.                 $homeWorkYear->setSchool(null);
  628.             }
  629.         }
  630.         return $this;
  631.     }
  632.     /**
  633.      * @return Collection<int, Punish>
  634.      */
  635.     public function getPunishes(): Collection
  636.     {
  637.         return $this->punishes;
  638.     }
  639.     public function addPunish(Punish $punish): static
  640.     {
  641.         if (!$this->punishes->contains($punish)) {
  642.             $this->punishes->add($punish);
  643.             $punish->setSchool($this);
  644.         }
  645.         return $this;
  646.     }
  647.     public function removePunish(Punish $punish): static
  648.     {
  649.         if ($this->punishes->removeElement($punish)) {
  650.             // set the owning side to null (unless already changed)
  651.             if ($punish->getSchool() === $this) {
  652.                 $punish->setSchool(null);
  653.             }
  654.         }
  655.         return $this;
  656.     }
  657.     /**
  658.      * @return Collection<int, PunishCategory>
  659.      */
  660.     public function getPunishCategories(): Collection
  661.     {
  662.         return $this->punishCategories;
  663.     }
  664.     public function addPunishCategory(PunishCategory $punishCategory): static
  665.     {
  666.         if (!$this->punishCategories->contains($punishCategory)) {
  667.             $this->punishCategories->add($punishCategory);
  668.             $punishCategory->setSchool($this);
  669.         }
  670.         return $this;
  671.     }
  672.     public function removePunishCategory(PunishCategory $punishCategory): static
  673.     {
  674.         if ($this->punishCategories->removeElement($punishCategory)) {
  675.             // set the owning side to null (unless already changed)
  676.             if ($punishCategory->getSchool() === $this) {
  677.                 $punishCategory->setSchool(null);
  678.             }
  679.         }
  680.         return $this;
  681.     }
  682.     /**
  683.      * @return Collection<int, SchoolSection>
  684.      */
  685.     public function getSchoolSections(): Collection
  686.     {
  687.         return $this->schoolSections;
  688.     }
  689.     public function addSchoolSection(SchoolSection $schoolSection): static
  690.     {
  691.         if (!$this->schoolSections->contains($schoolSection)) {
  692.             $this->schoolSections->add($schoolSection);
  693.             $schoolSection->setSchool($this);
  694.         }
  695.         return $this;
  696.     }
  697.     public function removeSchoolSection(SchoolSection $schoolSection): static
  698.     {
  699.         if ($this->schoolSections->removeElement($schoolSection)) {
  700.             // set the owning side to null (unless already changed)
  701.             if ($schoolSection->getSchool() === $this) {
  702.                 $schoolSection->setSchool(null);
  703.             }
  704.         }
  705.         return $this;
  706.     }
  707.     /**
  708.      * @return Collection<int, TheClass>
  709.      */
  710.     public function getTheClasses(): Collection
  711.     {
  712.         return $this->theClasses;
  713.     }
  714.     public function addTheClass(TheClass $theClass): static
  715.     {
  716.         if (!$this->theClasses->contains($theClass)) {
  717.             $this->theClasses->add($theClass);
  718.             $theClass->setSchool($this);
  719.         }
  720.         return $this;
  721.     }
  722.     public function removeTheClass(TheClass $theClass): static
  723.     {
  724.         if ($this->theClasses->removeElement($theClass)) {
  725.             // set the owning side to null (unless already changed)
  726.             if ($theClass->getSchool() === $this) {
  727.                 $theClass->setSchool(null);
  728.             }
  729.         }
  730.         return $this;
  731.     }
  732.     /**
  733.      * @return Collection<int, Subject>
  734.      */
  735.     public function getSubjects(): Collection
  736.     {
  737.         return $this->subjects;
  738.     }
  739.     public function addSubject(Subject $subject): static
  740.     {
  741.         if (!$this->subjects->contains($subject)) {
  742.             $this->subjects->add($subject);
  743.             $subject->setSchool($this);
  744.         }
  745.         return $this;
  746.     }
  747.     public function removeSubject(Subject $subject): static
  748.     {
  749.         if ($this->subjects->removeElement($subject)) {
  750.             // set the owning side to null (unless already changed)
  751.             if ($subject->getSchool() === $this) {
  752.                 $subject->setSchool(null);
  753.             }
  754.         }
  755.         return $this;
  756.     }
  757.     /**
  758.      * @return Collection<int, SubjectGroup>
  759.      */
  760.     public function getSubjectGroups(): Collection
  761.     {
  762.         return $this->subjectGroups;
  763.     }
  764.     public function addSubjectGroup(SubjectGroup $subjectGroup): static
  765.     {
  766.         if (!$this->subjectGroups->contains($subjectGroup)) {
  767.             $this->subjectGroups->add($subjectGroup);
  768.             $subjectGroup->setSchool($this);
  769.         }
  770.         return $this;
  771.     }
  772.     public function removeSubjectGroup(SubjectGroup $subjectGroup): static
  773.     {
  774.         if ($this->subjectGroups->removeElement($subjectGroup)) {
  775.             // set the owning side to null (unless already changed)
  776.             if ($subjectGroup->getSchool() === $this) {
  777.                 $subjectGroup->setSchool(null);
  778.             }
  779.         }
  780.         return $this;
  781.     }
  782.     /**
  783.      * @return Collection<int, Discussion>
  784.      */
  785.     public function getDiscussions(): Collection
  786.     {
  787.         return $this->discussions;
  788.     }
  789.     public function addDiscussion(Discussion $discussion): static
  790.     {
  791.         if (!$this->discussions->contains($discussion)) {
  792.             $this->discussions->add($discussion);
  793.             $discussion->setSchool($this);
  794.         }
  795.         return $this;
  796.     }
  797.     public function removeDiscussion(Discussion $discussion): static
  798.     {
  799.         if ($this->discussions->removeElement($discussion)) {
  800.             // set the owning side to null (unless already changed)
  801.             if ($discussion->getSchool() === $this) {
  802.                 $discussion->setSchool(null);
  803.             }
  804.         }
  805.         return $this;
  806.     }
  807.     /**
  808.      * @return Collection<int, DiscussionClass>
  809.      */
  810.     public function getDiscussionClasses(): Collection
  811.     {
  812.         return $this->discussionClasses;
  813.     }
  814.     public function addDiscussionClass(DiscussionClass $discussionClass): static
  815.     {
  816.         if (!$this->discussionClasses->contains($discussionClass)) {
  817.             $this->discussionClasses->add($discussionClass);
  818.             $discussionClass->setSchool($this);
  819.         }
  820.         return $this;
  821.     }
  822.     public function removeDiscussionClass(DiscussionClass $discussionClass): static
  823.     {
  824.         if ($this->discussionClasses->removeElement($discussionClass)) {
  825.             // set the owning side to null (unless already changed)
  826.             if ($discussionClass->getSchool() === $this) {
  827.                 $discussionClass->setSchool(null);
  828.             }
  829.         }
  830.         return $this;
  831.     }
  832.     /**
  833.      * @return Collection<int, CategoryEvent>
  834.      */
  835.     public function getCategoryEvents(): Collection
  836.     {
  837.         return $this->categoryEvents;
  838.     }
  839.     public function addCategoryEvent(CategoryEvent $categoryEvent): static
  840.     {
  841.         if (!$this->categoryEvents->contains($categoryEvent)) {
  842.             $this->categoryEvents->add($categoryEvent);
  843.             $categoryEvent->setSchool($this);
  844.         }
  845.         
  846.         return $this;
  847.     }
  848.     /*
  849.      * @return Collection<int, News>
  850.     */
  851.     public function getNews(): Collection
  852.     {
  853.         return $this->news;
  854.     }
  855.     public function addNews(News $news): static
  856.     {
  857.         if (!$this->news->contains($news)) {
  858.             $this->news->add($news);
  859.             $news->setSchool($this);
  860.         }
  861.         return $this;
  862.     }
  863.     public function removeCategoryEvent(CategoryEvent $categoryEvent): static
  864.     {
  865.         if ($this->categoryEvents->removeElement($categoryEvent)) {
  866.             // set the owning side to null (unless already changed)
  867.             if ($categoryEvent->getSchool() === $this) {
  868.                 $categoryEvent->setSchool(null);
  869.             }
  870.         }
  871.         return $this;
  872.     }
  873.     public function removeNews(News $news): static
  874.     {
  875.         if ($this->news->removeElement($news)) {
  876.             // set the owning side to null (unless already changed)
  877.             if ($news->getSchool() === $this) {
  878.                 $news->setSchool(null);
  879.             }
  880.         }
  881.         return $this;
  882.     }
  883.     /**
  884.      * @return Collection<int, Agenda>
  885.      */
  886.     public function getAgendas(): Collection
  887.     {
  888.         return $this->agendas;
  889.     }
  890.     public function addAgenda(Agenda $agenda): static
  891.     {
  892.         if (!$this->agendas->contains($agenda)) {
  893.             $this->agendas->add($agenda);
  894.             $agenda->setSchool($this);
  895.         }
  896.         return $this;
  897.     }
  898.     public function removeAgenda(Agenda $agenda): static
  899.     {
  900.         if ($this->agendas->removeElement($agenda)) {
  901.             // set the owning side to null (unless already changed)
  902.             if ($agenda->getSchool() === $this) {
  903.                 $agenda->setSchool(null);
  904.             }
  905.         }
  906.         return $this;
  907.     }
  908.     /**
  909.      * @return Collection<int, ExamAgenda>
  910.      */
  911.     public function getExamAgendas(): Collection
  912.     {
  913.         return $this->examAgendas;
  914.     }
  915.     public function addExamAgenda(ExamAgenda $examAgenda): static
  916.     {
  917.         if (!$this->examAgendas->contains($examAgenda)) {
  918.             $this->examAgendas->add($examAgenda);
  919.             $examAgenda->setSchool($this);
  920.         }
  921.         return $this;
  922.     }
  923.     public function removeExamAgenda(ExamAgenda $examAgenda): static
  924.     {
  925.         if ($this->examAgendas->removeElement($examAgenda)) {
  926.             // set the owning side to null (unless already changed)
  927.             if ($examAgenda->getSchool() === $this) {
  928.                 $examAgenda->setSchool(null);
  929.             }
  930.         }
  931.         return $this;
  932.     }
  933.     /**
  934.      * @return Collection<int, SubSequence>
  935.      */
  936.     public function getSubSequences(): Collection
  937.     {
  938.         return $this->subSequences;
  939.     }
  940.     public function addSubSequence(SubSequence $subSequence): static
  941.     {
  942.         if (!$this->subSequences->contains($subSequence)) {
  943.             $this->subSequences->add($subSequence);
  944.             $subSequence->setSchool($this);
  945.         }
  946.         return $this;
  947.     }
  948.     public function removeSubSequence(SubSequence $subSequence): static
  949.     {
  950.         if ($this->subSequences->removeElement($subSequence)) {
  951.             // set the owning side to null (unless already changed)
  952.             if ($subSequence->getSchool() === $this) {
  953.                 $subSequence->setSchool(null);
  954.             }
  955.         }
  956.         return $this;
  957.     }
  958.     /**
  959.      * @return Collection<int, SubNote>
  960.      */
  961.     public function getSubNotes(): Collection
  962.     {
  963.         return $this->subNotes;
  964.     }
  965.     public function addSubNote(SubNote $subNote): static
  966.     {
  967.         if (!$this->subNotes->contains($subNote)) {
  968.             $this->subNotes->add($subNote);
  969.             $subNote->setSchool($this);
  970.         }
  971.         return $this;
  972.     }
  973.     public function removeSubNote(SubNote $subNote): static
  974.     {
  975.         if ($this->subNotes->removeElement($subNote)) {
  976.             // set the owning side to null (unless already changed)
  977.             if ($subNote->getSchool() === $this) {
  978.                 $subNote->setSchool(null);
  979.             }
  980.         }
  981.         return $this;
  982.     }
  983.     /**
  984.      * @return Collection<int, GlobalExam>
  985.      */
  986.     public function getGlobalExams(): Collection
  987.     {
  988.         return $this->globalExams;
  989.     }
  990.     public function addGlobalExam(GlobalExam $globalExam): static
  991.     {
  992.         if (!$this->globalExams->contains($globalExam)) {
  993.             $this->globalExams->add($globalExam);
  994.             $globalExam->setSchool($this);
  995.         }
  996.         return $this;
  997.     }
  998.     public function removeGlobalExam(GlobalExam $globalExam): static
  999.     {
  1000.         if ($this->globalExams->removeElement($globalExam)) {
  1001.             // set the owning side to null (unless already changed)
  1002.             if ($globalExam->getSchool() === $this) {
  1003.                 $globalExam->setSchool(null);
  1004.             }
  1005.         }
  1006.         return $this;
  1007.     }
  1008.     /**
  1009.      * @return Collection<int, GlobalQuarter>
  1010.      */
  1011.     public function getGlobalQuarters(): Collection
  1012.     {
  1013.         return $this->globalQuarters;
  1014.     }
  1015.     public function addGlobalQuarter(GlobalQuarter $globalQuarter): static
  1016.     {
  1017.         if (!$this->globalQuarters->contains($globalQuarter)) {
  1018.             $this->globalQuarters->add($globalQuarter);
  1019.             $globalQuarter->setSchool($this);
  1020.         }
  1021.         return $this;
  1022.     }
  1023.     public function removeGlobalQuarter(GlobalQuarter $globalQuarter): static
  1024.     {
  1025.         if ($this->globalQuarters->removeElement($globalQuarter)) {
  1026.             // set the owning side to null (unless already changed)
  1027.             if ($globalQuarter->getSchool() === $this) {
  1028.                 $globalQuarter->setSchool(null);
  1029.             }
  1030.         }
  1031.         return $this;
  1032.     }
  1033.     /**
  1034.      * @return Collection<int, Appreciation>
  1035.      */
  1036.     public function getAppreciations(): Collection
  1037.     {
  1038.         return $this->appreciations;
  1039.     }
  1040.     public function addAppreciation(Appreciation $appreciation): static
  1041.     {
  1042.         if (!$this->appreciations->contains($appreciation)) {
  1043.             $this->appreciations->add($appreciation);
  1044.             $appreciation->setSchool($this);
  1045.         }
  1046.         return $this;
  1047.     }
  1048.     public function removeAppreciation(Appreciation $appreciation): static
  1049.     {
  1050.         if ($this->appreciations->removeElement($appreciation)) {
  1051.             // set the owning side to null (unless already changed)
  1052.             if ($appreciation->getSchool() === $this) {
  1053.                 $appreciation->setSchool(null);
  1054.             }
  1055.         }
  1056.         return $this;
  1057.     }
  1058.     /**
  1059.      * @return Collection<int, Scolarity>
  1060.      */
  1061.     public function getScolarities(): Collection
  1062.     {
  1063.         return $this->scolarities;
  1064.     }
  1065.     public function addScolarity(Scolarity $scolarity): static
  1066.     {
  1067.         if (!$this->scolarities->contains($scolarity)) {
  1068.             $this->scolarities->add($scolarity);
  1069.             $scolarity->setSchool($this);
  1070.         }
  1071.         return $this;
  1072.     }
  1073.     public function removeScolarity(Scolarity $scolarity): static
  1074.     {
  1075.         if ($this->scolarities->removeElement($scolarity)) {
  1076.             // set the owning side to null (unless already changed)
  1077.             if ($scolarity->getSchool() === $this) {
  1078.                 $scolarity->setSchool(null);
  1079.             }
  1080.         }
  1081.         return $this;
  1082.     }
  1083.     /**
  1084.      * @return Collection<int, ScolarityHistory>
  1085.      */
  1086.     public function getScolarityHistories(): Collection
  1087.     {
  1088.         return $this->scolarityHistories;
  1089.     }
  1090.     public function addScolarityHistory(ScolarityHistory $scolarityHistory): static
  1091.     {
  1092.         if (!$this->scolarityHistories->contains($scolarityHistory)) {
  1093.             $this->scolarityHistories->add($scolarityHistory);
  1094.             $scolarityHistory->setSchool($this);
  1095.         }
  1096.         return $this;
  1097.     }
  1098.     public function removeScolarityHistory(ScolarityHistory $scolarityHistory): static
  1099.     {
  1100.         if ($this->scolarityHistories->removeElement($scolarityHistory)) {
  1101.             // set the owning side to null (unless already changed)
  1102.             if ($scolarityHistory->getSchool() === $this) {
  1103.                 $scolarityHistory->setSchool(null);
  1104.             }
  1105.         }
  1106.         return $this;
  1107.     }
  1108.     /**
  1109.      * @return Collection<int, DisciplineWarning>
  1110.      */
  1111.     public function getDisciplineWarnings(): Collection
  1112.     {
  1113.         return $this->disciplineWarnings;
  1114.     }
  1115.     public function addDisciplineWarning(DisciplineWarning $disciplineWarning): static
  1116.     {
  1117.         if (!$this->disciplineWarnings->contains($disciplineWarning)) {
  1118.             $this->disciplineWarnings->add($disciplineWarning);
  1119.             $disciplineWarning->setSchool($this);
  1120.         }
  1121.         return $this;
  1122.     }
  1123.     public function removeDisciplineWarning(DisciplineWarning $disciplineWarning): static
  1124.     {
  1125.         if ($this->disciplineWarnings->removeElement($disciplineWarning)) {
  1126.             // set the owning side to null (unless already changed)
  1127.             if ($disciplineWarning->getSchool() === $this) {
  1128.                 $disciplineWarning->setSchool(null);
  1129.             }
  1130.         }
  1131.         return $this;
  1132.     }
  1133.     /**
  1134.      * @return Collection<int, DisciplineBlame>
  1135.      */
  1136.     public function getDisciplineBlames(): Collection
  1137.     {
  1138.         return $this->disciplineBlames;
  1139.     }
  1140.     public function addDisciplineBlame(DisciplineBlame $disciplineBlame): static
  1141.     {
  1142.         if (!$this->disciplineBlames->contains($disciplineBlame)) {
  1143.             $this->disciplineBlames->add($disciplineBlame);
  1144.             $disciplineBlame->setSchool($this);
  1145.         }
  1146.         return $this;
  1147.     }
  1148.     public function removeDisciplineBlame(DisciplineBlame $disciplineBlame): static
  1149.     {
  1150.         if ($this->disciplineBlames->removeElement($disciplineBlame)) {
  1151.             // set the owning side to null (unless already changed)
  1152.             if ($disciplineBlame->getSchool() === $this) {
  1153.                 $disciplineBlame->setSchool(null);
  1154.             }
  1155.         }
  1156.         return $this;
  1157.     }
  1158.     /**
  1159.      * @return Collection<int, DisciplineExclusion>
  1160.      */
  1161.     public function getDisciplineExclusions(): Collection
  1162.     {
  1163.         return $this->disciplineExclusions;
  1164.     }
  1165.     public function addDisciplineExclusion(DisciplineExclusion $disciplineExclusion): static
  1166.     {
  1167.         if (!$this->disciplineExclusions->contains($disciplineExclusion)) {
  1168.             $this->disciplineExclusions->add($disciplineExclusion);
  1169.             $disciplineExclusion->setSchool($this);
  1170.         }
  1171.         return $this;
  1172.     }
  1173.     public function removeDisciplineExclusion(DisciplineExclusion $disciplineExclusion): static
  1174.     {
  1175.         if ($this->disciplineExclusions->removeElement($disciplineExclusion)) {
  1176.             // set the owning side to null (unless already changed)
  1177.             if ($disciplineExclusion->getSchool() === $this) {
  1178.                 $disciplineExclusion->setSchool(null);
  1179.             }
  1180.         }
  1181.         return $this;
  1182.     }
  1183.     /**
  1184.      * @return Collection<int, ParentNote>
  1185.      */
  1186.     public function getParentNotes(): Collection
  1187.     {
  1188.         return $this->parentNotes;
  1189.     }
  1190.     public function addParentNote(ParentNote $parentNote): static
  1191.     {
  1192.         if (!$this->parentNotes->contains($parentNote)) {
  1193.             $this->parentNotes->add($parentNote);
  1194.             $parentNote->setSchool($this);
  1195.         }
  1196.         return $this;
  1197.     }
  1198.     public function removeParentNote(ParentNote $parentNote): static
  1199.     {
  1200.         if ($this->parentNotes->removeElement($parentNote)) {
  1201.             // set the owning side to null (unless already changed)
  1202.             if ($parentNote->getSchool() === $this) {
  1203.                 $parentNote->setSchool(null);
  1204.             }
  1205.         }
  1206.         return $this;
  1207.     }
  1208.     /**
  1209.      * @return Collection<int, JustifyAbsence>
  1210.      */
  1211.     public function getJustifyAbsences(): Collection
  1212.     {
  1213.         return $this->justifyAbsences;
  1214.     }
  1215.     public function addJustifyAbsence(JustifyAbsence $justifyAbsence): static
  1216.     {
  1217.         if (!$this->justifyAbsences->contains($justifyAbsence)) {
  1218.             $this->justifyAbsences->add($justifyAbsence);
  1219.             $justifyAbsence->setSchool($this);
  1220.         }
  1221.         return $this;
  1222.     }
  1223.     public function removeJustifyAbsence(JustifyAbsence $justifyAbsence): static
  1224.     {
  1225.         if ($this->justifyAbsences->removeElement($justifyAbsence)) {
  1226.             // set the owning side to null (unless already changed)
  1227.             if ($justifyAbsence->getSchool() === $this) {
  1228.                 $justifyAbsence->setSchool(null);
  1229.             }
  1230.         }
  1231.         return $this;
  1232.     }
  1233.     /**
  1234.      * @return Collection<int, AbsenceRetainedConfig>
  1235.      */
  1236.     public function getAbsenceRetainedConfigs(): Collection
  1237.     {
  1238.         return $this->absenceRetainedConfigs;
  1239.     }
  1240.     public function addAbsenceRetainedConfig(AbsenceRetainedConfig $absenceRetainedConfig): static
  1241.     {
  1242.         if (!$this->absenceRetainedConfigs->contains($absenceRetainedConfig)) {
  1243.             $this->absenceRetainedConfigs->add($absenceRetainedConfig);
  1244.             $absenceRetainedConfig->setSchool($this);
  1245.         }
  1246.         return $this;
  1247.     }
  1248.     public function removeAbsenceRetainedConfig(AbsenceRetainedConfig $absenceRetainedConfig): static
  1249.     {
  1250.         if ($this->absenceRetainedConfigs->removeElement($absenceRetainedConfig)) {
  1251.             // set the owning side to null (unless already changed)
  1252.             if ($absenceRetainedConfig->getSchool() === $this) {
  1253.                 $absenceRetainedConfig->setSchool(null);
  1254.             }
  1255.         }
  1256.         return $this;
  1257.     }
  1258.     /**
  1259.      * @return Collection<int, AbsenceWarningConfig>
  1260.      */
  1261.     public function getAbsenceWarningConfigs(): Collection
  1262.     {
  1263.         return $this->absenceWarningConfigs;
  1264.     }
  1265.     public function addAbsenceWarningConfig(AbsenceWarningConfig $absenceWarningConfig): static
  1266.     {
  1267.         if (!$this->absenceWarningConfigs->contains($absenceWarningConfig)) {
  1268.             $this->absenceWarningConfigs->add($absenceWarningConfig);
  1269.             $absenceWarningConfig->setSchool($this);
  1270.         }
  1271.         return $this;
  1272.     }
  1273.     public function removeAbsenceWarningConfig(AbsenceWarningConfig $absenceWarningConfig): static
  1274.     {
  1275.         if ($this->absenceWarningConfigs->removeElement($absenceWarningConfig)) {
  1276.             // set the owning side to null (unless already changed)
  1277.             if ($absenceWarningConfig->getSchool() === $this) {
  1278.                 $absenceWarningConfig->setSchool(null);
  1279.             }
  1280.         }
  1281.         return $this;
  1282.     }
  1283.     /**
  1284.      * @return Collection<int, AbsenceExclusionConfig>
  1285.      */
  1286.     public function getAbsenceExclusionConfigs(): Collection
  1287.     {
  1288.         return $this->absenceExclusionConfigs;
  1289.     }
  1290.     public function addAbsenceExclusionConfig(AbsenceExclusionConfig $absenceExclusionConfig): static
  1291.     {
  1292.         if (!$this->absenceExclusionConfigs->contains($absenceExclusionConfig)) {
  1293.             $this->absenceExclusionConfigs->add($absenceExclusionConfig);
  1294.             $absenceExclusionConfig->setSchool($this);
  1295.         }
  1296.         return $this;
  1297.     }
  1298.     public function removeAbsenceExclusionConfig(AbsenceExclusionConfig $absenceExclusionConfig): static
  1299.     {
  1300.         if ($this->absenceExclusionConfigs->removeElement($absenceExclusionConfig)) {
  1301.             // set the owning side to null (unless already changed)
  1302.             if ($absenceExclusionConfig->getSchool() === $this) {
  1303.                 $absenceExclusionConfig->setSchool(null);
  1304.             }
  1305.         }
  1306.         return $this;
  1307.     }
  1308.     /**
  1309.      * @return Collection<int, AbsenceBlameConfig>
  1310.      */
  1311.     public function getAbsenceBlameConfigs(): Collection
  1312.     {
  1313.         return $this->absenceBlameConfigs;
  1314.     }
  1315.     public function addAbsenceBlameConfig(AbsenceBlameConfig $absenceBlameConfig): static
  1316.     {
  1317.         if (!$this->absenceBlameConfigs->contains($absenceBlameConfig)) {
  1318.             $this->absenceBlameConfigs->add($absenceBlameConfig);
  1319.             $absenceBlameConfig->setSchool($this);
  1320.         }
  1321.         return $this;
  1322.     }
  1323.     public function removeAbsenceBlameConfig(AbsenceBlameConfig $absenceBlameConfig): static
  1324.     {
  1325.         if ($this->absenceBlameConfigs->removeElement($absenceBlameConfig)) {
  1326.             // set the owning side to null (unless already changed)
  1327.             if ($absenceBlameConfig->getSchool() === $this) {
  1328.                 $absenceBlameConfig->setSchool(null);
  1329.             }
  1330.         }
  1331.         return $this;
  1332.     }
  1333.     /**
  1334.      * @return Collection<int, DisciplineRetained>
  1335.      */
  1336.     public function getDisciplineRetaineds(): Collection
  1337.     {
  1338.         return $this->disciplineRetaineds;
  1339.     }
  1340.     public function addDisciplineRetained(DisciplineRetained $disciplineRetained): static
  1341.     {
  1342.         if (!$this->disciplineRetaineds->contains($disciplineRetained)) {
  1343.             $this->disciplineRetaineds->add($disciplineRetained);
  1344.             $disciplineRetained->setSchool($this);
  1345.         }
  1346.         return $this;
  1347.     }
  1348.     public function removeDisciplineRetained(DisciplineRetained $disciplineRetained): static
  1349.     {
  1350.         if ($this->disciplineRetaineds->removeElement($disciplineRetained)) {
  1351.             // set the owning side to null (unless already changed)
  1352.             if ($disciplineRetained->getSchool() === $this) {
  1353.                 $disciplineRetained->setSchool(null);
  1354.             }
  1355.         }
  1356.         return $this;
  1357.     }
  1358.     /**
  1359.      * @return Collection<int, DefinitiveExclusion>
  1360.      */
  1361.     public function getDefinitiveExclusions(): Collection
  1362.     {
  1363.         return $this->definitiveExclusions;
  1364.     }
  1365.     public function addDefinitiveExclusion(DefinitiveExclusion $definitiveExclusion): static
  1366.     {
  1367.         if (!$this->definitiveExclusions->contains($definitiveExclusion)) {
  1368.             $this->definitiveExclusions->add($definitiveExclusion);
  1369.             $definitiveExclusion->setSchool($this);
  1370.         }
  1371.         return $this;
  1372.     }
  1373.     public function removeDefinitiveExclusion(DefinitiveExclusion $definitiveExclusion): static
  1374.     {
  1375.         if ($this->definitiveExclusions->removeElement($definitiveExclusion)) {
  1376.             // set the owning side to null (unless already changed)
  1377.             if ($definitiveExclusion->getSchool() === $this) {
  1378.                 $definitiveExclusion->setSchool(null);
  1379.             }
  1380.         }
  1381.         return $this;
  1382.     }
  1383.     /**
  1384.      * @return Collection<int, DisciplineConcile>
  1385.      */
  1386.     public function getDisciplineConciles(): Collection
  1387.     {
  1388.         return $this->disciplineConciles;
  1389.     }
  1390.     public function addDisciplineConcile(DisciplineConcile $disciplineConcile): static
  1391.     {
  1392.         if (!$this->disciplineConciles->contains($disciplineConcile)) {
  1393.             $this->disciplineConciles->add($disciplineConcile);
  1394.             $disciplineConcile->setSchool($this);
  1395.         }
  1396.         return $this;
  1397.     }
  1398.     public function removeDisciplineConcile(DisciplineConcile $disciplineConcile): static
  1399.     {
  1400.         if ($this->disciplineConciles->removeElement($disciplineConcile)) {
  1401.             // set the owning side to null (unless already changed)
  1402.             if ($disciplineConcile->getSchool() === $this) {
  1403.                 $disciplineConcile->setSchool(null);
  1404.             }
  1405.         }
  1406.         return $this;
  1407.     }
  1408.     /**
  1409.      * @return Collection<int, RetainedDisciplineConcileConfig>
  1410.      */
  1411.     public function getRetainedDisciplineConcileConfigs(): Collection
  1412.     {
  1413.         return $this->retainedDisciplineConcileConfigs;
  1414.     }
  1415.     public function addRetainedDisciplineConcileConfig(RetainedDisciplineConcileConfig $retainedDisciplineConcileConfig): static
  1416.     {
  1417.         if (!$this->retainedDisciplineConcileConfigs->contains($retainedDisciplineConcileConfig)) {
  1418.             $this->retainedDisciplineConcileConfigs->add($retainedDisciplineConcileConfig);
  1419.             $retainedDisciplineConcileConfig->setSchool($this);
  1420.         }
  1421.         return $this;
  1422.     }
  1423.     public function removeRetainedDisciplineConcileConfig(RetainedDisciplineConcileConfig $retainedDisciplineConcileConfig): static
  1424.     {
  1425.         if ($this->retainedDisciplineConcileConfigs->removeElement($retainedDisciplineConcileConfig)) {
  1426.             // set the owning side to null (unless already changed)
  1427.             if ($retainedDisciplineConcileConfig->getSchool() === $this) {
  1428.                 $retainedDisciplineConcileConfig->setSchool(null);
  1429.             }
  1430.         }
  1431.         return $this;
  1432.     }
  1433.     /**
  1434.      * @return Collection<int, RetainedBlameConfig>
  1435.      */
  1436.     public function getRetainedBlameConfigs(): Collection
  1437.     {
  1438.         return $this->retainedBlameConfigs;
  1439.     }
  1440.     public function addRetainedBlameConfig(RetainedBlameConfig $retainedBlameConfig): static
  1441.     {
  1442.         if (!$this->retainedBlameConfigs->contains($retainedBlameConfig)) {
  1443.             $this->retainedBlameConfigs->add($retainedBlameConfig);
  1444.             $retainedBlameConfig->setSchool($this);
  1445.         }
  1446.         return $this;
  1447.     }
  1448.     public function removeRetainedBlameConfig(RetainedBlameConfig $retainedBlameConfig): static
  1449.     {
  1450.         if ($this->retainedBlameConfigs->removeElement($retainedBlameConfig)) {
  1451.             // set the owning side to null (unless already changed)
  1452.             if ($retainedBlameConfig->getSchool() === $this) {
  1453.                 $retainedBlameConfig->setSchool(null);
  1454.             }
  1455.         }
  1456.         return $this;
  1457.     }
  1458.     /**
  1459.      * @return Collection<int, RetainedWarningConfig>
  1460.      */
  1461.     public function getRetainedWarningConfigs(): Collection
  1462.     {
  1463.         return $this->retainedWarningConfigs;
  1464.     }
  1465.     public function addRetainedWarningConfig(RetainedWarningConfig $retainedWarningConfig): static
  1466.     {
  1467.         if (!$this->retainedWarningConfigs->contains($retainedWarningConfig)) {
  1468.             $this->retainedWarningConfigs->add($retainedWarningConfig);
  1469.             $retainedWarningConfig->setSchool($this);
  1470.         }
  1471.         return $this;
  1472.     }
  1473.     public function removeRetainedWarningConfig(RetainedWarningConfig $retainedWarningConfig): static
  1474.     {
  1475.         if ($this->retainedWarningConfigs->removeElement($retainedWarningConfig)) {
  1476.             // set the owning side to null (unless already changed)
  1477.             if ($retainedWarningConfig->getSchool() === $this) {
  1478.                 $retainedWarningConfig->setSchool(null);
  1479.             }
  1480.         }
  1481.         return $this;
  1482.     }
  1483.     /**
  1484.      * @return Collection<int, RetainedDefinitiveExclusionConfig>
  1485.      */
  1486.     public function getRetainedDefinitiveExclusionConfigs(): Collection
  1487.     {
  1488.         return $this->retainedDefinitiveExclusionConfigs;
  1489.     }
  1490.     public function addRetainedDefinitiveExclusionConfig(RetainedDefinitiveExclusionConfig $retainedDefinitiveExclusionConfig): static
  1491.     {
  1492.         if (!$this->retainedDefinitiveExclusionConfigs->contains($retainedDefinitiveExclusionConfig)) {
  1493.             $this->retainedDefinitiveExclusionConfigs->add($retainedDefinitiveExclusionConfig);
  1494.             $retainedDefinitiveExclusionConfig->setSchool($this);
  1495.         }
  1496.         return $this;
  1497.     }
  1498.     public function removeRetainedDefinitiveExclusionConfig(RetainedDefinitiveExclusionConfig $retainedDefinitiveExclusionConfig): static
  1499.     {
  1500.         if ($this->retainedDefinitiveExclusionConfigs->removeElement($retainedDefinitiveExclusionConfig)) {
  1501.             // set the owning side to null (unless already changed)
  1502.             if ($retainedDefinitiveExclusionConfig->getSchool() === $this) {
  1503.                 $retainedDefinitiveExclusionConfig->setSchool(null);
  1504.             }
  1505.         }
  1506.         return $this;
  1507.     }
  1508.     /**
  1509.      * @return Collection<int, BlameDefinitiveExclusionConfig>
  1510.      */
  1511.     public function getBlameDefinitiveExclusionConfigs(): Collection
  1512.     {
  1513.         return $this->blameDefinitiveExclusionConfigs;
  1514.     }
  1515.     public function addBlameDefinitiveExclusionConfig(BlameDefinitiveExclusionConfig $blameDefinitiveExclusionConfig): static
  1516.     {
  1517.         if (!$this->blameDefinitiveExclusionConfigs->contains($blameDefinitiveExclusionConfig)) {
  1518.             $this->blameDefinitiveExclusionConfigs->add($blameDefinitiveExclusionConfig);
  1519.             $blameDefinitiveExclusionConfig->setSchool($this);
  1520.         }
  1521.         return $this;
  1522.     }
  1523.     public function removeBlameDefinitiveExclusionConfig(BlameDefinitiveExclusionConfig $blameDefinitiveExclusionConfig): static
  1524.     {
  1525.         if ($this->blameDefinitiveExclusionConfigs->removeElement($blameDefinitiveExclusionConfig)) {
  1526.             // set the owning side to null (unless already changed)
  1527.             if ($blameDefinitiveExclusionConfig->getSchool() === $this) {
  1528.                 $blameDefinitiveExclusionConfig->setSchool(null);
  1529.             }
  1530.         }
  1531.         return $this;
  1532.     }
  1533.     /**
  1534.      * @return Collection<int, BlameExclusionConfig>
  1535.      */
  1536.     public function getBlameExclusionConfigs(): Collection
  1537.     {
  1538.         return $this->blameExclusionConfigs;
  1539.     }
  1540.     public function addBlameExclusionConfig(BlameExclusionConfig $blameExclusionConfig): static
  1541.     {
  1542.         if (!$this->blameExclusionConfigs->contains($blameExclusionConfig)) {
  1543.             $this->blameExclusionConfigs->add($blameExclusionConfig);
  1544.             $blameExclusionConfig->setSchool($this);
  1545.         }
  1546.         return $this;
  1547.     }
  1548.     public function removeBlameExclusionConfig(BlameExclusionConfig $blameExclusionConfig): static
  1549.     {
  1550.         if ($this->blameExclusionConfigs->removeElement($blameExclusionConfig)) {
  1551.             // set the owning side to null (unless already changed)
  1552.             if ($blameExclusionConfig->getSchool() === $this) {
  1553.                 $blameExclusionConfig->setSchool(null);
  1554.             }
  1555.         }
  1556.         return $this;
  1557.     }
  1558.     /**
  1559.      * @return Collection<int, BlameWarningConfig>
  1560.      */
  1561.     public function getBlameWarningConfigs(): Collection
  1562.     {
  1563.         return $this->blameWarningConfigs;
  1564.     }
  1565.     public function addBlameWarningConfig(BlameWarningConfig $blameWarningConfig): static
  1566.     {
  1567.         if (!$this->blameWarningConfigs->contains($blameWarningConfig)) {
  1568.             $this->blameWarningConfigs->add($blameWarningConfig);
  1569.             $blameWarningConfig->setSchool($this);
  1570.         }
  1571.         return $this;
  1572.     }
  1573.     public function removeBlameWarningConfig(BlameWarningConfig $blameWarningConfig): static
  1574.     {
  1575.         if ($this->blameWarningConfigs->removeElement($blameWarningConfig)) {
  1576.             // set the owning side to null (unless already changed)
  1577.             if ($blameWarningConfig->getSchool() === $this) {
  1578.                 $blameWarningConfig->setSchool(null);
  1579.             }
  1580.         }
  1581.         return $this;
  1582.     }
  1583.     /**
  1584.      * @return Collection<int, BlameRetainedConfig>
  1585.      */
  1586.     public function getBlameRetainedConfigs(): Collection
  1587.     {
  1588.         return $this->blameRetainedConfigs;
  1589.     }
  1590.     public function addBlameRetainedConfig(BlameRetainedConfig $blameRetainedConfig): static
  1591.     {
  1592.         if (!$this->blameRetainedConfigs->contains($blameRetainedConfig)) {
  1593.             $this->blameRetainedConfigs->add($blameRetainedConfig);
  1594.             $blameRetainedConfig->setSchool($this);
  1595.         }
  1596.         return $this;
  1597.     }
  1598.     public function removeBlameRetainedConfig(BlameRetainedConfig $blameRetainedConfig): static
  1599.     {
  1600.         if ($this->blameRetainedConfigs->removeElement($blameRetainedConfig)) {
  1601.             // set the owning side to null (unless already changed)
  1602.             if ($blameRetainedConfig->getSchool() === $this) {
  1603.                 $blameRetainedConfig->setSchool(null);
  1604.             }
  1605.         }
  1606.         return $this;
  1607.     }
  1608.     /**
  1609.      * @return Collection<int, BlameDisciplineConcileConfig>
  1610.      */
  1611.     public function getBlameDisciplineConcileConfigs(): Collection
  1612.     {
  1613.         return $this->blameDisciplineConcileConfigs;
  1614.     }
  1615.     public function addBlameDisciplineConcileConfig(BlameDisciplineConcileConfig $blameDisciplineConcileConfig): static
  1616.     {
  1617.         if (!$this->blameDisciplineConcileConfigs->contains($blameDisciplineConcileConfig)) {
  1618.             $this->blameDisciplineConcileConfigs->add($blameDisciplineConcileConfig);
  1619.             $blameDisciplineConcileConfig->setSchool($this);
  1620.         }
  1621.         return $this;
  1622.     }
  1623.     public function removeBlameDisciplineConcileConfig(BlameDisciplineConcileConfig $blameDisciplineConcileConfig): static
  1624.     {
  1625.         if ($this->blameDisciplineConcileConfigs->removeElement($blameDisciplineConcileConfig)) {
  1626.             // set the owning side to null (unless already changed)
  1627.             if ($blameDisciplineConcileConfig->getSchool() === $this) {
  1628.                 $blameDisciplineConcileConfig->setSchool(null);
  1629.             }
  1630.         }
  1631.         return $this;
  1632.     }
  1633.     /**
  1634.      * @return Collection<int, RetainedExclusionConfig>
  1635.      */
  1636.     public function getRetainedExclusionConfigs(): Collection
  1637.     {
  1638.         return $this->retainedExclusionConfigs;
  1639.     }
  1640.     public function addRetainedExclusionConfig(RetainedExclusionConfig $retainedExclusionConfig): static
  1641.     {
  1642.         if (!$this->retainedExclusionConfigs->contains($retainedExclusionConfig)) {
  1643.             $this->retainedExclusionConfigs->add($retainedExclusionConfig);
  1644.             $retainedExclusionConfig->setSchool($this);
  1645.         }
  1646.         return $this;
  1647.     }
  1648.     public function removeRetainedExclusionConfig(RetainedExclusionConfig $retainedExclusionConfig): static
  1649.     {
  1650.         if ($this->retainedExclusionConfigs->removeElement($retainedExclusionConfig)) {
  1651.             // set the owning side to null (unless already changed)
  1652.             if ($retainedExclusionConfig->getSchool() === $this) {
  1653.                 $retainedExclusionConfig->setSchool(null);
  1654.             }
  1655.         }
  1656.         return $this;
  1657.     }
  1658.     /**
  1659.      * @return Collection<int, WarningExclusionConfig>
  1660.      */
  1661.     public function getWarningExclusionConfigs(): Collection
  1662.     {
  1663.         return $this->warningExclusionConfigs;
  1664.     }
  1665.     public function addWarningExclusionConfig(WarningExclusionConfig $warningExclusionConfig): static
  1666.     {
  1667.         if (!$this->warningExclusionConfigs->contains($warningExclusionConfig)) {
  1668.             $this->warningExclusionConfigs->add($warningExclusionConfig);
  1669.             $warningExclusionConfig->setSchool($this);
  1670.         }
  1671.         return $this;
  1672.     }
  1673.     public function removeWarningExclusionConfig(WarningExclusionConfig $warningExclusionConfig): static
  1674.     {
  1675.         if ($this->warningExclusionConfigs->removeElement($warningExclusionConfig)) {
  1676.             // set the owning side to null (unless already changed)
  1677.             if ($warningExclusionConfig->getSchool() === $this) {
  1678.                 $warningExclusionConfig->setSchool(null);
  1679.             }
  1680.         }
  1681.         return $this;
  1682.     }
  1683.     /**
  1684.      * @return Collection<int, WarningDefinitiveExclusionConfig>
  1685.      */
  1686.     public function getWarningDefinitiveExclusionConfigs(): Collection
  1687.     {
  1688.         return $this->warningDefinitiveExclusionConfigs;
  1689.     }
  1690.     public function addWarningDefinitiveExclusionConfig(WarningDefinitiveExclusionConfig $warningDefinitiveExclusionConfig): static
  1691.     {
  1692.         if (!$this->warningDefinitiveExclusionConfigs->contains($warningDefinitiveExclusionConfig)) {
  1693.             $this->warningDefinitiveExclusionConfigs->add($warningDefinitiveExclusionConfig);
  1694.             $warningDefinitiveExclusionConfig->setSchool($this);
  1695.         }
  1696.         return $this;
  1697.     }
  1698.     public function removeWarningDefinitiveExclusionConfig(WarningDefinitiveExclusionConfig $warningDefinitiveExclusionConfig): static
  1699.     {
  1700.         if ($this->warningDefinitiveExclusionConfigs->removeElement($warningDefinitiveExclusionConfig)) {
  1701.             // set the owning side to null (unless already changed)
  1702.             if ($warningDefinitiveExclusionConfig->getSchool() === $this) {
  1703.                 $warningDefinitiveExclusionConfig->setSchool(null);
  1704.             }
  1705.         }
  1706.         return $this;
  1707.     }
  1708.     public function getType(): ?int
  1709.     {
  1710.         return $this->type;
  1711.     }
  1712.     public function setType(?int $type): static
  1713.     {
  1714.         $this->type $type;
  1715.         return $this;
  1716.     }
  1717.     public function isSecondaire(): bool
  1718.     {
  1719.         return $this->type === null || $this->type === self::TYPE_SECONDAIRE;
  1720.     }
  1721.     public function isPrimaryOrKindergarten(): bool
  1722.     {
  1723.         return in_array($this->type, [self::TYPE_PRIMAIREself::TYPE_MATERNELLE], true);
  1724.     }
  1725.     /**
  1726.      * Type effectif de l'école — secondaire par défaut si jamais défini
  1727.      * (toute école existante avant School::$type). Centralise la même
  1728.      * convention que isSecondaire()/isPrimaryOrKindergarten() pour le code
  1729.      * qui a besoin de la valeur exacte (ex: CycleLevelRepository::findBySchoolType()).
  1730.      */
  1731.     public function getEffectiveType(): int
  1732.     {
  1733.         return $this->type ?? self::TYPE_SECONDAIRE;
  1734.     }
  1735.     public function getEnglishName(): ?string
  1736.     {
  1737.         return $this->englishName;
  1738.     }
  1739.     public function setEnglishName(?string $englishName): static
  1740.     {
  1741.         $this->englishName $englishName;
  1742.         return $this;
  1743.     }
  1744.     public function getLangage(): ?int
  1745.     {
  1746.         return $this->langage;
  1747.     }
  1748.     public function setLangage(?int $langage): static
  1749.     {
  1750.         $this->langage $langage;
  1751.         return $this;
  1752.     }
  1753.     /**
  1754.      * @return Collection<int, PrimaryParentNote>
  1755.      */
  1756.     public function getPrimaryParentNotes(): Collection
  1757.     {
  1758.         return $this->primaryParentNotes;
  1759.     }
  1760.     public function addPrimaryParentNote(PrimaryParentNote $primaryParentNote): static
  1761.     {
  1762.         if (!$this->primaryParentNotes->contains($primaryParentNote)) {
  1763.             $this->primaryParentNotes->add($primaryParentNote);
  1764.             $primaryParentNote->setSchool($this);
  1765.         }
  1766.         return $this;
  1767.     }
  1768.     public function removePrimaryParentNote(PrimaryParentNote $primaryParentNote): static
  1769.     {
  1770.         if ($this->primaryParentNotes->removeElement($primaryParentNote)) {
  1771.             // set the owning side to null (unless already changed)
  1772.             if ($primaryParentNote->getSchool() === $this) {
  1773.                 $primaryParentNote->setSchool(null);
  1774.             }
  1775.         }
  1776.         return $this;
  1777.     }
  1778.     /**
  1779.      * @return Collection<int, PrimaryNote>
  1780.      */
  1781.     public function getPrimaryNotes(): Collection
  1782.     {
  1783.         return $this->primaryNotes;
  1784.     }
  1785.     public function addPrimaryNote(PrimaryNote $primaryNote): static
  1786.     {
  1787.         if (!$this->primaryNotes->contains($primaryNote)) {
  1788.             $this->primaryNotes->add($primaryNote);
  1789.             $primaryNote->setSchool($this);
  1790.         }
  1791.         return $this;
  1792.     }
  1793.     public function removePrimaryNote(PrimaryNote $primaryNote): static
  1794.     {
  1795.         if ($this->primaryNotes->removeElement($primaryNote)) {
  1796.             // set the owning side to null (unless already changed)
  1797.             if ($primaryNote->getSchool() === $this) {
  1798.                 $primaryNote->setSchool(null);
  1799.             }
  1800.         }
  1801.         return $this;
  1802.     }
  1803.     /**
  1804.      * @return Collection<int, VerbalProcessCategory>
  1805.      */
  1806.     public function getVerbalProcessCategories(): Collection
  1807.     {
  1808.         return $this->verbalProcessCategories;
  1809.     }
  1810.     public function addVerbalProcessCategory(VerbalProcessCategory $verbalProcessCategory): static
  1811.     {
  1812.         if (!$this->verbalProcessCategories->contains($verbalProcessCategory)) {
  1813.             $this->verbalProcessCategories->add($verbalProcessCategory);
  1814.             $verbalProcessCategory->setSchool($this);
  1815.         }
  1816.         return $this;
  1817.     }
  1818.     public function removeVerbalProcessCategory(VerbalProcessCategory $verbalProcessCategory): static
  1819.     {
  1820.         if ($this->verbalProcessCategories->removeElement($verbalProcessCategory)) {
  1821.             // set the owning side to null (unless already changed)
  1822.             if ($verbalProcessCategory->getSchool() === $this) {
  1823.                 $verbalProcessCategory->setSchool(null);
  1824.             }
  1825.         }
  1826.         return $this;
  1827.     }
  1828.     /**
  1829.      * @return Collection<int, GlobalDisciplineConfig>
  1830.      */
  1831.     public function getGlobalDisciplineConfigs(): Collection
  1832.     {
  1833.         return $this->globalDisciplineConfigs;
  1834.     }
  1835.     public function addGlobalDisciplineConfig(GlobalDisciplineConfig $globalDisciplineConfig): static
  1836.     {
  1837.         if (!$this->globalDisciplineConfigs->contains($globalDisciplineConfig)) {
  1838.             $this->globalDisciplineConfigs->add($globalDisciplineConfig);
  1839.             $globalDisciplineConfig->setSchool($this);
  1840.         }
  1841.         return $this;
  1842.     }
  1843.     public function removeGlobalDisciplineConfig(GlobalDisciplineConfig $globalDisciplineConfig): static
  1844.     {
  1845.         if ($this->globalDisciplineConfigs->removeElement($globalDisciplineConfig)) {
  1846.             // set the owning side to null (unless already changed)
  1847.             if ($globalDisciplineConfig->getSchool() === $this) {
  1848.                 $globalDisciplineConfig->setSchool(null);
  1849.             }
  1850.         }
  1851.         return $this;
  1852.     }
  1853.     /**
  1854.      * @return Collection<int, DisciplinePunish>
  1855.      */
  1856.     public function getDisciplinePunishes(): Collection
  1857.     {
  1858.         return $this->disciplinePunishes;
  1859.     }
  1860.     public function addDisciplinePunish(DisciplinePunish $disciplinePunish): static
  1861.     {
  1862.         if (!$this->disciplinePunishes->contains($disciplinePunish)) {
  1863.             $this->disciplinePunishes->add($disciplinePunish);
  1864.             $disciplinePunish->setSchool($this);
  1865.         }
  1866.         return $this;
  1867.     }
  1868.     public function removeDisciplinePunish(DisciplinePunish $disciplinePunish): static
  1869.     {
  1870.         if ($this->disciplinePunishes->removeElement($disciplinePunish)) {
  1871.             // set the owning side to null (unless already changed)
  1872.             if ($disciplinePunish->getSchool() === $this) {
  1873.                 $disciplinePunish->setSchool(null);
  1874.             }
  1875.         }
  1876.         return $this;
  1877.     }
  1878.     /**
  1879.      * @return Collection<int, GlobalDisciplineEnabledConfig>
  1880.      */
  1881.     public function getGlobalDisciplineEnabledConfigs(): Collection
  1882.     {
  1883.         return $this->globalDisciplineEnabledConfigs;
  1884.     }
  1885.     public function addGlobalDisciplineEnabledConfig(GlobalDisciplineEnabledConfig $globalDisciplineEnabledConfig): static
  1886.     {
  1887.         if (!$this->globalDisciplineEnabledConfigs->contains($globalDisciplineEnabledConfig)) {
  1888.             $this->globalDisciplineEnabledConfigs->add($globalDisciplineEnabledConfig);
  1889.             $globalDisciplineEnabledConfig->setSchool($this);
  1890.         }
  1891.         return $this;
  1892.     }
  1893.     public function removeGlobalDisciplineEnabledConfig(GlobalDisciplineEnabledConfig $globalDisciplineEnabledConfig): static
  1894.     {
  1895.         if ($this->globalDisciplineEnabledConfigs->removeElement($globalDisciplineEnabledConfig)) {
  1896.             // set the owning side to null (unless already changed)
  1897.             if ($globalDisciplineEnabledConfig->getSchool() === $this) {
  1898.                 $globalDisciplineEnabledConfig->setSchool(null);
  1899.             }
  1900.         }
  1901.         return $this;
  1902.     }
  1903.     /**
  1904.      * @return Collection<int, BlamePunishConfig>
  1905.      */
  1906.     public function getBlamePunishConfigs(): Collection
  1907.     {
  1908.         return $this->blamePunishConfigs;
  1909.     }
  1910.     public function addBlamePunishConfig(BlamePunishConfig $blamePunishConfig): static
  1911.     {
  1912.         if (!$this->blamePunishConfigs->contains($blamePunishConfig)) {
  1913.             $this->blamePunishConfigs->add($blamePunishConfig);
  1914.             $blamePunishConfig->setSchool($this);
  1915.         }
  1916.         return $this;
  1917.     }
  1918.     public function removeBlamePunishConfig(BlamePunishConfig $blamePunishConfig): static
  1919.     {
  1920.         if ($this->blamePunishConfigs->removeElement($blamePunishConfig)) {
  1921.             // set the owning side to null (unless already changed)
  1922.             if ($blamePunishConfig->getSchool() === $this) {
  1923.                 $blamePunishConfig->setSchool(null);
  1924.             }
  1925.         }
  1926.         return $this;
  1927.     }
  1928.     /**
  1929.      * @return Collection<int, AbsencePunishConfig>
  1930.      */
  1931.     public function getAbsencePunishConfigs(): Collection
  1932.     {
  1933.         return $this->absencePunishConfigs;
  1934.     }
  1935.     public function addAbsencePunishConfig(AbsencePunishConfig $absencePunishConfig): static
  1936.     {
  1937.         if (!$this->absencePunishConfigs->contains($absencePunishConfig)) {
  1938.             $this->absencePunishConfigs->add($absencePunishConfig);
  1939.             $absencePunishConfig->setSchool($this);
  1940.         }
  1941.         return $this;
  1942.     }
  1943.     public function removeAbsencePunishConfig(AbsencePunishConfig $absencePunishConfig): static
  1944.     {
  1945.         if ($this->absencePunishConfigs->removeElement($absencePunishConfig)) {
  1946.             // set the owning side to null (unless already changed)
  1947.             if ($absencePunishConfig->getSchool() === $this) {
  1948.                 $absencePunishConfig->setSchool(null);
  1949.             }
  1950.         }
  1951.         return $this;
  1952.     }
  1953.     /**
  1954.      * @return Collection<int, WarningPunishConfig>
  1955.      */
  1956.     public function getWarningPunishConfigs(): Collection
  1957.     {
  1958.         return $this->warningPunishConfigs;
  1959.     }
  1960.     public function addWarningPunishConfig(WarningPunishConfig $warningPunishConfig): static
  1961.     {
  1962.         if (!$this->warningPunishConfigs->contains($warningPunishConfig)) {
  1963.             $this->warningPunishConfigs->add($warningPunishConfig);
  1964.             $warningPunishConfig->setSchool($this);
  1965.         }
  1966.         return $this;
  1967.     }
  1968.     public function removeWarningPunishConfig(WarningPunishConfig $warningPunishConfig): static
  1969.     {
  1970.         if ($this->warningPunishConfigs->removeElement($warningPunishConfig)) {
  1971.             // set the owning side to null (unless already changed)
  1972.             if ($warningPunishConfig->getSchool() === $this) {
  1973.                 $warningPunishConfig->setSchool(null);
  1974.             }
  1975.         }
  1976.         return $this;
  1977.     }
  1978.     /**
  1979.      * @return Collection<int, PunishRetainedConfig>
  1980.      */
  1981.     public function getPunishRetainedConfigs(): Collection
  1982.     {
  1983.         return $this->punishRetainedConfigs;
  1984.     }
  1985.     public function addPunishRetainedConfig(PunishRetainedConfig $punishRetainedConfig): static
  1986.     {
  1987.         if (!$this->punishRetainedConfigs->contains($punishRetainedConfig)) {
  1988.             $this->punishRetainedConfigs->add($punishRetainedConfig);
  1989.             $punishRetainedConfig->setSchool($this);
  1990.         }
  1991.         return $this;
  1992.     }
  1993.     public function removePunishRetainedConfig(PunishRetainedConfig $punishRetainedConfig): static
  1994.     {
  1995.         if ($this->punishRetainedConfigs->removeElement($punishRetainedConfig)) {
  1996.             // set the owning side to null (unless already changed)
  1997.             if ($punishRetainedConfig->getSchool() === $this) {
  1998.                 $punishRetainedConfig->setSchool(null);
  1999.             }
  2000.         }
  2001.         return $this;
  2002.     }
  2003.     /**
  2004.      * @return Collection<int, PunishWarningConfig>
  2005.      */
  2006.     public function getPunishWarningConfigs(): Collection
  2007.     {
  2008.         return $this->punishWarningConfigs;
  2009.     }
  2010.     public function addPunishWarningConfig(PunishWarningConfig $punishWarningConfig): static
  2011.     {
  2012.         if (!$this->punishWarningConfigs->contains($punishWarningConfig)) {
  2013.             $this->punishWarningConfigs->add($punishWarningConfig);
  2014.             $punishWarningConfig->setSchool($this);
  2015.         }
  2016.         return $this;
  2017.     }
  2018.     public function removePunishWarningConfig(PunishWarningConfig $punishWarningConfig): static
  2019.     {
  2020.         if ($this->punishWarningConfigs->removeElement($punishWarningConfig)) {
  2021.             // set the owning side to null (unless already changed)
  2022.             if ($punishWarningConfig->getSchool() === $this) {
  2023.                 $punishWarningConfig->setSchool(null);
  2024.             }
  2025.         }
  2026.         return $this;
  2027.     }
  2028.     /**
  2029.      * @return Collection<int, PunishBlameConfig>
  2030.      */
  2031.     public function getPunishBlameConfigs(): Collection
  2032.     {
  2033.         return $this->punishBlameConfigs;
  2034.     }
  2035.     public function addPunishBlameConfig(PunishBlameConfig $punishBlameConfig): static
  2036.     {
  2037.         if (!$this->punishBlameConfigs->contains($punishBlameConfig)) {
  2038.             $this->punishBlameConfigs->add($punishBlameConfig);
  2039.             $punishBlameConfig->setSchool($this);
  2040.         }
  2041.         return $this;
  2042.     }
  2043.     public function removePunishBlameConfig(PunishBlameConfig $punishBlameConfig): static
  2044.     {
  2045.         if ($this->punishBlameConfigs->removeElement($punishBlameConfig)) {
  2046.             // set the owning side to null (unless already changed)
  2047.             if ($punishBlameConfig->getSchool() === $this) {
  2048.                 $punishBlameConfig->setSchool(null);
  2049.             }
  2050.         }
  2051.         return $this;
  2052.     }
  2053.     /**
  2054.      * @return Collection<int, PunishExclusionConfig>
  2055.      */
  2056.     public function getPunishExclusionConfigs(): Collection
  2057.     {
  2058.         return $this->punishExclusionConfigs;
  2059.     }
  2060.     public function addPunishExclusionConfig(PunishExclusionConfig $punishExclusionConfig): static
  2061.     {
  2062.         if (!$this->punishExclusionConfigs->contains($punishExclusionConfig)) {
  2063.             $this->punishExclusionConfigs->add($punishExclusionConfig);
  2064.             $punishExclusionConfig->setSchool($this);
  2065.         }
  2066.         return $this;
  2067.     }
  2068.     public function removePunishExclusionConfig(PunishExclusionConfig $punishExclusionConfig): static
  2069.     {
  2070.         if ($this->punishExclusionConfigs->removeElement($punishExclusionConfig)) {
  2071.             // set the owning side to null (unless already changed)
  2072.             if ($punishExclusionConfig->getSchool() === $this) {
  2073.                 $punishExclusionConfig->setSchool(null);
  2074.             }
  2075.         }
  2076.         return $this;
  2077.     }
  2078.     public function getNameEn(): ?string
  2079.     {
  2080.         return $this->nameEn;
  2081.     }
  2082.     public function setNameEn(?string $nameEn): static
  2083.     {
  2084.         $this->nameEn $nameEn;
  2085.         return $this;
  2086.     }
  2087.     /**
  2088.      * @return Collection<int, UserIphoneToken>
  2089.      */
  2090.     public function getUserIphoneTokens(): Collection
  2091.     {
  2092.         return $this->userIphoneTokens;
  2093.     }
  2094.     public function addUserIphoneToken(UserIphoneToken $userIphoneToken): static
  2095.     {
  2096.         if (!$this->userIphoneTokens->contains($userIphoneToken)) {
  2097.             $this->userIphoneTokens->add($userIphoneToken);
  2098.             $userIphoneToken->setSchool($this);
  2099.         }
  2100.         return $this;
  2101.     }
  2102.     public function removeUserIphoneToken(UserIphoneToken $userIphoneToken): static
  2103.     {
  2104.         if ($this->userIphoneTokens->removeElement($userIphoneToken)) {
  2105.             // set the owning side to null (unless already changed)
  2106.             if ($userIphoneToken->getSchool() === $this) {
  2107.                 $userIphoneToken->setSchool(null);
  2108.             }
  2109.         }
  2110.         return $this;
  2111.     }
  2112.     /**
  2113.      * @return Collection<int, UserAndroidToken>
  2114.      */
  2115.     public function getUserAndroidTokens(): Collection
  2116.     {
  2117.         return $this->userAndroidTokens;
  2118.     }
  2119.     public function addUserAndroidToken(UserAndroidToken $userAndroidToken): static
  2120.     {
  2121.         if (!$this->userAndroidTokens->contains($userAndroidToken)) {
  2122.             $this->userAndroidTokens->add($userAndroidToken);
  2123.             $userAndroidToken->setSchool($this);
  2124.         }
  2125.         return $this;
  2126.     }
  2127.     public function removeUserAndroidToken(UserAndroidToken $userAndroidToken): static
  2128.     {
  2129.         if ($this->userAndroidTokens->removeElement($userAndroidToken)) {
  2130.             // set the owning side to null (unless already changed)
  2131.             if ($userAndroidToken->getSchool() === $this) {
  2132.                 $userAndroidToken->setSchool(null);
  2133.             }
  2134.         }
  2135.         return $this;
  2136.     }
  2137.     /**
  2138.      * @return Collection<int, NewsCategory>
  2139.      */
  2140.     public function getNewsCategories(): Collection
  2141.     {
  2142.         return $this->newsCategories;
  2143.     }
  2144.     public function addNewsCategory(NewsCategory $newsCategory): static
  2145.     {
  2146.         if (!$this->newsCategories->contains($newsCategory)) {
  2147.             $this->newsCategories->add($newsCategory);
  2148.             $newsCategory->setSchool($this);
  2149.         }
  2150.         return $this;
  2151.     }
  2152.     public function removeNewsCategory(NewsCategory $newsCategory): static
  2153.     {
  2154.         if ($this->newsCategories->removeElement($newsCategory)) {
  2155.             // set the owning side to null (unless already changed)
  2156.             if ($newsCategory->getSchool() === $this) {
  2157.                 $newsCategory->setSchool(null);
  2158.             }
  2159.         }
  2160.         return $this;
  2161.     }
  2162.     /**
  2163.      * @return Collection<int, Blame>
  2164.      */
  2165.     public function getBlames(): Collection
  2166.     {
  2167.         return $this->blames;
  2168.     }
  2169.     public function addBlame(Blame $blame): static
  2170.     {
  2171.         if (!$this->blames->contains($blame)) {
  2172.             $this->blames->add($blame);
  2173.             $blame->setSchool($this);
  2174.         }
  2175.         return $this;
  2176.     }
  2177.     public function removeBlame(Blame $blame): static
  2178.     {
  2179.         if ($this->blames->removeElement($blame)) {
  2180.             // set the owning side to null (unless already changed)
  2181.             if ($blame->getSchool() === $this) {
  2182.                 $blame->setSchool(null);
  2183.             }
  2184.         }
  2185.         return $this;
  2186.     }
  2187.     /**
  2188.      * @return Collection<int, Warning>
  2189.      */
  2190.     public function getWarnings(): Collection
  2191.     {
  2192.         return $this->warnings;
  2193.     }
  2194.     public function addWarning(Warning $warning): static
  2195.     {
  2196.         if (!$this->warnings->contains($warning)) {
  2197.             $this->warnings->add($warning);
  2198.             $warning->setSchool($this);
  2199.         }
  2200.         return $this;
  2201.     }
  2202.     public function removeWarning(Warning $warning): static
  2203.     {
  2204.         if ($this->warnings->removeElement($warning)) {
  2205.             // set the owning side to null (unless already changed)
  2206.             if ($warning->getSchool() === $this) {
  2207.                 $warning->setSchool(null);
  2208.             }
  2209.         }
  2210.         return $this;
  2211.     }
  2212.     /**
  2213.      * @return Collection<int, Retained>
  2214.      */
  2215.     public function getRetaineds(): Collection
  2216.     {
  2217.         return $this->retaineds;
  2218.     }
  2219.     public function addRetained(Retained $retained): static
  2220.     {
  2221.         if (!$this->retaineds->contains($retained)) {
  2222.             $this->retaineds->add($retained);
  2223.             $retained->setSchool($this);
  2224.         }
  2225.         return $this;
  2226.     }
  2227.     public function removeRetained(Retained $retained): static
  2228.     {
  2229.         if ($this->retaineds->removeElement($retained)) {
  2230.             // set the owning side to null (unless already changed)
  2231.             if ($retained->getSchool() === $this) {
  2232.                 $retained->setSchool(null);
  2233.             }
  2234.         }
  2235.         return $this;
  2236.     }
  2237.     public function getCity(): ?string
  2238.     {
  2239.         return $this->city;
  2240.     }
  2241.     public function setCity(?string $city): static
  2242.     {
  2243.         $this->city $city;
  2244.         return $this;
  2245.     }
  2246.     public function getPhone1(): ?string
  2247.     {
  2248.         return $this->phone1;
  2249.     }
  2250.     public function setPhone1(?string $phone1): static
  2251.     {
  2252.         $this->phone1 $phone1;
  2253.         return $this;
  2254.     }
  2255.     public function getPhone2(): ?string
  2256.     {
  2257.         return $this->phone2;
  2258.     }
  2259.     public function setPhone2(?string $phone2): static
  2260.     {
  2261.         $this->phone2 $phone2;
  2262.         return $this;
  2263.     }
  2264.     public function getBox(): ?string
  2265.     {
  2266.         return $this->box;
  2267.     }
  2268.     public function setBox(?string $box): static
  2269.     {
  2270.         $this->box $box;
  2271.         return $this;
  2272.     }
  2273.     /**
  2274.      * @return Collection<int, HonnorTableLimitMoy>
  2275.      */
  2276.     public function getHonnorTableLimitMoys(): Collection
  2277.     {
  2278.         return $this->honnorTableLimitMoys;
  2279.     }
  2280.     public function addHonnorTableLimitMoy(HonnorTableLimitMoy $honnorTableLimitMoy): static
  2281.     {
  2282.         if (!$this->honnorTableLimitMoys->contains($honnorTableLimitMoy)) {
  2283.             $this->honnorTableLimitMoys->add($honnorTableLimitMoy);
  2284.             $honnorTableLimitMoy->setSchool($this);
  2285.         }
  2286.         return $this;
  2287.     }
  2288.     public function removeHonnorTableLimitMoy(HonnorTableLimitMoy $honnorTableLimitMoy): static
  2289.     {
  2290.         if ($this->honnorTableLimitMoys->removeElement($honnorTableLimitMoy)) {
  2291.             // set the owning side to null (unless already changed)
  2292.             if ($honnorTableLimitMoy->getSchool() === $this) {
  2293.                 $honnorTableLimitMoy->setSchool(null);
  2294.             }
  2295.         }
  2296.         return $this;
  2297.     }
  2298.     /**
  2299.      * @return Collection<int, SchoolYearInfos>
  2300.      */
  2301.     public function getSchoolYearInfos(): Collection
  2302.     {
  2303.         return $this->schoolYearInfos;
  2304.     }
  2305.     public function addSchoolYearInfo(SchoolYearInfos $schoolYearInfo): static
  2306.     {
  2307.         if (!$this->schoolYearInfos->contains($schoolYearInfo)) {
  2308.             $this->schoolYearInfos->add($schoolYearInfo);
  2309.             $schoolYearInfo->setSchool($this);
  2310.         }
  2311.         return $this;
  2312.     }
  2313.     public function removeSchoolYearInfo(SchoolYearInfos $schoolYearInfo): static
  2314.     {
  2315.         if ($this->schoolYearInfos->removeElement($schoolYearInfo)) {
  2316.             // set the owning side to null (unless already changed)
  2317.             if ($schoolYearInfo->getSchool() === $this) {
  2318.                 $schoolYearInfo->setSchool(null);
  2319.             }
  2320.         }
  2321.         return $this;
  2322.     }
  2323.     /**
  2324.      * @return Collection<int, AdmissionLimit>
  2325.      */
  2326.     public function getAdmissionLimits(): Collection
  2327.     {
  2328.         return $this->admissionLimits;
  2329.     }
  2330.     public function addAdmissionLimit(AdmissionLimit $admissionLimit): static
  2331.     {
  2332.         if (!$this->admissionLimits->contains($admissionLimit)) {
  2333.             $this->admissionLimits->add($admissionLimit);
  2334.             $admissionLimit->setSchool($this);
  2335.         }
  2336.         return $this;
  2337.     }
  2338.     public function removeAdmissionLimit(AdmissionLimit $admissionLimit): static
  2339.     {
  2340.         if ($this->admissionLimits->removeElement($admissionLimit)) {
  2341.             // set the owning side to null (unless already changed)
  2342.             if ($admissionLimit->getSchool() === $this) {
  2343.                 $admissionLimit->setSchool(null);
  2344.             }
  2345.         }
  2346.         return $this;
  2347.     }
  2348.     public function getAgendaTimeConvertion(): ?AgendaTimeConvertion
  2349.     {
  2350.         return $this->agendaTimeConvertion;
  2351.     }
  2352.     public function setAgendaTimeConvertion(AgendaTimeConvertion $agendaTimeConvertion): static
  2353.     {
  2354.         // set the owning side of the relation if necessary
  2355.         if ($agendaTimeConvertion->getSchool() !== $this) {
  2356.             $agendaTimeConvertion->setSchool($this);
  2357.         }
  2358.         $this->agendaTimeConvertion $agendaTimeConvertion;
  2359.         return $this;
  2360.     }
  2361.     /**
  2362.      * @return Collection<int, Competence>
  2363.      */
  2364.     public function getCompetences(): Collection
  2365.     {
  2366.         return $this->competences;
  2367.     }
  2368.     public function addCompetence(Competence $competence): static
  2369.     {
  2370.         if (!$this->competences->contains($competence)) {
  2371.             $this->competences->add($competence);
  2372.             $competence->setSchool($this);
  2373.         }
  2374.         return $this;
  2375.     }
  2376.     public function removeCompetence(Competence $competence): static
  2377.     {
  2378.         if ($this->competences->removeElement($competence)) {
  2379.             // set the owning side to null (unless already changed)
  2380.             if ($competence->getSchool() === $this) {
  2381.                 $competence->setSchool(null);
  2382.             }
  2383.         }
  2384.         return $this;
  2385.     }
  2386.     /**
  2387.      * @return Collection<int, WeekSubjectGoal>
  2388.      */
  2389.     public function getWeekSubjectGoals(): Collection
  2390.     {
  2391.         return $this->weekSubjectGoals;
  2392.     }
  2393.     public function addWeekSubjectGoal(WeekSubjectGoal $weekSubjectGoal): static
  2394.     {
  2395.         if (!$this->weekSubjectGoals->contains($weekSubjectGoal)) {
  2396.             $this->weekSubjectGoals->add($weekSubjectGoal);
  2397.             $weekSubjectGoal->setSchool($this);
  2398.         }
  2399.         return $this;
  2400.     }
  2401.     public function removeWeekSubjectGoal(WeekSubjectGoal $weekSubjectGoal): static
  2402.     {
  2403.         if ($this->weekSubjectGoals->removeElement($weekSubjectGoal)) {
  2404.             // set the owning side to null (unless already changed)
  2405.             if ($weekSubjectGoal->getSchool() === $this) {
  2406.                 $weekSubjectGoal->setSchool(null);
  2407.             }
  2408.         }
  2409.         return $this;
  2410.     }
  2411.     /**
  2412.      * @return Collection<int, ProfSchoolPlanner>
  2413.      */
  2414.     public function getProfSchoolPlanners(): Collection
  2415.     {
  2416.         return $this->profSchoolPlanners;
  2417.     }
  2418.     public function addProfSchoolPlanner(ProfSchoolPlanner $profSchoolPlanner): static
  2419.     {
  2420.         if (!$this->profSchoolPlanners->contains($profSchoolPlanner)) {
  2421.             $this->profSchoolPlanners->add($profSchoolPlanner);
  2422.             $profSchoolPlanner->setSchool($this);
  2423.         }
  2424.         return $this;
  2425.     }
  2426.     public function removeProfSchoolPlanner(ProfSchoolPlanner $profSchoolPlanner): static
  2427.     {
  2428.         if ($this->profSchoolPlanners->removeElement($profSchoolPlanner)) {
  2429.             // set the owning side to null (unless already changed)
  2430.             if ($profSchoolPlanner->getSchool() === $this) {
  2431.                 $profSchoolPlanner->setSchool(null);
  2432.             }
  2433.         }
  2434.         return $this;
  2435.     }
  2436.     /**
  2437.      * @return Collection<int, ProfTime>
  2438.      */
  2439.     public function getProfTimes(): Collection
  2440.     {
  2441.         return $this->profTimes;
  2442.     }
  2443.     public function addProfTime(ProfTime $profTime): static
  2444.     {
  2445.         if (!$this->profTimes->contains($profTime)) {
  2446.             $this->profTimes->add($profTime);
  2447.             $profTime->setSchool($this);
  2448.         }
  2449.         return $this;
  2450.     }
  2451.     public function removeProfTime(ProfTime $profTime): static
  2452.     {
  2453.         if ($this->profTimes->removeElement($profTime)) {
  2454.             // set the owning side to null (unless already changed)
  2455.             if ($profTime->getSchool() === $this) {
  2456.                 $profTime->setSchool(null);
  2457.             }
  2458.         }
  2459.         return $this;
  2460.     }
  2461.     /**
  2462.      * @return Collection<int, SchoolPlannerType>
  2463.      */
  2464.     public function getSchoolPlannerTypes(): Collection
  2465.     {
  2466.         return $this->schoolPlannerTypes;
  2467.     }
  2468.     public function addSchoolPlannerType(SchoolPlannerType $schoolPlannerType): static
  2469.     {
  2470.         if (!$this->schoolPlannerTypes->contains($schoolPlannerType)) {
  2471.             $this->schoolPlannerTypes->add($schoolPlannerType);
  2472.             $schoolPlannerType->setSchool($this);
  2473.         }
  2474.         return $this;
  2475.     }
  2476.     public function removeSchoolPlannerType(SchoolPlannerType $schoolPlannerType): static
  2477.     {
  2478.         if ($this->schoolPlannerTypes->removeElement($schoolPlannerType)) {
  2479.             // set the owning side to null (unless already changed)
  2480.             if ($schoolPlannerType->getSchool() === $this) {
  2481.                 $schoolPlannerType->setSchool(null);
  2482.             }
  2483.         }
  2484.         return $this;
  2485.     }
  2486.     /**
  2487.      * @return Collection<int, AgendaElement>
  2488.      */
  2489.     public function getAgendaElements(): Collection
  2490.     {
  2491.         return $this->agendaElements;
  2492.     }
  2493.     public function addAgendaElement(AgendaElement $agendaElement): static
  2494.     {
  2495.         if (!$this->agendaElements->contains($agendaElement)) {
  2496.             $this->agendaElements->add($agendaElement);
  2497.             $agendaElement->setSchool($this);
  2498.         }
  2499.         return $this;
  2500.     }
  2501.     public function removeAgendaElement(AgendaElement $agendaElement): static
  2502.     {
  2503.         if ($this->agendaElements->removeElement($agendaElement)) {
  2504.             // set the owning side to null (unless already changed)
  2505.             if ($agendaElement->getSchool() === $this) {
  2506.                 $agendaElement->setSchool(null);
  2507.             }
  2508.         }
  2509.         return $this;
  2510.     }
  2511.     public function getLogo(): ?string
  2512.     {
  2513.         return $this->logo;
  2514.     }
  2515.     public function setLogo(?string $logo): static
  2516.     {
  2517.         $this->logo $logo;
  2518.         return $this;
  2519.     }
  2520.     /**
  2521.      * @return Collection<int, GlobalSchoolBreak>
  2522.      */
  2523.     public function getGlobalSchoolBreaks(): Collection
  2524.     {
  2525.         return $this->globalSchoolBreaks;
  2526.     }
  2527.     public function addGlobalSchoolBreak(GlobalSchoolBreak $globalSchoolBreak): static
  2528.     {
  2529.         if (!$this->globalSchoolBreaks->contains($globalSchoolBreak)) {
  2530.             $this->globalSchoolBreaks->add($globalSchoolBreak);
  2531.             $globalSchoolBreak->setSchool($this);
  2532.         }
  2533.         return $this;
  2534.     }
  2535.     public function removeGlobalSchoolBreak(GlobalSchoolBreak $globalSchoolBreak): static
  2536.     {
  2537.         if ($this->globalSchoolBreaks->removeElement($globalSchoolBreak)) {
  2538.             // set the owning side to null (unless already changed)
  2539.             if ($globalSchoolBreak->getSchool() === $this) {
  2540.                 $globalSchoolBreak->setSchool(null);
  2541.             }
  2542.         }
  2543.         return $this;
  2544.     }
  2545.     /**
  2546.      * @return Collection<int, TeacherAbsence>
  2547.      */
  2548.     public function getTeacherAbsences(): Collection
  2549.     {
  2550.         return $this->teacherAbsences;
  2551.     }
  2552.     public function addTeacherAbsence(TeacherAbsence $teacherAbsence): static
  2553.     {
  2554.         if (!$this->teacherAbsences->contains($teacherAbsence)) {
  2555.             $this->teacherAbsences->add($teacherAbsence);
  2556.             $teacherAbsence->setSchool($this);
  2557.         }
  2558.         return $this;
  2559.     }
  2560.     public function removeTeacherAbsence(TeacherAbsence $teacherAbsence): static
  2561.     {
  2562.         if ($this->teacherAbsences->removeElement($teacherAbsence)) {
  2563.             // set the owning side to null (unless already changed)
  2564.             if ($teacherAbsence->getSchool() === $this) {
  2565.                 $teacherAbsence->setSchool(null);
  2566.             }
  2567.         }
  2568.         return $this;
  2569.     }
  2570.     /**
  2571.      * @return Collection<int, AttendanceMissed>
  2572.      */
  2573.     public function getAttendanceMisseds(): Collection
  2574.     {
  2575.         return $this->attendanceMisseds;
  2576.     }
  2577.     public function addAttendanceMissed(AttendanceMissed $attendanceMissed): static
  2578.     {
  2579.         if (!$this->attendanceMisseds->contains($attendanceMissed)) {
  2580.             $this->attendanceMisseds->add($attendanceMissed);
  2581.             $attendanceMissed->setSchool($this);
  2582.         }
  2583.         return $this;
  2584.     }
  2585.     public function removeAttendanceMissed(AttendanceMissed $attendanceMissed): static
  2586.     {
  2587.         if ($this->attendanceMisseds->removeElement($attendanceMissed)) {
  2588.             // set the owning side to null (unless already changed)
  2589.             if ($attendanceMissed->getSchool() === $this) {
  2590.                 $attendanceMissed->setSchool(null);
  2591.             }
  2592.         }
  2593.         return $this;
  2594.     }
  2595.     /**
  2596.      * @return Collection<int, GeneralBreak>
  2597.      */
  2598.     public function getGeneralBreaks(): Collection
  2599.     {
  2600.         return $this->generalBreaks;
  2601.     }
  2602.     public function addGeneralBreak(GeneralBreak $generalBreak): static
  2603.     {
  2604.         if (!$this->generalBreaks->contains($generalBreak)) {
  2605.             $this->generalBreaks->add($generalBreak);
  2606.             $generalBreak->setSchool($this);
  2607.         }
  2608.         return $this;
  2609.     }
  2610.     public function removeGeneralBreak(GeneralBreak $generalBreak): static
  2611.     {
  2612.         if ($this->generalBreaks->removeElement($generalBreak)) {
  2613.             // set the owning side to null (unless already changed)
  2614.             if ($generalBreak->getSchool() === $this) {
  2615.                 $generalBreak->setSchool(null);
  2616.             }
  2617.         }
  2618.         return $this;
  2619.     }
  2620.     public function getRegion(): ?Region
  2621.     {
  2622.         return $this->region;
  2623.     }
  2624.     public function setRegion(?Region $region): static
  2625.     {
  2626.         $this->region $region;
  2627.         return $this;
  2628.     }
  2629.     public function getDepartment(): ?Department
  2630.     {
  2631.         return $this->department;
  2632.     }
  2633.     public function setDepartment(?Department $department): static
  2634.     {
  2635.         $this->department $department;
  2636.         return $this;
  2637.     }
  2638. }