src/Entity/SessionSalon.php line 27

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: maxime
  5.  * Date: 2019-04-16
  6.  * Time: 19:56
  7.  */
  8. namespace App\Entity;
  9. namespace App\Entity;
  10. use Doctrine\Common\Collections\ArrayCollection;
  11. use Doctrine\Common\Collections\Collection;
  12. use Doctrine\ORM\Mapping as ORM;
  13. use App\Entity\Salon;
  14. use App\Entity\Intervenant;
  15. use Symfony\Component\Serializer\Annotation\Groups;
  16. use App\Repository\SessionSalonRepository;
  17. /**
  18.  * Salon
  19.  *
  20.  * @ORM\Table(name="session_salon")
  21.  * @ORM\Entity(repositoryClass=SessionSalonRepository::class)
  22.  */
  23. class SessionSalon
  24. {
  25.     /**
  26.      * @var int
  27.      * @Groups("rdv")
  28.      * @ORM\Column(name="id", type="integer", nullable=false)
  29.      * @ORM\Id
  30.      * @ORM\GeneratedValue(strategy="IDENTITY")
  31.      */
  32.     private $id;
  33.     const STATUS_PLANIFIER 'plan';
  34.     const STATUS_MODIFIER 'modifier';
  35.     const STATUS_INDISPONIBLE 'indisponible';
  36.     const STATUS_EVENT 'event';
  37.     /**
  38.      * @Groups("rdv")
  39.      * @ORM\ManyToOne(targetEntity=Salon::class, inversedBy="session", cascade={"persist"})
  40.      * @ORM\JoinColumn(name="salon_id", referencedColumnName="id")
  41.      *
  42.      */
  43.     protected $salon;
  44.     /**
  45.      * @ORM\ManyToOne(targetEntity=Intervenant::class, inversedBy="session", cascade={"persist"})
  46.      * @ORM\JoinColumn(name="intervenant_id", referencedColumnName="id")
  47.      *
  48.      */
  49.     protected $intervenant;
  50.     /**
  51.      * @Groups("rdv")
  52.      * @var string|null
  53.      *
  54.      * @ORM\Column(name="start", type="datetime", nullable=true)
  55.      */
  56.     private $start;
  57.     /**
  58.      * @Groups("rdv")
  59.      * @var string|null
  60.      *
  61.      * @ORM\Column(name="end", type="datetime", nullable=true)
  62.      */
  63.     private $end;
  64.     /**
  65.      * @var string|null
  66.      *
  67.      * @ORM\Column(name="comment", type="text", nullable=true)
  68.      */
  69.     private $comment;
  70.     /**
  71.      * @var string|null
  72.      *
  73.      * @ORM\Column(name="horaires", type="text", nullable=true)
  74.      */
  75.     private $horaire;
  76.     /**
  77.      * @var string|null
  78.      * @Groups("rdv")
  79.      * @ORM\Column(name="status", type="string", nullable=true)
  80.      */
  81.     private $status self::STATUS_PLANIFIER;
  82.     /**
  83.      * @ORM\Column(type="boolean", nullable=true)
  84.      */
  85.     private $actionArealiser;
  86.     /**
  87.      * @ORM\Column(type="text", nullable=true)
  88.      */
  89.     private $observation;
  90.     /**
  91.      * @ORM\Column(type="datetime", nullable=true)
  92.      */
  93.     private $createdAt;
  94.     /**
  95.      * @ORM\OneToMany(targetEntity=LogPlanning::class, mappedBy="intervenantOld", cascade={"remove","persist"})
  96.      */
  97.     private $logPlannings;
  98.     /**
  99.      * @ORM\OneToMany(targetEntity=LogCancel::class, mappedBy="sessionSalon", cascade={"remove","persist"})
  100.      */
  101.     private $logCancels;
  102.     /**
  103.      * @ORM\OneToMany(targetEntity=LogPlanning::class, mappedBy="sessionSalon", cascade={"remove","persist"})
  104.      */
  105.     private $logPlanningsSession;
  106.     public function __construct()
  107.     {
  108.         $this->createdAt =  new \DateTime();
  109.         $this->logPlannings = new ArrayCollection();
  110.         $this->logCancels = new ArrayCollection();
  111.         $this->logPlanningsSession = new ArrayCollection();
  112.     }
  113.     public function __toString(){
  114.         return $this->getSalon() ? $this->getSalon()->getName() : (string) $this->getId();
  115.     }
  116.     /**
  117.      * @return int
  118.      */
  119.     public function getId(): int
  120.              {
  121.                  return $this->id;
  122.              }
  123.     /**
  124.      * @param int $id
  125.      */
  126.     public function setId(int $id): void
  127.              {
  128.                  $this->id $id;
  129.              }
  130.     /**
  131.      * @return mixed
  132.      */
  133.     public function getSalon()
  134.              {
  135.                  return $this->salon;
  136.              }
  137.     /**
  138.      * @param mixed $salon
  139.      */
  140.     public function setSalon($salon): void
  141.              {
  142.                  $this->salon $salon;
  143.              }
  144.     /**
  145.      * @return mixed
  146.      */
  147.     public function getIntervenant()
  148.              {
  149.                  return $this->intervenant;
  150.              }
  151.     /**
  152.      * @param mixed $intervenant
  153.      */
  154.     public function setIntervenant($intervenant): void
  155.              {
  156.                  $this->intervenant $intervenant;
  157.              }
  158.     /**
  159.      * @return \DateTime|null
  160.      */
  161.     public function getStart()
  162.              {
  163.                  return $this->start;
  164.              }
  165.     /**
  166.      * @param string|null $start
  167.      */
  168.     public function setStart($start): void
  169.              {
  170.                  $this->start $start;
  171.              }
  172.     /**
  173.      * @return string|null
  174.      */
  175.     public function getComment(): ?string
  176.              {
  177.                  return $this->comment;
  178.              }
  179.     /**
  180.      * @param string|null $comment
  181.      */
  182.     public function setComment(?string $comment): void
  183.              {
  184.                  $this->comment $comment;
  185.              }
  186.     /**
  187.      * @return string|null
  188.      */
  189.     public function getStatus(): ?string
  190.              {
  191.                  return $this->status;
  192.              }
  193.     /**
  194.      * @param string|null $status
  195.      */
  196.     public function setStatus(?string $status): void
  197.              {
  198.                  $this->status $status;
  199.              }
  200.     /**
  201.      * @return string|null
  202.      */
  203.     public function getHoraire(): ?string
  204.              {
  205.                  return $this->horaire;
  206.              }
  207.     /**
  208.      * @param string|null $horaire
  209.      */
  210.     public function setHoraire(?string $horaire): void
  211.              {
  212.                  $this->horaire $horaire;
  213.              }
  214.     /**
  215.      * @return string|null
  216.      */
  217.     public function getEnd()
  218.              {
  219.                  return $this->end;
  220.              }
  221.     /**
  222.      * @param string|null $end
  223.      */
  224.     public function setEnd($end): void
  225.              {
  226.                  $this->end $end;
  227.              }
  228.     public function getActionArealiser(): ?bool
  229.     {
  230.         return $this->actionArealiser;
  231.     }
  232.     public function setActionArealiser(?bool $actionArealiser): self
  233.     {
  234.         $this->actionArealiser $actionArealiser;
  235.         return $this;
  236.     }
  237.     /**
  238.      * @return mixed
  239.      */
  240.     public function getObservation()
  241.     {
  242.         return $this->observation;
  243.     }
  244.     /**
  245.      * @param mixed $observation
  246.      */
  247.     public function setObservation($observation): void
  248.     {
  249.         $this->observation $observation;
  250.     }
  251.     /**
  252.      * @return \DateTime
  253.      */
  254.     public function getCreatedAt(): \DateTime
  255.     {
  256.         return $this->createdAt;
  257.     }
  258.     /**
  259.      * @param \DateTime $createdAt
  260.      */
  261.     public function setCreatedAt(\DateTime $createdAt): void
  262.     {
  263.         $this->createdAt $createdAt;
  264.     }
  265.     /**
  266.      * @return Collection<int, LogPlanning>
  267.      */
  268.     public function getLogPlannings(): Collection
  269.     {
  270.         return $this->logPlannings;
  271.     }
  272.     public function addLogPlanning(LogPlanning $logPlanning): self
  273.     {
  274.         if (!$this->logPlannings->contains($logPlanning)) {
  275.             $this->logPlannings[] = $logPlanning;
  276.             $logPlanning->setIntervenantOld($this);
  277.         }
  278.         return $this;
  279.     }
  280.     public function removeLogPlanning(LogPlanning $logPlanning): self
  281.     {
  282.         if ($this->logPlannings->removeElement($logPlanning)) {
  283.             // set the owning side to null (unless already changed)
  284.             if ($logPlanning->getIntervenantOld() === $this) {
  285.                 $logPlanning->setIntervenantOld(null);
  286.             }
  287.         }
  288.         return $this;
  289.     }
  290.     /**
  291.      * @return Collection<int, LogPlanning>
  292.      */
  293.     public function getLogCancels(): Collection
  294.     {
  295.         return $this->logCancels;
  296.     }
  297.     public function addLogCancel(LogCancel $logCancel): self
  298.     {
  299.         if (!$this->logCancels->contains($logCancel)) {
  300.             $this->logCancels[] = $logCancel;
  301.             $logCancel->setIntervenantOld($this);
  302.         }
  303.         return $this;
  304.     }
  305.     public function removeLogCancel(LogCancel $logCancel): self
  306.     {
  307.         if ($this->logCancels->removeElement($logCancel)) {
  308.             // set the owning side to null (unless already changed)
  309.             if ($logCancel->getIntervenantOld() === $this) {
  310.                 $logCancel->setIntervenantOld(null);
  311.             }
  312.         }
  313.         return $this;
  314.     }
  315.     /**
  316.      * @return Collection|LogPlanning[]
  317.      */
  318.     public function getLogPlanningsSession(): Collection
  319.     {
  320.         return $this->logPlanningsSession;
  321.     }
  322.     public function addLogPlanningsSession(LogPlanning $logPlanning): self
  323.     {
  324.         if (!$this->logPlanningsSession->contains($logPlanning)) {
  325.             $this->logPlanningsSession[] = $logPlanning;
  326.             $logPlanning->setSessionSalon($this);
  327.         }
  328.         return $this;
  329.     }
  330.     public function removeLogPlanningsSession(LogPlanning $logPlanning): self
  331.     {
  332.         if ($this->logPlanningsSession->removeElement($logPlanning)) {
  333.             // set the owning side to null (unless already changed)
  334.             if ($logPlanning->getSessionSalon() === $this) {
  335.                 $logPlanning->setSessionSalon(null);
  336.             }
  337.         }
  338.         return $this;
  339.     }
  340. }