src/Entity/Gestiform/Formations/Catalogue/Module/ModuleCompetence.php line 20
<?php
namespace App\Entity\Gestiform\Formations\Catalogue\Module;
use App\Entity\AbstractEntity;
use App\Entity\Common\Document;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Formations\Catalogue\Competence;
use App\Entity\Gestiform\Quiz\Quiz;
use App\Repository\Gestiform\Formations\Catalogue\Module\ModuleCompetenceRepository;
use App\Entity\Trait\SortableEntity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
#[ORM\Entity(repositoryClass: ModuleCompetenceRepository::class)]
class ModuleCompetence extends AbstractEntity
{
use SortableEntity;
#[ORM\JoinColumn(nullable: false)]
#[ORM\ManyToOne(targetEntity: Competence::class, inversedBy: 'moduleCompetences')]
private Competence $competence;
/**
* @Gedmo\SortableGroup()
*/
#[ORM\JoinColumn(nullable: false)]
#[ORM\ManyToOne(targetEntity: Module::class, cascade: ['persist'], inversedBy: 'moduleCompetences')]
private Module $module;
#[ORM\Column(type: 'text', length: 255, nullable: true)]
private ?string $modaliteEvaluations = null;
#[ORM\Column(type: 'integer', nullable: true)]
private ?int $duree = null;
#[ORM\JoinTable(name: 'module_competence_procede_evaluations')]
#[ORM\JoinColumn(name: 'module_competence_competence_id', referencedColumnName: 'id')]
#[ORM\InverseJoinColumn(name: 'masterlistelg_id', referencedColumnName: 'id')]
#[ORM\ManyToMany(targetEntity: Masterlistelg::class, cascade: ['persist'])]
private Collection $procedeEvaluations;
#[ORM\OneToMany(mappedBy: 'moduleCompetence', targetEntity: Document::class, cascade: ['persist'])]
private Collection $documents;
#[ORM\JoinColumn(nullable: true)]
#[ORM\ManyToOne(targetEntity: Quiz::class, cascade: ['persist'])]
private ?Quiz $quiz=null;
public function __construct()
{
$this->procedeEvaluations = new ArrayCollection();
$this->documents = new ArrayCollection();
}
public function getCompetence(): ?Competence
{
return $this->competence;
}
public function setCompetence(?Competence $competence): self
{
$this->competence = $competence;
return $this;
}
public function getModule(): ?Module
{
return $this->module;
}
public function setModule(?Module $module): self
{
$this->module = $module;
return $this;
}
public function getModaliteEvaluations(): ?string
{
return $this->modaliteEvaluations;
}
public function setModaliteEvaluations(?string $modaliteEvaluations): self
{
$this->modaliteEvaluations = $modaliteEvaluations;
return $this;
}
public function getDuree(): ?int
{
return $this->duree;
}
public function setDuree(?int $duree): self
{
$this->duree = $duree;
return $this;
}
/**
* @return Collection<int, Masterlistelg>
*/
public function getProcedeEvaluations(): Collection
{
return $this->procedeEvaluations;
}
public function addProcedeEvaluation(Masterlistelg $procedeEvaluation): self
{
if (!$this->procedeEvaluations->contains($procedeEvaluation)) {
$this->procedeEvaluations->add($procedeEvaluation);
}
return $this;
}
public function removeProcedeEvaluation(Masterlistelg $procedeEvaluation): self
{
$this->procedeEvaluations->removeElement($procedeEvaluation);
return $this;
}
/**
* @return Collection<int, Document>
*/
public function getDocuments(): Collection
{
return $this->documents;
}
public function addDocument(Document $document): self
{
if (!$this->documents->contains($document)) {
$this->documents->add($document);
$document->setModuleCompetence($this);
}
return $this;
}
public function removeDocument(Document $document): self
{
// set the owning side to null (unless already changed)
if ($this->documents->removeElement($document) && $document->getModuleCompetence() === $this) {
$document->setModuleCompetence(null);
}
return $this;
}
public function getQuiz(): ?Quiz
{
return $this->quiz;
}
public function setQuiz(?Quiz $quiz): self
{
$this->quiz = $quiz;
return $this;
}
}