src/Entity/Formation.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\FormationRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Symfony\Component\HttpFoundation\File\File;
  10. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  11. /**
  12.  * @ORM\Entity(repositoryClass=FormationRepository::class)
  13.  * @UniqueEntity(fields={"wording"},message="Ce nom est déjà utilisé." )
  14.  * @Vich\Uploadable
  15.  */
  16. class Formation
  17. {
  18.     /**
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue
  21.      * @ORM\Column(type="integer")
  22.      */
  23.     private $id;
  24.     /**
  25.      * @ORM\Column(type="string", length=255)
  26.      */
  27.     private $wording;
  28.     /**
  29.      * @ORM\Column(type="text", nullable=true)
  30.      */
  31.     private $long_wording;
  32.     /**
  33.      * @ORM\Column(type="text", nullable=true)
  34.      */
  35.     private $description;
  36.     /**
  37.      * @ORM\Column(type="float", nullable=true)
  38.      */
  39.     private $duration;
  40.     /**
  41.      * @ORM\Column(type="string", length=10, nullable=true)
  42.      */
  43.     private $color;
  44.     /**
  45.      * @ORM\Column(type="integer")
  46.      */
  47.     private $max_student;
  48.     /**
  49.      * @ORM\Column(type="float")
  50.      */
  51.     private $price;
  52.     /**
  53.      * @ORM\OneToMany(targetEntity=Session::class, mappedBy="formation")
  54.      */
  55.     private $sessions;
  56.     /**
  57.      * @ORM\OneToMany(targetEntity=JustifForm::class, mappedBy="formation",cascade={"persist","remove"})
  58.      */
  59.     private $justifForms;
  60.     /**
  61.      * @ORM\ManyToOne(targetEntity=Demande::class, inversedBy="formation",cascade={"persist"})
  62.      */
  63.     private $demande;
  64.     /**
  65.      * @ORM\OneToMany(targetEntity=Demande::class, mappedBy="positionnement")
  66.      */
  67.     private $positionnement;
  68.     /**
  69.      * @Doctrine\ORM\Mapping\Column(type="string", length=255, nullable=true)
  70.      */
  71.     private $image;
  72.     /**
  73.      * @Vich\UploadableField(mapping="logo_formation", fileNameProperty="image")
  74.      */
  75.     private $fichier
  76.     /**
  77.      * @ORM\Column(type="datetime_immutable", nullable=true)
  78.      */
  79.     private $updateAt;
  80.     /**
  81.      * @ORM\ManyToOne(targetEntity=CategorieFormation::class, inversedBy="formations")
  82.      */
  83.     private $categorieformation;
  84.     /**
  85.      * @ORM\Column(type="boolean", nullable=true)
  86.      */
  87.     private $certificat;
  88.     /**
  89.      * @ORM\Column(type="boolean", nullable=true)
  90.      */
  91.     private $attestation;
  92.     /**
  93.      * @ORM\Column(type="boolean", nullable=true)
  94.      */
  95.     private $diplome;
  96.     /**
  97.      * @ORM\Column(type="boolean", nullable=true)
  98.      */
  99.     private $carte;
  100.     /**
  101.      * @ORM\Column(type="text", nullable=true)
  102.      */
  103.     private $objectif;
  104.     /**
  105.      * @ORM\Column(type="text", nullable=true)
  106.      */
  107.     private $wordingdiplome;
  108.     /**
  109.      * @ORM\Column(type="boolean", nullable=true)
  110.      */
  111.     private $formateur;
  112.     /**
  113.      * @ORM\Column(type="boolean", nullable=true)
  114.      */
  115.     private $longformation;
  116.     /**
  117.      * @ORM\OneToMany(targetEntity=OptionCategorieInscrit::class, mappedBy="formation", cascade={"persist", "remove"})
  118.      */
  119.     private $optionCategorieInscrits;
  120.      /**
  121.      * @ORM\Column(type="boolean", nullable=true)
  122.      */
  123.     private $online;
  124.     /**
  125.      * @ORM\Column(type="text", nullable=true)
  126.      */
  127.     private $publicVise;
  128.     /**
  129.      * @ORM\Column(type="text", nullable=true)
  130.      */
  131.     private $competenceVise;
  132.     /**
  133.      * @ORM\Column(type="text", nullable=true)
  134.      */
  135.     private $modaliteEvaluation;
  136.     /**
  137.      * @ORM\Column(type="string", length=255, nullable=true)
  138.      */
  139.     private $lieu;
  140.     /**
  141.      * @ORM\Column(type="text", length=255, nullable=true)
  142.      */
  143.     private $DelaiAcces;
  144.     /**
  145.      * @ORM\Column(type="text", length=255, nullable=true)
  146.      */
  147.     private $TauxReussite;
  148.     /**
  149.      * @ORM\Column(type="text", nullable=true)
  150.      */
  151.     private $Prerequis;
  152.     /**
  153.      * @ORM\Column(type="text", nullable=true)
  154.      */
  155.     private $NiveauSortie;
  156.     /**
  157.      * @ORM\Column(type="text", nullable=true)
  158.      */
  159.     private $contenu;
  160.     /**
  161.      * @ORM\Column(type="text", nullable=true)
  162.      */
  163.     private $Debouche;
  164.     /**
  165.      * @ORM\Column(type="text", nullable=true)
  166.      */
  167.     private $methodeApprentissage;
  168.     /**
  169.      * @ORM\ManyToMany(targetEntity=DemandeDevisSite::class, mappedBy="formation")
  170.      */
  171.     private $demandeDevisSites;
  172.     /**
  173.      * @ORM\OneToMany(targetEntity=StagaireDemandeDevis::class, mappedBy="Formation")
  174.      */
  175.     private $stagaireDemandeDevis;
  176.      /**
  177.      * @ORM\Column(type="boolean", nullable=true)
  178.      */
  179.     private $evaluation;
  180.     /**
  181.      * @ORM\ManyToMany(targetEntity=ModuleSession::class, cascade={"persist"})
  182.      */
  183.     private $modules;
  184.     /**
  185.      * @ORM\OneToMany(targetEntity=DemandeDevisLigne::class, mappedBy="formation")
  186.      */
  187.     private $demandeDevisLignes;
  188.     /**
  189.      * @ORM\Column(type="integer", nullable=true)
  190.      */
  191.     private $elearning;
  192.     /**
  193.      * @ORM\Column(type="integer", nullable=true)
  194.      */
  195.     private $thinkificId;
  196.     /**
  197.      * @ORM\Column(type="integer", nullable=true)
  198.      */
  199.     private $thinkificQcmId;
  200.     
  201.     /**
  202.      * @ORM\ManyToMany(targetEntity=ChecklistClotureSession::class, inversedBy="formations")
  203.      */
  204.     private $requis;
  205.     /**
  206.      * @ORM\OneToMany(targetEntity=FormationDocument::class, mappedBy="formation")
  207.      */
  208.     private $document
  209.     /**
  210.      * @ORM\Column(type="string", length=255)
  211.      */
  212.     private $imageimage
  213.     /**
  214.      * @Vich\UploadableField(mapping="image_formation", fileNameProperty="imageimage")
  215.     */
  216.     private $picture;
  217.     /**
  218.      * @ORM\ManyToMany(targetEntity=FormationMenu::class, inversedBy="formations")
  219.      */
  220.     private $menu;
  221.     /**
  222.      * @ORM\Column(type="boolean", nullable=true)
  223.      */
  224.     private $initiale;
  225.     /**
  226.      * @ORM\OneToMany(targetEntity=LigneConvention::class, mappedBy="Formation")
  227.      */
  228.     private $ligneConventions;
  229.     /**
  230.      * @ORM\Column(type="string", length=255, nullable=true)
  231.      */
  232.     private $livretStagiaire
  233.     /**
  234.      * @Vich\UploadableField(mapping="livret_stagiaire", fileNameProperty="livretStagiaire")
  235.      */
  236.     private $fichierLivret;
  237.     /**
  238.      * @ORM\Column(type="boolean", nullable=true)
  239.      */
  240.     private $ispublish;
  241.     /**
  242.      * @ORM\OneToMany(targetEntity="App\Entity\PlanDeFormation", mappedBy="formation", cascade={"persist", "remove"})
  243.      */
  244.     private $planDeFormations;
  245.     ///**
  246.     // * @ORM\Column(type="boolean", nullable=true)
  247.     // */
  248.     //private $certificatMedical;
  249.     /**
  250.      * @ORM\OneToMany(targetEntity=DemandePro::class, mappedBy="formation")
  251.      */
  252.     private $demandePros;
  253.     public function __construct()
  254.     {
  255.         $this->sessions = new ArrayCollection();
  256.         $this->justifForms = new ArrayCollection();
  257.         $this->positionnement = new ArrayCollection();
  258.         $this->optionCategorieInscrits = new ArrayCollection();
  259.         $this->demandeDevisSites = new ArrayCollection();
  260.         $this->stagaireDemandeDevis = new ArrayCollection();
  261.         $this->modules = new ArrayCollection();
  262.         $this->demandeDevisLignes = new ArrayCollection();
  263.         
  264.         $this->requis = new ArrayCollection();
  265.         $this->document = new ArrayCollection();
  266.         $this->menu = new ArrayCollection();
  267.         $this->ligneConventions = new ArrayCollection();
  268.         $this->planDeFormations = new ArrayCollection();
  269.         $this->demandePros = new ArrayCollection(); 
  270.     
  271.     }
  272.     public function __toString()
  273.     {
  274.         return $this->getWording(); 
  275.     }
  276.     public function getId(): ?int
  277.     {
  278.         return $this->id;
  279.     }
  280.     public function getWording(): ?string
  281.     {
  282.         return $this->wording;
  283.     }
  284.     public function setWording(string $wording): self
  285.     {
  286.         $this->wording $wording;
  287.         return $this;
  288.     }
  289.     public function isOnline(): ?bool
  290.     {
  291.         return $this->online;
  292.     }
  293.     public function setOnline(?bool $online): self
  294.     {
  295.         $this->online $online;
  296.         return $this;
  297.     }
  298.     public function getPublicVise(): ?string
  299.     {
  300.         return $this->publicVise;
  301.     }
  302.     public function setPublicVise(?string $publicVise): self
  303.     {
  304.         $this->publicVise $publicVise;
  305.         return $this;
  306.     }
  307.     public function getCompetenceVise(): ?string
  308.     {
  309.         return $this->competenceVise;
  310.     }
  311.     public function setCompetenceVise(?string $competenceVise): self
  312.     {
  313.         $this->competenceVise $competenceVise;
  314.         return $this;
  315.     }
  316.     public function getModaliteEvaluation(): ?string
  317.     {
  318.         return $this->modaliteEvaluation;
  319.     }
  320.     public function setModaliteEvaluation(?string $modaliteEvaluation): self
  321.     {
  322.         $this->modaliteEvaluation $modaliteEvaluation;
  323.         return $this;
  324.     }
  325.     public function getLieu(): ?string
  326.     {
  327.         return $this->lieu;
  328.     }
  329.     public function setLieu(?string $lieu): self
  330.     {
  331.         $this->lieu $lieu;
  332.         return $this;
  333.     }
  334.     public function getDelaiAcces(): ?string
  335.     {
  336.         return $this->DelaiAcces;
  337.     }
  338.     public function setDelaiAcces(?string $DelaiAcces): self
  339.     {
  340.         $this->DelaiAcces $DelaiAcces;
  341.         return $this;
  342.     }
  343.     public function getTauxReussite(): ?string
  344.     {
  345.         return $this->TauxReussite;
  346.     }
  347.     public function setTauxReussite(?string $TauxReussite): self
  348.     {
  349.         $this->TauxReussite $TauxReussite;
  350.         return $this;
  351.     }
  352.     public function getPrerequis(): ?string
  353.     {
  354.         return $this->Prerequis;
  355.     }
  356.     public function setPrerequis(?string $Prerequis): self
  357.     {
  358.         $this->Prerequis $Prerequis;
  359.         return $this;
  360.     }
  361.     public function getNiveauSortie(): ?string
  362.     {
  363.         return $this->NiveauSortie;
  364.     }
  365.     public function setNiveauSortie(?string $NiveauSortie): self
  366.     {
  367.         $this->NiveauSortie $NiveauSortie;
  368.         return $this;
  369.     }
  370.     public function getContenu(): ?string
  371.     {
  372.         return $this->contenu;
  373.     }
  374.     public function setContenu(?string $contenu): self
  375.     {
  376.         $this->contenu $contenu;
  377.         return $this;
  378.     }
  379.     public function getDebouche(): ?string
  380.     {
  381.         return $this->Debouche;
  382.     }
  383.     public function setDebouche(?string $Debouche): self
  384.     {
  385.         $this->Debouche $Debouche;
  386.         return $this;
  387.     }
  388.     public function getMethodeApprentissage(): ?string
  389.     {
  390.         return $this->methodeApprentissage;
  391.     }
  392.     public function setMethodeApprentissage(?string $methodeApprentissage): self
  393.     {
  394.         $this->methodeApprentissage $methodeApprentissage;
  395.         return $this;
  396.     }
  397.     /**
  398.      * @return Collection<int, DemandeDevisSite>
  399.      */
  400.     public function getDemandeDevisSites(): Collection
  401.     {
  402.         return $this->demandeDevisSites;
  403.     }
  404.     public function addDemandeDevisSite(DemandeDevisSite $demandeDevisSite): self
  405.     {
  406.         if (!$this->demandeDevisSites->contains($demandeDevisSite)) {
  407.             $this->demandeDevisSites[] = $demandeDevisSite;
  408.             $demandeDevisSite->addFormation($this);
  409.         }
  410.         return $this;
  411.     }
  412.     public function removeDemandeDevisSite(DemandeDevisSite $demandeDevisSite): self
  413.     {
  414.         if ($this->demandeDevisSites->removeElement($demandeDevisSite)) {
  415.             $demandeDevisSite->removeFormation($this);
  416.         }
  417.         return $this;
  418.     }
  419.     /**
  420.      * @return Collection<int, StagaireDemandeDevis>
  421.      */
  422.     public function getStagaireDemandeDevis(): Collection
  423.     {
  424.         return $this->stagaireDemandeDevis;
  425.     }
  426.     public function addStagaireDemandeDevi(StagaireDemandeDevis $stagaireDemandeDevi): self
  427.     {
  428.         if (!$this->stagaireDemandeDevis->contains($stagaireDemandeDevi)) {
  429.             $this->stagaireDemandeDevis[] = $stagaireDemandeDevi;
  430.             $stagaireDemandeDevi->setFormation($this);
  431.         }
  432.         return $this;
  433.     }
  434.     public function removeStagaireDemandeDevi(StagaireDemandeDevis $stagaireDemandeDevi): self
  435.     {
  436.         if ($this->stagaireDemandeDevis->removeElement($stagaireDemandeDevi)) {
  437.             // set the owning side to null (unless already changed)
  438.             if ($stagaireDemandeDevi->getFormation() === $this) {
  439.                 $stagaireDemandeDevi->setFormation(null);
  440.             }
  441.         }
  442.         return $this;
  443.     }
  444.     public function getLongWording(): ?string
  445.     {
  446.         return $this->long_wording;
  447.     }
  448.     public function setLongWording(?string $long_wording): self
  449.     {
  450.         $this->long_wording $long_wording;
  451.         return $this;
  452.     }
  453.     public function getDescription(): ?string
  454.     {
  455.         return $this->description;
  456.     }
  457.     public function setDescription(?string $description): self
  458.     {
  459.         $this->description $description;
  460.         return $this;
  461.     }
  462.     public function getDuration(): ?float
  463.     {
  464.         return $this->duration;
  465.     }
  466.     public function setDuration(?float $duration): self
  467.     {
  468.         $this->duration $duration;
  469.         return $this;
  470.     }
  471.     public function getColor(): ?string
  472.     {
  473.         return $this->color;
  474.     }
  475.     public function setColor(?string $color): self
  476.     {
  477.         $this->color $color;
  478.         return $this;
  479.     }
  480.     public function getMaxStudent(): ?int
  481.     {
  482.         return $this->max_student;
  483.     }
  484.     public function setMaxStudent(int $max_student): self
  485.     {
  486.         $this->max_student $max_student;
  487.         return $this;
  488.     }
  489.     public function getPrice(): ?float
  490.     {
  491.         return $this->price;
  492.     }
  493.     public function setPrice(float $price): self
  494.     {
  495.         $this->price $price;
  496.         return $this;
  497.     }
  498.     /**
  499.      * @return Collection<int, Session>
  500.      */
  501.     public function getSessions(): Collection
  502.     {
  503.         return $this->sessions;
  504.     }
  505.     public function addSession(Session $session): self
  506.     {
  507.         if (!$this->sessions->contains($session)) {
  508.             $this->sessions[] = $session;
  509.             $session->setFormation($this);
  510.         }
  511.         return $this;
  512.     }
  513.     public function removeSession(Session $session): self
  514.     {
  515.         if ($this->sessions->removeElement($session)) {
  516.             // set the owning side to null (unless already changed)
  517.             if ($session->getFormation() === $this) {
  518.                 $session->setFormation(null);
  519.             }
  520.         }
  521.         return $this;
  522.     }
  523.     /**
  524.      * @return Collection<int, JustifForm>
  525.      */
  526.     public function getJustifForms(): Collection
  527.     {
  528.         return $this->justifForms;
  529.     }
  530.     public function addJustifForm(JustifForm $justifForm): self
  531.     {
  532.         if (!$this->justifForms->contains($justifForm)) {
  533.             $this->justifForms[] = $justifForm;
  534.             $justifForm->setFormation($this);
  535.         }
  536.         return $this;
  537.     }
  538.     public function removeJustifForm(JustifForm $justifForm): self
  539.     {
  540.         if ($this->justifForms->removeElement($justifForm)) {
  541.             // set the owning side to null (unless already changed)
  542.             if ($justifForm->getFormation() === $this) {
  543.                 $justifForm->setFormation(null);
  544.             }
  545.         }
  546.         return $this;
  547.     }
  548.     public function getDemande(): ?Demande
  549.     {
  550.         return $this->demande;
  551.     }
  552.     public function setDemande(?Demande $demande): self
  553.     {
  554.         $this->demande $demande;
  555.         return $this;
  556.     }
  557.     /**
  558.      * @return Collection<int, Demande>
  559.      */
  560.     public function getPositionnement(): Collection
  561.     {
  562.         return $this->positionnement;
  563.     }
  564.     public function addPositionnement(Demande $positionnement): self
  565.     {
  566.         if (!$this->positionnement->contains($positionnement)) {
  567.             $this->positionnement[] = $positionnement;
  568.             $positionnement->setPositionnement($this);
  569.         }
  570.         return $this;
  571.     }
  572.     public function removePositionnement(Demande $positionnement): self
  573.     {
  574.         if ($this->positionnement->removeElement($positionnement)) {
  575.             // set the owning side to null (unless already changed)
  576.             if ($positionnement->getPositionnement() === $this) {
  577.                 $positionnement->setPositionnement(null);
  578.             }
  579.         }
  580.         return $this;
  581.     }
  582.     public function setFichier(?File $image null)
  583.     {
  584.         $this->fichier $image;
  585.         if ($image) {
  586.             $this->updateAt = new \DateTimeImmutable();
  587.         }
  588.     }
  589.     public function getFichier()
  590.     {
  591.         return $this->fichier;
  592.     }
  593.     public function setImage($image)
  594.     {
  595.         $this->image $image;
  596.     }
  597.     public function getImage()
  598.     {
  599.         return $this->image;
  600.     }
  601.     public function getUpdateAt(): ?\DateTimeImmutable
  602.     {
  603.         return $this->updateAt;
  604.     }
  605.     public function setUpdateAt(?\DateTimeImmutable $updateAt): self
  606.     {
  607.         $this->updateAt $updateAt;
  608.         return $this;
  609.     }
  610.     public function getCategorieformation(): ?CategorieFormation
  611.     {
  612.         return $this->categorieformation;
  613.     }
  614.     public function setCategorieformation(?CategorieFormation $categorieformation): self
  615.     {
  616.         $this->categorieformation $categorieformation;
  617.         return $this;
  618.     }
  619.     public function isCertificat(): ?bool
  620.     {
  621.         return $this->certificat;
  622.     }
  623.     public function setCertificat(?bool $certificat): self
  624.     {
  625.         $this->certificat $certificat;
  626.         return $this;
  627.     }
  628.     public function isAttestation(): ?bool
  629.     {
  630.         return $this->attestation;
  631.     }
  632.     public function setAttestation(?bool $attestation): self
  633.     {
  634.         $this->attestation $attestation;
  635.         return $this;
  636.     }
  637.     public function isDiplome(): ?bool
  638.     {
  639.         return $this->diplome;
  640.     }
  641.     public function setDiplome(?bool $diplome): self
  642.     {
  643.         $this->diplome $diplome;
  644.         return $this;
  645.     }
  646.     public function isCarte(): ?bool
  647.     {
  648.         return $this->carte;
  649.     }
  650.     public function setCarte(?bool $carte): self
  651.     {
  652.         $this->carte $carte;
  653.         return $this;
  654.     }
  655.     public function getObjectif(): ?string
  656.     {
  657.         return $this->objectif;
  658.     }
  659.     public function setObjectif(?string $objectif): self
  660.     {
  661.         $this->objectif $objectif;
  662.         return $this;
  663.     }
  664.     public function getWordingdiplome(): ?string
  665.     {
  666.         return $this->wordingdiplome;
  667.     }
  668.     public function setWordingdiplome(?string $wordingdiplome): self
  669.     {
  670.         $this->wordingdiplome $wordingdiplome;
  671.         return $this;
  672.     }
  673.     public function isFormateur(): ?bool
  674.     {
  675.         return $this->formateur;
  676.     }
  677.     public function setFormateur(?bool $formateur): self
  678.     {
  679.         $this->formateur $formateur;
  680.         return $this;
  681.     }
  682.     public function isLongformation(): ?bool
  683.     {
  684.         return $this->longformation;
  685.     }
  686.     public function setLongformation(?bool $longformation): self
  687.     {
  688.         $this->longformation $longformation;
  689.         return $this;
  690.     }
  691.     /**
  692.      * @return Collection<int, OptionCategorieInscrit>
  693.      */
  694.     public function getOptionCategorieInscrits(): Collection
  695.     {
  696.         return $this->optionCategorieInscrits;
  697.     }
  698.     public function addOptionCategorieInscrit(OptionCategorieInscrit $optionCategorieInscrit): self
  699.     {
  700.         if (!$this->optionCategorieInscrits->contains($optionCategorieInscrit)) {
  701.             $this->optionCategorieInscrits[] = $optionCategorieInscrit;
  702.             $optionCategorieInscrit->setFormation($this);
  703.         }
  704.         return $this;
  705.     }
  706.     public function removeOptionCategorieInscrit(OptionCategorieInscrit $optionCategorieInscrit): self
  707.     {
  708.         if ($this->optionCategorieInscrits->removeElement($optionCategorieInscrit)) {
  709.             // set the owning side to null (unless already changed)
  710.             if ($optionCategorieInscrit->getFormation() === $this) {
  711.                 $optionCategorieInscrit->setFormation(null);
  712.             }
  713.         }
  714.         return $this;
  715.     }
  716.     public function isEvaluation(): ?bool
  717.     {
  718.         return $this->evaluation;
  719.     }
  720.     public function setEvaluation(?bool $online): self
  721.     {
  722.         $this->evaluation $online;
  723.         return $this;
  724.     }
  725.      /**
  726.      * @return Collection<int, ModuleSession>
  727.      */
  728.     public function getModules(): Collection
  729.     {
  730.         return $this->modules;
  731.     }
  732.     public function addModule(ModuleSession $module): self
  733.     {
  734.         if (!$this->modules->contains($module)) {
  735.             $this->modules[] = $module;
  736.         }
  737.         return $this;
  738.     }
  739.     public function removeModule(ModuleSession $module): self
  740.     {
  741.         $this->modules->removeElement($module);
  742.         return $this;
  743.     }
  744.     /**
  745.      * @return Collection<int, DemandeDevisLigne>
  746.      */
  747.     public function getDemandeDevisLignes(): Collection
  748.     {
  749.         return $this->demandeDevisLignes;
  750.     }
  751.     public function addDemandeDevisLigne(DemandeDevisLigne $demandeDevisLigne): self
  752.     {
  753.         if (!$this->demandeDevisLignes->contains($demandeDevisLigne)) {
  754.             $this->demandeDevisLignes[] = $demandeDevisLigne;
  755.             $demandeDevisLigne->setFormation($this);
  756.         }
  757.         return $this;
  758.     }
  759.     public function removeDemandeDevisLigne(DemandeDevisLigne $demandeDevisLigne): self
  760.     {
  761.         if ($this->demandeDevisLignes->removeElement($demandeDevisLigne)) {
  762.             // set the owning side to null (unless already changed)
  763.             if ($demandeDevisLigne->getFormation() === $this) {
  764.                 $demandeDevisLigne->setFormation(null);
  765.             }
  766.         }
  767.         return $this;
  768.     }
  769.     public function getElearning(): ?int
  770.     {
  771.         return $this->elearning;
  772.     }
  773.     public function setElearning(?int $elearning): self
  774.     {
  775.         $this->elearning $elearning;
  776.         return $this;
  777.     }
  778.     public function getThinkificId(): ?int
  779.     {
  780.         return $this->thinkificId;
  781.     }
  782.     public function setThinkificId(?int $thinkificId): self
  783.     {
  784.         $this->thinkificId $thinkificId;
  785.         return $this;
  786.     }
  787.     public function getThinkificQcmId(): ?int
  788.     {
  789.         return $this->thinkificQcmId;
  790.     }
  791.     public function setThinkificQcmId(?int $thinkificQcmId): self
  792.     {
  793.         $this->thinkificQcmId $thinkificQcmId;
  794.         return $this;
  795.     }
  796.    
  797.    
  798.     /**
  799.      * @return Collection<int, ChecklistClotureSession>
  800.      */
  801.     public function getRequis(): Collection
  802.     {
  803.         return $this->requis;
  804.     }
  805.     public function addRequi(ChecklistClotureSession $requi): self
  806.     {
  807.         if (!$this->requis->contains($requi)) {
  808.             $this->requis[] = $requi;
  809.         }
  810.         return $this;
  811.     }
  812.     public function removeRequi(ChecklistClotureSession $requi): self
  813.     {
  814.         $this->requis->removeElement($requi);
  815.         return $this;
  816.     }
  817.     /**
  818.      * @return Collection<int, FormationDocument>
  819.      */
  820.     public function getDocument(): Collection
  821.     {
  822.         return $this->document;
  823.     }
  824.     public function addDocument(FormationDocument $document): self
  825.     {
  826.         if (!$this->document->contains($document)) {
  827.             $this->document[] = $document;
  828.             $document->setFormation($this);
  829.         }
  830.         return $this;
  831.     }
  832.     public function removeDocument(FormationDocument $document): self
  833.     {
  834.         if ($this->document->removeElement($document)) {
  835.             // set the owning side to null (unless already changed)
  836.             if ($document->getFormation() === $this) {
  837.                 $document->setFormation(null);
  838.             }
  839.         }
  840.         return $this;
  841.     }
  842.     public function getImageimage(): ?string
  843.     {
  844.         return $this->imageimage;
  845.     }
  846.     public function setImageimage(?string $imageimage): self
  847.     {
  848.         $this->imageimage $imageimage;
  849.         return $this;
  850.     }  
  851.     public function setPicture(?File $imageimage null): self
  852.     {
  853.         $this->picture $imageimage;
  854.         if ($imageimage) {
  855.             $this->updateAt = new \DateTimeImmutable();
  856.         }
  857.         return $this
  858.     }
  859.     public function getPicture()
  860.     {
  861.         return $this->picture;
  862.     }
  863.     /**
  864.      * @return Collection<int, FormationMenu>
  865.      */
  866.     public function getMenu(): Collection
  867.     {
  868.         return $this->menu;
  869.     }
  870.     public function addMenu(FormationMenu $menu): self
  871.     {
  872.         if (!$this->menu->contains($menu)) { 
  873.             $this->menu[] = $menu;
  874.         }
  875.         return $this;
  876.     }
  877.     public function removeMenu(FormationMenu $menu): self
  878.     {
  879.         $this->menu->removeElement($menu);
  880.         return $this;
  881.     }
  882.     public function isInitiale(): ?bool
  883.     {
  884.         return $this->initiale;
  885.     }
  886.     public function setInitiale(?bool $initiale): self
  887.     {
  888.         $this->initiale $initiale;
  889.         return $this;
  890.     }
  891.     /**
  892.      * @return Collection<int, LigneConvention>
  893.      */
  894.     public function getLigneConventions(): Collection
  895.     {
  896.         return $this->ligneConventions;
  897.     }
  898.     public function addLigneConvention(LigneConvention $ligneConvention): self
  899.     {
  900.         if (!$this->ligneConventions->contains($ligneConvention)) {
  901.             $this->ligneConventions[] = $ligneConvention;
  902.             $ligneConvention->setFormation($this);
  903.         }
  904.         return $this;
  905.     }
  906.     public function removeLigneConvention(LigneConvention $ligneConvention): self
  907.     {
  908.         if ($this->ligneConventions->removeElement($ligneConvention)) {
  909.             // set the owning side to null (unless already changed)
  910.             if ($ligneConvention->getFormation() === $this) {
  911.                 $ligneConvention->setFormation(null);
  912.             }
  913.         }
  914.         return $this;
  915.     }
  916.     public function getLivretStagiaire(): ?string
  917.     {
  918.         return $this->livretStagiaire;
  919.     }
  920.     public function setLivretStagiaire(?string $livretStagiaire): self
  921.     {
  922.         $this->livretStagiaire $livretStagiaire;
  923.         return $this;
  924.     }   
  925.     public function getFichierLivret()
  926.     {
  927.         return $this->fichierLivret;
  928.     } 
  929.     public function setFichierLivret(?File $livretStagiaire null)
  930.     {
  931.         $this->fichierLivret $livretStagiaire;
  932.         if ($livretStagiaire) {
  933.             $this->updateAt = new \DateTimeImmutable();
  934.         }
  935.     }
  936.     public function isPublish(): ?bool
  937.     {
  938.         return $this->ispublish;
  939.     }
  940.     public function setIsPublish(?bool $ispublish): self
  941.     {
  942.         $this->ispublish $ispublish;
  943.         return $this;
  944.     }
  945.     /**
  946.      * @return Collection|PlanDeFormation[]
  947.      */
  948.     public function getPlanDeFormations(): Collection
  949.     {
  950.         return $this->planDeFormations;
  951.     }
  952.     public function addPlanDeFormation(PlanDeFormation $planDeFormation): self
  953.     {
  954.         // if (!$this->planDeFormations->contains($planDeFormation)) {
  955.         //     $this->planDeFormations[] = $planDeFormation;
  956.         // }
  957.         if (!$this->planDeFormations->contains($planDeFormation)) {
  958.             $this->planDeFormations[] = $planDeFormation;
  959.             $planDeFormation->setFormation($this);
  960.         }
  961.         return $this;
  962.     }
  963.     public function removePlanDeFormation(PlanDeFormation $planDeFormation): self
  964.     {
  965.         if ($this->planDeFormations->removeElement($planDeFormation)) {
  966.             if ($planDeFormation->getFormation() === $this) {
  967.                 $planDeFormation->setFormation(null);
  968.             }
  969.         }
  970.         return $this;
  971.     }
  972.     // public function isCertificatMedical(): ?bool
  973.     // {
  974.     //     return $this->certificatMedical;
  975.     // }
  976.     // public function setCertificatMedical(?bool $certificatMedical): self
  977.     // {
  978.     //     $this->certificatMedical = $certificatMedical;
  979.     //     return $this;
  980.     // }
  981.     /**
  982.      * @return Collection<int, DemandePro>
  983.      */
  984.     public function getDemandePros(): Collection
  985.     {
  986.         return $this->demandePros;
  987.     }
  988.     public function addDemandePro(DemandePro $demandePro): self
  989.     {
  990.         if (!$this->demandePros->contains($demandePro)) {
  991.             $this->demandePros[] = $demandePro;
  992.             $demandePro->setFormation($this);
  993.         }
  994.         return $this;
  995.     }
  996.     public function removeDemandePro(DemandePro $demandePro): self
  997.     {
  998.         if ($this->demandePros->removeElement($demandePro)) {
  999.             // set the owning side to null (unless already changed)
  1000.             if ($demandePro->getFormation() === $this) {
  1001.                 $demandePro->setFormation(null);
  1002.             }
  1003.         }
  1004.         return $this;
  1005.     }
  1006.    
  1007. }