<?php
namespace App\Entity;
use App\Repository\AppelRepository;
use Doctrine\Persistence\ObjectManagerAware;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=AppelRepository::class)
*/
class Appel implements ObjectManagerAware
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Apprenant::class, inversedBy="appels")
* @ORM\JoinColumn(name="id_apprenant", referencedColumnName="id")
*/
private $apprenant;
/**
* @ORM\ManyToOne(targetEntity=AppelSujet::class, inversedBy="appels")
* @ORM\JoinColumn(name="sujet", referencedColumnName="id")
*/
private $sujet;
/**
* @ORM\Column(type="string", length=1024, nullable=true)
*/
private $details;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $date;
/**
* @ORM\ManyToOne(targetEntity=Utilisateur::class, inversedBy="appels")
* @ORM\JoinColumn(name="agent", referencedColumnName="id")
*/
private $agent;
/**
* @ORM\ManyToOne(targetEntity=AppelStatut::class, inversedBy="appels")
* @ORM\JoinColumn(name="statut", referencedColumnName="id")
*/
private $statut;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $type;
/**
* @ORM\ManyToOne(targetEntity=Tache::class, inversedBy="appels")
* @ORM\JoinColumn(name="id_tache", referencedColumnName="id")
*/
private $tache;
/**
* @ORM\Column(type="integer")
*/
private $brouillon;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $qualification;
/**
* @ORM\Column(name="technical_issues", type="text", nullable=true, options={"comment":"Technical issues"})
*/
private $technical_issues;
/**
* @ORM\Column(name="points_discussed", type="text", nullable=true, options={"comment":"Points discussed"})
*/
private $points_discussed;
/**
* @ORM\Column(name="assignment", type="text", nullable=true, options={"comment":"Assignment"})
*/
private $assignment;
/**
* @ORM\Column(name="rate_session", type="integer", nullable=true, options={"comment":"Rate the session"})
*/
private $rate_session;
/**
* Init Object Manager
*/
private $em;
/**
* @ORM\OneToOne(targetEntity=Incident::class, cascade={"persist", "remove"})
*/
private $incident;
/**
* Initialiser ObjectManager pour qu'on puisse utiliser Reporistory dans l'entity
*
* @param ObjectManager $objectManager
* @param ClassMetadata $classMetadata
* @return void
*/
public function injectObjectManager(\Doctrine\Persistence\ObjectManager $objectManager, ClassMetadata $classMetadata = null)
{
$this->em = $objectManager;
}
public function getId(): ?int
{
return $this->id;
}
public function getApprenant(): ?Apprenant
{
return $this->apprenant;
}
public function setApprenant(?Apprenant $apprenant): self
{
$this->apprenant = $apprenant;
return $this;
}
public function getSujet(): ?AppelSujet
{
return $this->sujet;
}
public function setSujet(?AppelSujet $sujet): self
{
$this->sujet = $sujet;
return $this;
}
public function getDetails(): ?string
{
return $this->details;
}
public function setDetails(?string $details): self
{
$this->details = $details;
return $this;
}
public function getDate(): ?string
{
return $this->date;
}
public function setDate(?string $date): self
{
$this->date = $date;
return $this;
}
public function getAgent(): ?Utilisateur
{
return $this->agent;
}
public function setAgent(?Utilisateur $agent): self
{
$this->agent = $agent;
return $this;
}
public function getStatut(): ?AppelStatut
{
return $this->statut;
}
public function setStatut(?AppelStatut $statut): self
{
$this->statut = $statut;
return $this;
}
public function getType(): ?int
{
return $this->type;
}
public function setType(?int $type): self
{
$this->type = $type;
return $this;
}
public function getTache(): ?Tache
{
return $this->tache;
}
public function setTache(?Tache $tache): self
{
$this->tache = $tache;
return $this;
}
public function getBrouillon(): ?int
{
return $this->brouillon;
}
public function setBrouillon(int $brouillon): self
{
$this->brouillon = $brouillon;
return $this;
}
public function getQualification(): ?int
{
return $this->qualification;
}
public function setQualification(?int $qualification): self
{
$this->qualification = $qualification;
return $this;
}
public function getTechnicalIssues(): ?string
{
return $this->technical_issues;
}
public function setTechnicalIssues(?string $technical_issues): self
{
$this->technical_issues = $technical_issues;
return $this;
}
public function getPointsDiscussed(): ?string
{
return $this->points_discussed;
}
public function setPointsDiscussed(?string $points_discussed): self
{
$this->points_discussed = $points_discussed;
return $this;
}
public function getAssignment(): ?string
{
return $this->assignment;
}
public function setAssignment(?string $assignment): self
{
$this->assignment = $assignment;
return $this;
}
public function getRateSession(): ?int
{
return $this->rate_session;
}
public function setRateSession(?int $rate_session): self
{
$this->rate_session = $rate_session;
return $this;
}
public function getRdv()
{
$rdv = $this->em->getRepository(Rdv::class)->findOneByAppel($this);
return $rdv;
}
public function getIncident(): ?Incident
{
return $this->incident;
}
public function setIncident(?Incident $incident): self
{
$this->incident = $incident;
return $this;
}
}