src\Entity\Formation.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * @ORM\Entity(repositoryClass="App\Repository\FormationRepository")
  8.  */
  9. class Formation
  10. {
  11.     /**
  12.      * @ORM\Id()
  13.      * @ORM\GeneratedValue()
  14.      * @ORM\Column(type="integer")
  15.      */
  16.     private $id;
  17.     /**
  18.      * @ORM\Column(type="string", length=255)
  19.      */
  20.     private $titre;
  21.     /**
  22.      * @ORM\Column(type="text", nullable=true)
  23.      */
  24.     private $description;
  25.     /**
  26.      * @ORM\Column(type="float", nullable=true)
  27.      */
  28.     private $prix;
  29.     /**
  30.      * @ORM\Column(type="string", length=255, nullable=true)
  31.      */
  32.     private $image;
  33.     /**
  34.      * @ORM\Column(type="string", length=255, nullable=true)
  35.      */
  36.     private $video;
  37.     /**
  38.      * @ORM\Column(type="integer")
  39.      */
  40.     private $niveau;
  41.     /**
  42.      * @ORM\Column(type="text", nullable=true)
  43.      */
  44.     private $objectif;
  45.     /**
  46.      * @ORM\Column(type="text", nullable=true)
  47.      */
  48.     private $atouts;
  49.     /**
  50.      * @ORM\Column(type="boolean")
  51.      */
  52.     private $status;
  53.     /**
  54.      * @ORM\Column(type="string", length=255, nullable=true)
  55.      */
  56.     private $duree;
  57.     /* @ORM\Column(type="datetime", nullable=true)
  58.      */
  59.     //private $date_debut;
  60.     /* @ORM\Column(type="datetime", nullable=true)
  61.      */
  62.     //private $date_fin;
  63.     /*@ORM\Column(type="string", length=255, nullable=true)
  64.      */
  65.     //private $lieu;
  66.     /**
  67.      * @ORM\Column(type="datetime")
  68.      */
  69.     private $created_at;
  70.     /**
  71.      * @ORM\Column(type="datetime", nullable=true)
  72.      */
  73.     private $updated_at;
  74.     /**
  75.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="formations")
  76.      * @ORM\JoinColumn(nullable=false)
  77.      */
  78.     private $user;
  79.     /* @ORM\Column(type="integer")
  80.      */
  81.     //private $type;
  82.     /**
  83.      * @ORM\ManyToMany(targetEntity="App\Entity\Formateur", inversedBy="formations")
  84.      */
  85.     private $formateur;
  86.     /**
  87.      * @ORM\ManyToMany(targetEntity="App\Entity\CategorieFormation", inversedBy="formations")
  88.      */
  89.     private $categorie;
  90.     /**
  91.      * @ORM\OneToMany(targetEntity="App\Entity\ChapitreFormation", mappedBy="formation", orphanRemoval=true)
  92.      */
  93.     private $chapitres;
  94.     /**
  95.      * @ORM\ManyToMany(targetEntity="App\Entity\Organisateur", inversedBy="formations")
  96.      */
  97.     private $organisateur;
  98.     /**
  99.      * @ORM\Column(type="text", nullable=true)
  100.      */
  101.     private $divers;
  102.     /**
  103.      * @ORM\Column(type="string", length=255, nullable=true)
  104.      */
  105.     private $langue;
  106.     /**
  107.      * @ORM\OneToMany(targetEntity="App\Entity\ProgrammeFormation", mappedBy="formation", orphanRemoval=true)
  108.      */
  109.     private $programmes;
  110.     /**
  111.      * @ORM\Column(type="string", length=255, nullable=true)
  112.      */
  113.     private $min;
  114.     /**
  115.      * @ORM\Column(type="string", length=255, nullable=true)
  116.      */
  117.     private $max;
  118.     /**
  119.      * @ORM\Column(type="string", length=255, nullable=true)
  120.      */
  121.     private $document;
  122.     const lang_long=['FR'=>"Français",'EN'=>"Anglais"],
  123.     niveau_long=["Débutant","Intermédiaire","Expert"]
  124.     ;
  125.     public function getVideoId(){
  126.         return str_replace(['https://','http://','www.','youtube.com/watch','?','v='],'',$this->video);
  127.     }
  128.     public function getFullLang(){
  129.         return self::lang_long[$this->langue];
  130.     }
  131.     public function getFullNiveau(){
  132.         return self::niveau_long[$this->niveau];
  133.     }
  134.     public function __construct()
  135.     {
  136.         $this->created_at=new \DateTime();
  137.         $this->status=false;
  138.         $this->formateur = new ArrayCollection();
  139.         $this->categorie = new ArrayCollection();
  140.         $this->chapitres = new ArrayCollection();
  141.         $this->organisateur = new ArrayCollection();
  142.         $this->programmes = new ArrayCollection();
  143.     }
  144.     public function getId(): ?int
  145.     {
  146.         return $this->id;
  147.     }
  148.     public function getTitre(): ?string
  149.     {
  150.         return $this->titre;
  151.     }
  152.     public function setTitre(string $titre): self
  153.     {
  154.         $this->titre $titre;
  155.         return $this;
  156.     }
  157.     public function getDescription(): ?string
  158.     {
  159.         return $this->description;
  160.     }
  161.     public function setDescription(?string $description): self
  162.     {
  163.         $this->description $description;
  164.         return $this;
  165.     }
  166.     public function getPrix(): ?float
  167.     {
  168.         return $this->prix;
  169.     }
  170.     public function setPrix(?float $prix): self
  171.     {
  172.         $this->prix $prix;
  173.         return $this;
  174.     }
  175.     public function getImage(): ?string
  176.     {
  177.         return $this->image;
  178.     }
  179.     public function setImage(?string $image): self
  180.     {
  181.         $this->image $image;
  182.         return $this;
  183.     }
  184.     public function getVideo(): ?string
  185.     {
  186.         return $this->video;
  187.     }
  188.     public function setVideo(?string $video): self
  189.     {
  190.         $this->video $video;
  191.         return $this;
  192.     }
  193.     public function getNiveau(): ?int
  194.     {
  195.         return $this->niveau;
  196.     }
  197.     public function setNiveau(int $niveau): self
  198.     {
  199.         $this->niveau $niveau;
  200.         return $this;
  201.     }
  202.     public function getObjectif(): ?string
  203.     {
  204.         return $this->objectif;
  205.     }
  206.     public function setObjectif(?string $objectif): self
  207.     {
  208.         $this->objectif $objectif;
  209.         return $this;
  210.     }
  211.     public function getAtouts(): ?string
  212.     {
  213.         return $this->atouts;
  214.     }
  215.     public function setAtouts(?string $atouts): self
  216.     {
  217.         $this->atouts $atouts;
  218.         return $this;
  219.     }
  220.     public function getStatus(): ?bool
  221.     {
  222.         return $this->status;
  223.     }
  224.     public function setStatus(bool $status): self
  225.     {
  226.         $this->status $status;
  227.         return $this;
  228.     }
  229.     public function getDuree(): ?string
  230.     {
  231.         return $this->duree;
  232.     }
  233.     public function setDuree(?string $duree): self
  234.     {
  235.         $this->duree $duree;
  236.         return $this;
  237.     }
  238.     /*public function getDateDebut(): ?\DateTimeInterface
  239.     {
  240.         return $this->date_debut;
  241.     }
  242.     public function setDateDebut(?\DateTimeInterface $date_debut): self
  243.     {
  244.         $this->date_debut = $date_debut;
  245.         return $this;
  246.     }
  247.     public function getDateFin(): ?\DateTimeInterface
  248.     {
  249.         return $this->date_fin;
  250.     }
  251.     public function setDateFin(?\DateTimeInterface $date_fin): self
  252.     {
  253.         $this->date_fin = $date_fin;
  254.         return $this;
  255.     }
  256.     public function getLieu(): ?string
  257.     {
  258.         return $this->lieu;
  259.     }
  260.     public function setLieu(?string $lieu): self
  261.     {
  262.         $this->lieu = $lieu;
  263.         return $this;
  264.     }*/
  265.     public function getCreatedAt(): ?\DateTimeInterface
  266.     {
  267.         return $this->created_at;
  268.     }
  269.     public function setCreatedAt(\DateTimeInterface $created_at): self
  270.     {
  271.         $this->created_at $created_at;
  272.         return $this;
  273.     }
  274.     public function getUpdatedAt(): ?\DateTimeInterface
  275.     {
  276.         return $this->updated_at;
  277.     }
  278.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  279.     {
  280.         $this->updated_at $updated_at;
  281.         return $this;
  282.     }
  283.     public function getUser(): ?User
  284.     {
  285.         return $this->user;
  286.     }
  287.     public function setUser(?User $user): self
  288.     {
  289.         $this->user $user;
  290.         return $this;
  291.     }
  292.     /*public function getType(): ?int
  293.     {
  294.         return $this->type;
  295.     }
  296.     public function setType(int $type): self
  297.     {
  298.         $this->type = $type;
  299.         return $this;
  300.     }*/
  301.     /**
  302.      * @return Collection|Formateur[]
  303.      */
  304.     public function getFormateur(): Collection
  305.     {
  306.         return $this->formateur;
  307.     }
  308.     public function addFormateur(Formateur $formateur): self
  309.     {
  310.         if (!$this->formateur->contains($formateur)) {
  311.             $this->formateur[] = $formateur;
  312.         }
  313.         return $this;
  314.     }
  315.     public function removeFormateur(Formateur $formateur): self
  316.     {
  317.         if ($this->formateur->contains($formateur)) {
  318.             $this->formateur->removeElement($formateur);
  319.         }
  320.         return $this;
  321.     }
  322.     /**
  323.      * @return Collection|CategorieFormation[]
  324.      */
  325.     public function getCategorie(): Collection
  326.     {
  327.         return $this->categorie;
  328.     }
  329.     public function addCategorie(CategorieFormation $categorie): self
  330.     {
  331.         if (!$this->categorie->contains($categorie)) {
  332.             $this->categorie[] = $categorie;
  333.         }
  334.         return $this;
  335.     }
  336.     public function removeCategorie(CategorieFormation $categorie): self
  337.     {
  338.         if ($this->categorie->contains($categorie)) {
  339.             $this->categorie->removeElement($categorie);
  340.         }
  341.         return $this;
  342.     }
  343.     /**
  344.      * @return Collection|ChapitreFormation[]
  345.      */
  346.     public function getChapitres(): Collection
  347.     {
  348.         return $this->chapitres;
  349.     }
  350.     public function addChapitre(ChapitreFormation $chapitre): self
  351.     {
  352.         if (!$this->chapitres->contains($chapitre)) {
  353.             $this->chapitres[] = $chapitre;
  354.             $chapitre->setFormation($this);
  355.         }
  356.         return $this;
  357.     }
  358.     public function removeChapitre(ChapitreFormation $chapitre): self
  359.     {
  360.         if ($this->chapitres->contains($chapitre)) {
  361.             $this->chapitres->removeElement($chapitre);
  362.             // set the owning side to null (unless already changed)
  363.             if ($chapitre->getFormation() === $this) {
  364.                 $chapitre->setFormation(null);
  365.             }
  366.         }
  367.         return $this;
  368.     }
  369.     /**
  370.      * @return Collection|Organisateur[]
  371.      */
  372.     public function getOrganisateur(): Collection
  373.     {
  374.         return $this->organisateur;
  375.     }
  376.     public function addOrganisateur(Organisateur $organisateur): self
  377.     {
  378.         if (!$this->organisateur->contains($organisateur)) {
  379.             $this->organisateur[] = $organisateur;
  380.         }
  381.         return $this;
  382.     }
  383.     public function removeOrganisateur(Organisateur $organisateur): self
  384.     {
  385.         if ($this->organisateur->contains($organisateur)) {
  386.             $this->organisateur->removeElement($organisateur);
  387.         }
  388.         return $this;
  389.     }
  390.     public function getDivers(): ?string
  391.     {
  392.         return $this->divers;
  393.     }
  394.     public function setDivers(?string $divers): self
  395.     {
  396.         $this->divers $divers;
  397.         return $this;
  398.     }
  399.     public function getLangue(): ?string
  400.     {
  401.         return $this->langue;
  402.     }
  403.     public function setLangue(?string $langue): self
  404.     {
  405.         $this->langue $langue;
  406.         return $this;
  407.     }
  408.     /**
  409.      * @return Collection|ProgrammeFormation[]
  410.      */
  411.     public function getProgrammes(): Collection
  412.     {
  413.         return $this->programmes;
  414.     }
  415.     public function addProgramme(ProgrammeFormation $programme): self
  416.     {
  417.         if (!$this->programmes->contains($programme)) {
  418.             $this->programmes[] = $programme;
  419.             $programme->setFormation($this);
  420.         }
  421.         return $this;
  422.     }
  423.     public function removeProgramme(ProgrammeFormation $programme): self
  424.     {
  425.         if ($this->programmes->contains($programme)) {
  426.             $this->programmes->removeElement($programme);
  427.             // set the owning side to null (unless already changed)
  428.             if ($programme->getFormation() === $this) {
  429.                 $programme->setFormation(null);
  430.             }
  431.         }
  432.         return $this;
  433.     }
  434.     public function getMin(): ?string
  435.     {
  436.         return $this->min;
  437.     }
  438.     public function setMin(?string $min): self
  439.     {
  440.         $this->min $min;
  441.         return $this;
  442.     }
  443.     public function getMax(): ?string
  444.     {
  445.         return $this->max;
  446.     }
  447.     public function setMax(?string $max): self
  448.     {
  449.         $this->max $max;
  450.         return $this;
  451.     }
  452.     public function getDocument(): ?string
  453.     {
  454.         return $this->document;
  455.     }
  456.     public function setDocument(?string $document): self
  457.     {
  458.         $this->document $document;
  459.         return $this;
  460.     }
  461. }