<?php
namespace App\Entity\Gestiform\Admin\Cursus;
use App\Entity\AbstractEntity;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Admin\Salle;
use App\Entity\Gestiform\Admin\Site;
use App\Entity\Gestiform\Formations\Catalogue\Theme\Theme;
use App\Entity\Gestiform\Formations\Dossier\Dossier;
use App\Entity\Gestiform\Users\Employe;
use App\Entity\Gestiform\Users\Personne;
use App\Repository\Gestiform\Admin\Cursus\EntretienRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=EntretienRepository::class)
*/
class Entretien extends AbstractEntity
{
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $observations = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $commentaire = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $compteRendu = null;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTime $start = null;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTime $end = null;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private bool $bureau = false;
/**
* @ORM\Column(type="boolean")
*/
private bool $statut = false;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private bool $virtuel = false;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private ?bool $concevoirFormation = false;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private ?bool $participerPedagogiques = false;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private ?bool $orienterStagiaires = false;
/**
* @ORM\Column(type="boolean",nullable=true)
*/
private bool $cvTheque = false;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTime $quand = null;
/**
* @ORM\ManyToOne(targetEntity=Site::class)
*/
private ?Site $site = null;
/**
* @ORM\ManyToOne(targetEntity=Salle::class)
*/
private ?Salle $salle = null;
/**
* @ORM\ManyToOne(targetEntity=Employe::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Employe $reoriente = null;
/**
* @ORM\ManyToOne(targetEntity=Employe::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Employe $examinateur = null;
/**
* @ORM\OneToMany(targetEntity=CursusReponses::class, mappedBy="entretien", orphanRemoval=true, cascade={"all"})
*/
private Collection $reponses;
/**
* @ORM\ManyToOne(targetEntity=Personne::class, inversedBy="entretiens")
* @ORM\JoinColumn(nullable=true)
*/
private ?Personne $personne = null;
/**
* @ORM\ManyToOne(targetEntity=Dossier::class, inversedBy="entretiens",cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Dossier $dossier = null;
/**
* @ORM\ManyToMany(targetEntity=Theme::class, cascade={"persist"})
*/
private Collection $themes;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $evaluationProfil = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $recontacte = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $appreciation = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $resultat = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $raisonResultat = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $motifRefus = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $admisEnAttente = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $objet = null;
/**
* @ORM\ManyToMany(targetEntity=Masterlistelg::class,cascade={"persist"})
*/
private Collection $typeAccompagnements;
public function __construct()
{
$this->reponses = new ArrayCollection();
$this->themes = new ArrayCollection();
$this->typeAccompagnements = new ArrayCollection();
}
public function getPersonne(): ?Personne
{
return $this->personne;
}
public function setPersonne(?Personne $personne): self
{
$this->personne = $personne;
return $this;
}
public function getDossier(): ?Dossier
{
return $this->dossier;
}
public function setDossier(?Dossier $dossier): self
{
$this->dossier = $dossier;
return $this;
}
public function getObservations(): ?string
{
return $this->observations;
}
public function setObservations(?string $observations): self
{
$this->observations = $observations;
return $this;
}
public function getCommentaire(): ?string
{
return $this->commentaire;
}
public function setCommentaire(?string $commentaire): self
{
$this->commentaire = $commentaire;
return $this;
}
public function isBureau(): ?bool
{
return $this->bureau;
}
public function setBureau(?bool $bureau): self
{
$this->bureau = $bureau;
return $this;
}
public function isStatut(): bool
{
return $this->statut;
}
public function setStatut(bool $statut): self
{
$this->statut = $statut;
return $this;
}
public function isCvTheque(): bool
{
return $this->cvTheque;
}
public function setCvTheque(bool $cvTheque): self
{
$this->cvTheque = $cvTheque;
return $this;
}
public function isVirtuel(): ?bool
{
return $this->virtuel;
}
public function setVirtuel(?bool $virtuel): self
{
$this->virtuel = $virtuel;
return $this;
}
public function getSite(): ?Site
{
return $this->site;
}
public function setSite(?Site $site): self
{
$this->site = $site;
return $this;
}
public function getSalle(): ?Salle
{
return $this->salle;
}
public function setSalle(?Salle $salle): self
{
$this->salle = $salle;
return $this;
}
public function getRecontacte(): ?Masterlistelg
{
return $this->recontacte;
}
public function setRecontacte(?Masterlistelg $recontacte): self
{
$this->recontacte = $recontacte;
return $this;
}
public function getReoriente(): ?Employe
{
return $this->reoriente;
}
public function setReoriente(?Employe $reoriente): self
{
$this->reoriente = $reoriente;
return $this;
}
public function getExaminateur(): ?Employe
{
return $this->examinateur;
}
public function setExaminateur(?Employe $examinateur): self
{
$this->examinateur = $examinateur;
return $this;
}
/**
* @return Collection<int, CursusReponses>
*/
public function getReponses(): Collection
{
return $this->reponses;
}
public function addReponse(CursusReponses $reponse): self
{
if (!$this->reponses->contains($reponse)) {
$this->reponses->add($reponse);
$reponse->setEntretien($this);
}
return $this;
}
public function removeReponse(CursusReponses $reponse): self
{
if ($this->reponses->removeElement($reponse)) {
// set the owning side to null (unless already changed)
if ($reponse->getEntretien() === $this) {
$reponse->setEntretien(null);
}
}
return $this;
}
public function getEvaluationProfil(): ?Masterlistelg
{
return $this->evaluationProfil;
}
public function setEvaluationProfil(?Masterlistelg $evaluationProfil): self
{
$this->evaluationProfil = $evaluationProfil;
return $this;
}
public function getAppreciation(): ?Masterlistelg
{
return $this->appreciation;
}
public function setAppreciation(?Masterlistelg $appreciation): self
{
$this->appreciation = $appreciation;
return $this;
}
public function getResultat(): ?Masterlistelg
{
return $this->resultat;
}
public function setResultat(?Masterlistelg $resultat): self
{
$this->resultat = $resultat;
return $this;
}
public function getRaisonResultat(): ?Masterlistelg
{
return $this->raisonResultat;
}
public function setRaisonResultat(?Masterlistelg $raisonResultat): self
{
$this->raisonResultat = $raisonResultat;
return $this;
}
/**
* @return Collection<int, Theme>
*/
public function getThemes(): Collection
{
return $this->themes;
}
public function addTheme(Theme $theme): self
{
if (!$this->themes->contains($theme)) {
$this->themes->add($theme);
}
return $this;
}
public function removeTheme(Theme $theme): self
{
$this->themes->removeElement($theme);
return $this;
}
/**
* @return Collection<int, Masterlistelg>
*/
public function getTypeAccompagnements(): Collection
{
return $this->typeAccompagnements;
}
public function addTypeAccompagnement(Masterlistelg $typeAccompagnement): self
{
if (!$this->typeAccompagnements->contains($typeAccompagnement)) {
$this->typeAccompagnements->add($typeAccompagnement);
}
return $this;
}
public function removeTypeAccompagnement(Masterlistelg $typeAccompagnement): self
{
$this->typeAccompagnements->removeElement($typeAccompagnement);
return $this;
}
public function getMotifRefus(): ?Masterlistelg
{
return $this->motifRefus;
}
public function setMotifRefus(?Masterlistelg $motifRefus): self
{
$this->motifRefus = $motifRefus;
return $this;
}
public function getQuand(): ?\DateTime
{
return $this->quand;
}
public function setQuand(?\DateTime $quand): self
{
$this->quand = $quand;
return $this;
}
public function getAdmisEnAttente(): ?Masterlistelg
{
return $this->admisEnAttente;
}
public function setAdmisEnAttente(?Masterlistelg $admisEnAttente): self
{
$this->admisEnAttente = $admisEnAttente;
return $this;
}
public function isConcevoirFormation(): ?bool
{
return $this->concevoirFormation;
}
public function setConcevoirFormation(?bool $concevoirFormation): self
{
$this->concevoirFormation = $concevoirFormation;
return $this;
}
public function isParticiperPedagogiques(): ?bool
{
return $this->participerPedagogiques;
}
public function setParticiperPedagogiques(?bool $participerPedagogiques): self
{
$this->participerPedagogiques = $participerPedagogiques;
return $this;
}
public function isOrienterStagiaires(): ?bool
{
return $this->orienterStagiaires;
}
public function setOrienterStagiaires(?bool $orienterStagiaires): self
{
$this->orienterStagiaires = $orienterStagiaires;
return $this;
}
public function getStart(): ?\DateTime
{
return $this->start;
}
public function setStart(?\DateTime $start): Entretien
{
$this->start = $start;
return $this;
}
public function getEnd(): ?\DateTime
{
return $this->end;
}
public function setEnd(?\DateTime $end): self
{
$this->end = $end;
return $this;
}
public function getObjet(): ?Masterlistelg
{
return $this->objet;
}
public function setObjet(?Masterlistelg $objet): self
{
$this->objet = $objet;
return $this;
}
public function getCompteRendu(): ?string
{
return $this->compteRendu;
}
public function setCompteRendu(?string $compteRendu): self
{
$this->compteRendu = $compteRendu;
return $this;
}
}