src/Entity/CompetenceReference.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\Timestampable;
  4. use App\Repository\CompetenceReferenceRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * Compétence du programme national (créée par le super-admin), rattachée à un
  8.  * SubjectReference. `quarterNumber` (1, 2 ou 3) situe la compétence dans
  9.  * l'année scolaire de façon abstraite — un SubjectReference n'est pas
  10.  * rattaché à une école donc pas à un Quarter concret ; la conversion
  11.  * "trimestre N → Quarter réel d'une école" se fait au moment de la copie
  12.  * (voir CompetenceCopier), en ordonnant les Quarter de l'année par id ASC.
  13.  *
  14.  * Copiée vers Competence (locale, par école) à la création d'un Subject issu
  15.  * de ce SubjectReference, uniquement pour les classes en système d'évaluation
  16.  * "par compétence" — cf. CompetenceCopier, calqué sur SubjectLessonCopier.
  17.  */
  18. #[ORM\HasLifecycleCallbacks]
  19. #[ORM\Entity(repositoryClassCompetenceReferenceRepository::class)]
  20. class CompetenceReference
  21. {
  22.     use Timestampable;
  23.     #[ORM\Id]
  24.     #[ORM\GeneratedValue]
  25.     #[ORM\Column]
  26.     private ?int $id null;
  27.     #[ORM\ManyToOne(inversedBy'competenceReferences')]
  28.     #[ORM\JoinColumn(nullablefalse)]
  29.     private ?SubjectReference $subjectReference null;
  30.     #[ORM\Column]
  31.     private ?int $quarterNumber null;
  32.     #[ORM\Column(type'text')]
  33.     private ?string $content null;
  34.     /**
  35.      * Ordre d'affichage parmi les compétences du même trimestre.
  36.      */
  37.     #[ORM\Column]
  38.     private ?int $position null;
  39.     #[ORM\ManyToOne]
  40.     private ?User $author null;
  41.     public function __toString(): string
  42.     {
  43.         return $this->content ?? '';
  44.     }
  45.     public function getId(): ?int
  46.     {
  47.         return $this->id;
  48.     }
  49.     public function getSubjectReference(): ?SubjectReference
  50.     {
  51.         return $this->subjectReference;
  52.     }
  53.     public function setSubjectReference(?SubjectReference $subjectReference): static
  54.     {
  55.         $this->subjectReference $subjectReference;
  56.         return $this;
  57.     }
  58.     public function getQuarterNumber(): ?int
  59.     {
  60.         return $this->quarterNumber;
  61.     }
  62.     public function setQuarterNumber(int $quarterNumber): static
  63.     {
  64.         $this->quarterNumber $quarterNumber;
  65.         return $this;
  66.     }
  67.     public function getContent(): ?string
  68.     {
  69.         return $this->content;
  70.     }
  71.     public function setContent(string $content): static
  72.     {
  73.         $this->content $content;
  74.         return $this;
  75.     }
  76.     public function getPosition(): ?int
  77.     {
  78.         return $this->position;
  79.     }
  80.     public function setPosition(int $position): static
  81.     {
  82.         $this->position $position;
  83.         return $this;
  84.     }
  85.     public function getAuthor(): ?User
  86.     {
  87.         return $this->author;
  88.     }
  89.     public function setAuthor(?User $author): static
  90.     {
  91.         $this->author $author;
  92.         return $this;
  93.     }
  94. }