src/Entity/Membre.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\MembreRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity(repositoryClass=MembreRepository::class)
  10.  */
  11. class Membre
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=255)
  21.      */
  22.     private $nom;
  23.     /**
  24.      * @ORM\Column(type="string", length=255, nullable=false)
  25.      */
  26.     private $prenom;
  27.     /**
  28.      * @ORM\Column(type="string")
  29.      */
  30.     private $cin;
  31.     /**
  32.      * @ORM\Column(type="string", length=255)
  33.      */
  34.     private $genre;
  35.     /**
  36.      * @ORM\Column(type="date")
  37.      */
  38.     private $dateNaiss;
  39.     /**
  40.      * @ORM\Column(type="date", nullable=true)
  41.      */
  42.     private $lastSyncedGoogleScholarDate;
  43.     /**
  44.      * @ORM\Column(type="string", nullable=false)
  45.      */
  46.     private $tel;
  47.     /**
  48.      * @ORM\Column(type="string", length=255)
  49.      */
  50.     private $email;
  51.     /**
  52.      * @ORM\Column(type="text", nullable=true)
  53.      */
  54.     private $adresse;
  55.     /**
  56.      * @ORM\Column(type="string", length=255)
  57.      */
  58.     private $statut;
  59.     /**
  60.      * @ORM\Column(type="string", length=255, nullable=false)
  61.      */
  62.     private $universite;
  63.     /**
  64.      * @ORM\Column(type="string", length=255, nullable=true)
  65.      */
  66.     private $etablissement;
  67.     /**
  68.      * @ORM\Column(type="string", length=255, nullable=true)
  69.      */
  70.     private $equipe;
  71.     /**
  72.      * @ORM\Column(type="boolean")
  73.      */
  74.     private $isDeleted false;
  75.     /**
  76.      * @ORM\Column(type="string", length=255, nullable=false)
  77.      */
  78.     private $dernier_diplome;
  79.     /**
  80.      * @ORM\Column(type="date", nullable=false)
  81.      */
  82.     private $date_diplome;
  83.     /**
  84.      * @ORM\Column(type="string", length=255, nullable=false)
  85.      */
  86.     private $etablissement_formation;
  87.     /**
  88.      * @ORM\Column(type="string", length=255, nullable=true)
  89.      */
  90.     private $titre_these_master;
  91.     /**
  92.      * @ORM\Column(type="string", length=255, nullable=true)
  93.      */
  94.     private $encadreur;
  95.     /**
  96.      * @ORM\Column(type="integer", nullable=true)
  97.      */
  98.     private $poucentage_avancement;
  99.     /**
  100.      * @ORM\ManyToMany(targetEntity=Projet::class, inversedBy="membres", cascade={"persist"})
  101.      */
  102.     private $projets;
  103.     /**
  104.      * @ORM\ManyToOne(targetEntity=TitlesMembers::class)
  105.      * @ORM\JoinColumn(nullable=false)
  106.      */
  107.     private $titlesMembers;
  108.     /**
  109.      * @ORM\Column(type="string", length=255, nullable=true)
  110.      */
  111.     private $CvFr;
  112.     /**
  113.      * @ORM\Column(type="string", length=255, nullable=true)
  114.      */
  115.     private $CvEn;
  116.     /**
  117.      * @ORM\Column(type="string", length=255, nullable=true)
  118.      */
  119.     private $ScopusID;
  120.     /**
  121.      * @ORM\Column(type="string", length=255, nullable=true)
  122.      */
  123.     private $DBLPLink;
  124.     /**
  125.      * @ORM\Column(type="string", length=255, nullable=true)
  126.      */
  127.     private $OrcId;
  128.     /**
  129.      * @ORM\Column(type="string", length=255, nullable=true)
  130.      */
  131.     private $ScholarId;
  132.     /**
  133.      * @ORM\Column(type="text", nullable=true)
  134.      */
  135.     private $ResKeywords;
  136.     /**
  137.      * @ORM\Column(type="text", nullable=false)
  138.      */
  139.     private $ShBiography;
  140.     /**
  141.      * @ORM\Column(type="string", length=255, nullable=true)
  142.      */
  143.     private $photoProfil;
  144.     /**
  145.      * @ORM\ManyToMany(targetEntity=Publications::class, inversedBy="Membre" , orphanRemoval=true)
  146.      * @ORM\JoinTable(name="publications_membre")
  147.      * */
  148.     private $publications;
  149.     /**
  150.      * @ORM\ManyToMany(targetEntity=Event::class, mappedBy="membres")
  151.      */
  152.     private $events;
  153.     /**
  154.      * @ORM\Column(type="string", length=255)
  155.      */
  156.     private $etat;
  157.     /**
  158.      * @ORM\Column(type="string", length=255, nullable=true)
  159.      */
  160.     private $webPage;
  161.     /**
  162.      * @ORM\Column(type="string", length=255, nullable=true)
  163.      */
  164.     private $linkedin;
  165.     /**
  166.      * @ORM\Column(type="date", nullable=true)
  167.      */
  168.     private $creation_date;
  169.     /**
  170.      * @ORM\Column(type="date", nullable=true)
  171.      */
  172.     private $modification_date;
  173.     /**
  174.      * @ORM\Column(type="integer", nullable=true)
  175.      */
  176.     private $validated_by_id;
  177.     /**
  178.      * @ORM\Column(type="string", length=255, nullable=true)
  179.      */
  180.     private $Headoflab;
  181.     /**
  182.      * @ORM\Column(type="string", length=255, nullable=true)
  183.      */
  184.     private $Doctoraldelegate;
  185.     /**
  186.      * @ORM\OneToOne(targetEntity=User::class, inversedBy="membre", cascade={"persist", "remove"})
  187.      * @ORM\JoinColumn(nullable=false)
  188.      */
  189.     private $user;
  190.     private $isEditor;
  191.     public function __construct()
  192.     {
  193.         $this->projets = new ArrayCollection();
  194.         $this->productionScientifiques = new ArrayCollection();
  195.         $this->publications = new ArrayCollection();
  196.         $this->events = new ArrayCollection();
  197.     }
  198.     public function getId(): ?int
  199.     {
  200.         return $this->id;
  201.     }
  202.     public function getNom(): ?string
  203.     {
  204.         return $this->nom;
  205.     }
  206.     public function setNom(string $nom): self
  207.     {
  208.         $this->nom $nom;
  209.         return $this;
  210.     }
  211.     public function getPrenom(): ?string
  212.     {
  213.         return $this->prenom;
  214.     }
  215.     public function setPrenom(string $prenom): self
  216.     {
  217.         $this->prenom $prenom;
  218.         return $this;
  219.     }
  220.     public function getCin(): ?string
  221.     {
  222.         return $this->cin;
  223.     }
  224.     public function setCin(string $cin): self
  225.     {
  226.         $this->cin $cin;
  227.         return $this;
  228.     }
  229.     public function getGenre(): ?string
  230.     {
  231.         return $this->genre;
  232.     }
  233.     public function setGenre(string $genre): self
  234.     {
  235.         $this->genre $genre;
  236.         return $this;
  237.     }
  238.     public function getDateNaiss(): ?\DateTimeInterface
  239.     {
  240.         return $this->dateNaiss;
  241.     }
  242.     public function setDateNaiss(\DateTimeInterface $dateNaiss): self
  243.     {
  244.         $this->dateNaiss $dateNaiss;
  245.         return $this;
  246.     }
  247.     public function getLastSyncedGoogleScholarDate(): ?\DateTimeInterface
  248.     {
  249.         return $this->lastSyncedGoogleScholarDate;
  250.     }
  251.     public function setLastSyncedGoogleScholarDate(?\DateTimeInterface $lastSyncedGoogleScholarDate): self
  252.     {
  253.         $this->lastSyncedGoogleScholarDate $lastSyncedGoogleScholarDate;
  254.         return $this;
  255.     }
  256.     public function getTel(): ?string
  257.     {
  258.         return $this->tel;
  259.     }
  260.     public function setTel(string $tel): self
  261.     {
  262.         $this->tel $tel;
  263.         return $this;
  264.     }
  265.     public function getEmail(): ?string
  266.     {
  267.         return $this->email;
  268.     }
  269.     public function setEmail(string $email): self
  270.     {
  271.         $this->email $email;
  272.         return $this;
  273.     }
  274.     public function getAdresse(): ?string
  275.     {
  276.         return $this->adresse;
  277.     }
  278.     public function setAdresse(string $adresse): self
  279.     {
  280.         $this->adresse $adresse;
  281.         return $this;
  282.     }
  283.     public function getStatut(): ?string
  284.     {
  285.         return $this->statut;
  286.     }
  287.     public function setStatut(string $statut): self
  288.     {
  289.         $this->statut $statut;
  290.         return $this;
  291.     }
  292.     public function getGrade(): ?string
  293.     {
  294.         return $this->grade;
  295.     }
  296.     public function setGrade(?string $grade): self
  297.     {
  298.         $this->grade $grade;
  299.         return $this;
  300.     }
  301.     public function getUniversite(): ?string
  302.     {
  303.         return $this->universite;
  304.     }
  305.     public function setUniversite(?string $universite): self
  306.     {
  307.         $this->universite $universite;
  308.         return $this;
  309.     }
  310.     public function getEtablissement(): ?string
  311.     {
  312.         return $this->etablissement;
  313.     }
  314.     public function setEtablissement(?string $etablissement): self
  315.     {
  316.         $this->etablissement $etablissement;
  317.         return $this;
  318.     }
  319.     public function getEquipe(): ?string
  320.     {
  321.         return $this->equipe;
  322.     }
  323.     public function setEquipe(?string $equipe): self
  324.     {
  325.         $this->equipe $equipe;
  326.         return $this;
  327.     }
  328.     public function getDernierDiplome(): ?string
  329.     {
  330.         return $this->dernier_diplome;
  331.     }
  332.     public function setDernierDiplome(?string $dernier_diplome): self
  333.     {
  334.         $this->dernier_diplome $dernier_diplome;
  335.         return $this;
  336.     }
  337.     public function getDateDiplome(): ?\DateTimeInterface
  338.     {
  339.         return $this->date_diplome;
  340.     }
  341.     public function setDateDiplome(?\DateTimeInterface $date_diplome): self
  342.     {
  343.         $this->date_diplome $date_diplome;
  344.         return $this;
  345.     }
  346.     public function getEtablissementFormation(): ?string
  347.     {
  348.         return $this->etablissement_formation;
  349.     }
  350.     public function setEtablissementFormation(?string $etablissement_formation): self
  351.     {
  352.         $this->etablissement_formation $etablissement_formation;
  353.         return $this;
  354.     }
  355.     public function getTitreTheseMaster(): ?string
  356.     {
  357.         return $this->titre_these_master;
  358.     }
  359.     public function setTitreTheseMaster(?string $titre_these_master): self
  360.     {
  361.         $this->titre_these_master $titre_these_master;
  362.         return $this;
  363.     }
  364.     public function getEncadreur(): ?string
  365.     {
  366.         return $this->encadreur;
  367.     }
  368.     public function setEncadreur(?string $encadreur): self
  369.     {
  370.         $this->encadreur $encadreur;
  371.         return $this;
  372.     }
  373.     public function getPoucentageAvancement(): ?int
  374.     {
  375.         return $this->poucentage_avancement;
  376.     }
  377.     public function setPoucentageAvancement(?int $poucentage_avancement): self
  378.     {
  379.         $this->poucentage_avancement $poucentage_avancement;
  380.         return $this;
  381.     }
  382.     public function getIsDeleted(): ?bool
  383.     {
  384.         return $this->isDeleted;
  385.     }
  386.     public function setIsDeleted(bool $isDeleted): self
  387.     {
  388.         $this->isDeleted $isDeleted;
  389.         return $this;
  390.     }
  391.     /**
  392.      * @return Collection|Projet[]
  393.      */
  394.     public function getProjets(): Collection
  395.     {
  396.         return $this->projets;
  397.     }
  398.     public function addProjet(Projet $projet): self
  399.     {
  400.         if (!$this->projets->contains($projet)) {
  401.             $this->projets[] = $projet;
  402.         }
  403.         return $this;
  404.     }
  405.     public function removeProjet(Projet $projet): self
  406.     {
  407.         $this->projets->removeElement($projet);
  408.         return $this;
  409.     }
  410.     public function isIsDeleted(): ?bool
  411.     {
  412.         return $this->isDeleted;
  413.     }
  414.     public function getTitlesMembers(): ?TitlesMembers
  415.     {
  416.         return $this->titlesMembers;
  417.     }
  418.     public function setTitlesMembers(?TitlesMembers $titlesMembers): self
  419.     {
  420.         $this->titlesMembers $titlesMembers;
  421.         return $this;
  422.     }
  423.     public function getCvFr(): ?string
  424.     {
  425.         return $this->CvFr;
  426.     }
  427.     public function setCvFr(?string $CvFr): self
  428.     {
  429.         $this->CvFr $CvFr;
  430.         return $this;
  431.     }
  432.     public function getCvEn(): ?string
  433.     {
  434.         return $this->CvEn;
  435.     }
  436.     public function setCvEn(?string $CvEn): self
  437.     {
  438.         $this->CvEn $CvEn;
  439.         return $this;
  440.     }
  441.     public function getScopusID(): ?string
  442.     {
  443.         return $this->ScopusID;
  444.     }
  445.     public function setScopusID(string $ScopusID): self
  446.     {
  447.         $this->ScopusID $ScopusID;
  448.         return $this;
  449.     }
  450.     public function getDBLPLink(): ?string
  451.     {
  452.         return $this->DBLPLink;
  453.     }
  454.     public function setDBLPLink(string $DBLPLink): self
  455.     {
  456.         $this->DBLPLink $DBLPLink;
  457.         return $this;
  458.     }
  459.     public function getOrcId(): ?string
  460.     {
  461.         return $this->OrcId;
  462.     }
  463.     public function setOrcId(string $OrcId): self
  464.     {
  465.         $this->OrcId $OrcId;
  466.         return $this;
  467.     }
  468.     public function getScholarId(): ?string
  469.     {
  470.         return $this->ScholarId;
  471.     }
  472.     public function setScholarId(string $ScholarId): self
  473.     {
  474.         $this->ScholarId $ScholarId;
  475.         return $this;
  476.     }
  477.     public function getResKeywords(): ?string
  478.     {
  479.         return $this->ResKeywords;
  480.     }
  481.     public function setResKeywords(?string $ResKeywords): self
  482.     {
  483.         $this->ResKeywords $ResKeywords;
  484.         return $this;
  485.     }
  486.     public function getShBiography(): ?string
  487.     {
  488.         return $this->ShBiography;
  489.     }
  490.     public function setShBiography(?string $ShBiography): self
  491.     {
  492.         $this->ShBiography $ShBiography;
  493.         return $this;
  494.     }
  495.     public function getPhotoProfil(): ?string
  496.     {
  497.         return $this->photoProfil;
  498.     }
  499.     public function setPhotoProfil(?string $photoProfil): self
  500.     {
  501.         $this->photoProfil $photoProfil;
  502.         return $this;
  503.     }
  504.     /**
  505.      * @return Collection<int, Publications>
  506.      */
  507.     public function getPublications(): Collection
  508.     {
  509.         return $this->publications;
  510.     }
  511.     public function addPublication(Publications $publication): self
  512.     {
  513.         if (!$this->publications->contains($publication)) {
  514.             $this->publications[] = $publication;
  515.             $publication->addMembre($this);
  516.         }
  517.         return $this;
  518.     }
  519.     public function addPublicationEdit(Publications $publication): self
  520.     {
  521.         $this->publications[] = $publication;
  522.         $publication->addMembre($this);
  523.         return $this;
  524.     }
  525.     public function removePublication(Publications $publication): self
  526.     {
  527.         if ($this->publications->contains($publication)) {
  528.             $this->publications->removeElement($publication);
  529.             $publication->removeMembre($this); // Assurez-vous que la relation inverse est mise à jour
  530.         }
  531.         return $this;
  532.     }
  533.     /**
  534.      * @return Collection<int, Event>
  535.      */
  536.     public function getEvents(): Collection
  537.     {
  538.         return $this->events;
  539.     }
  540.     public function addEvent(Event $event): self
  541.     {
  542.         if (!$this->events->contains($event)) {
  543.             $this->events[] = $event;
  544.             $event->addMembre($this);
  545.         }
  546.         return $this;
  547.     }
  548.     public function removeEvent(Event $event): self
  549.     {
  550.         if ($this->events->removeElement($event)) {
  551.             $event->removeMembre($this);
  552.         }
  553.         return $this;
  554.     }
  555.     public function getEtat(): ?string
  556.     {
  557.         return $this->etat;
  558.     }
  559.     public function setEtat(string $etat): self
  560.     {
  561.         $this->etat $etat;
  562.         return $this;
  563.     }
  564.     public function getWebPage(): ?string
  565.     {
  566.         return $this->webPage;
  567.     }
  568.     public function setWebPage(?string $webPage): self
  569.     {
  570.         $this->webPage $webPage;
  571.         return $this;
  572.     }
  573.     public function getLinkedin(): ?string
  574.     {
  575.         return $this->linkedin;
  576.     }
  577.     public function setLinkedin(?string $linkedin): self
  578.     {
  579.         $this->linkedin $linkedin;
  580.         return $this;
  581.     }
  582.     public function getCreationDate(): ?\DateTimeInterface
  583.     {
  584.         return $this->creation_date;
  585.     }
  586.     public function setCreationDate(?\DateTimeInterface $creation_date): self
  587.     {
  588.         $this->creation_date $creation_date;
  589.         return $this;
  590.     }
  591.     public function getModificationDate(): ?\DateTimeInterface
  592.     {
  593.         return $this->modification_date;
  594.     }
  595.     public function setModificationDate(?\DateTimeInterface $modification_date): self
  596.     {
  597.         $this->modification_date $modification_date;
  598.         return $this;
  599.     }
  600.     public function getValidatedById(): ?int
  601.     {
  602.         return $this->validated_by_id;
  603.     }
  604.     public function setValidatedById(?int $validated_by_id): self
  605.     {
  606.         $this->validated_by_id $validated_by_id;
  607.         return $this;
  608.     }
  609.     public function getHeadoflab(): ?string
  610.     {
  611.         return $this->Headoflab;
  612.     }
  613.     public function setHeadoflab(?string $Headoflab): self
  614.     {
  615.         $this->Headoflab $Headoflab;
  616.         return $this;
  617.     }
  618.     public function getDoctoraldelegate(): ?string
  619.     {
  620.         return $this->Doctoraldelegate;
  621.     }
  622.     public function setDoctoraldelegate(?string $Doctoraldelegate): self
  623.     {
  624.         $this->Doctoraldelegate $Doctoraldelegate;
  625.         return $this;
  626.     }
  627.     public function getUser(): ?User
  628.     {
  629.         return $this->user;
  630.     }
  631.     public function setUser(User $user): self
  632.     {
  633.         $this->user $user;
  634.         return $this;
  635.     }
  636.     public function removeAllPublications(): self
  637.     {
  638.         foreach ($this->publications as $publication) {
  639.             $this->removePublication($publication);
  640.         }
  641.         return $this;
  642.     }
  643.     /**
  644.      * @return mixed
  645.      */
  646.     public function getIsEditor()
  647.     {
  648.         return $this->isEditor;
  649.     }
  650.     /**
  651.      * @param mixed $isEditor
  652.      */
  653.     public function setIsEditor($isEditor): void
  654.     {
  655.         $this->isEditor $isEditor;
  656.     }
  657. }