src/Entity/User.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserRepository;
  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\Security\Core\User\PasswordAuthenticatedUserInterface;
  9. use Symfony\Component\Security\Core\User\UserInterface;
  10. /**
  11.  * @ORM\Entity(repositoryClass=UserRepository::class)
  12.  * @UniqueEntity(fields={"email"}, message="There is already an account with this email")
  13.  */
  14. class User implements UserInterfacePasswordAuthenticatedUserInterface
  15. {
  16.     /**
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue
  19.      * @ORM\Column(type="integer")
  20.      */
  21.     private $id;
  22.     /**
  23.      * @ORM\Column(type="string", length=180, unique=true)
  24.      */
  25.     private $email;
  26.     /**
  27.      * @ORM\Column(type="json")
  28.      */
  29.     private $roles = [];
  30.     /**
  31.      * @var string The hashed password
  32.      * @ORM\Column(type="string")
  33.      */
  34.     private $password;
  35.     /**
  36.      * @ORM\Column(type="string", length=255, nullable=true)
  37.      */
  38.     private $Civilite;
  39.     /**
  40.      * @ORM\Column(type="string", length=255, nullable=true)
  41.      */
  42.     private $Nom;
  43.     /**
  44.      * @ORM\Column(type="string", length=255, nullable=true)
  45.      */
  46.     private $Prenom;
  47.     /**
  48.      * @ORM\Column(type="string", length=255, nullable=true)
  49.      */
  50.     private $RaisonSociale;
  51.     /**
  52.      * @ORM\Column(type="integer", nullable=true)
  53.      */
  54.     private $Siret;
  55.     /**
  56.      * @ORM\Column(type="string", length=255, nullable=true)
  57.      */
  58.     private $Tva;
  59.     /**
  60.      * @ORM\Column(type="string", length=255, nullable=true)
  61.      */
  62.     private $Adresse;
  63.     /**
  64.      * @ORM\Column(type="string", length=255, nullable=true)
  65.      */
  66.     private $CodePostal;
  67.     /**
  68.      * @ORM\Column(type="string", length=255, nullable=true)
  69.      */
  70.     private $Telephone;
  71.     /**
  72.      * @ORM\Column(type="string", length=255, nullable=true)
  73.      */
  74.     private $Logo;
  75.     /**
  76.      * @ORM\Column(type="string", length=255, nullable=true)
  77.      */
  78.     private $Type;
  79.     /**
  80.      * @ORM\OneToMany(targetEntity=Favoris::class, mappedBy="User")
  81.      */
  82.     private $favoris;
  83.     /**
  84.      * @ORM\OneToMany(targetEntity=Annonces::class, mappedBy="User")
  85.      */
  86.     private $annonces;
  87.     /**
  88.      * @ORM\OneToMany(targetEntity=NotesEnseignes::class, mappedBy="User")
  89.      */
  90.     private $notesEnseignes;
  91.     /**
  92.      * @ORM\OneToMany(targetEntity=NotesAnnonces::class, mappedBy="User")
  93.      */
  94.     private $notesAnnonces;
  95.     /**
  96.      * @ORM\OneToMany(targetEntity=Alertes::class, mappedBy="User")
  97.      */
  98.     private $alertes;
  99.     /**
  100.      * @ORM\Column(type="boolean")
  101.      */
  102.     private $Actif 1;
  103.     /**
  104.      * @ORM\Column(type="integer", nullable=true)
  105.      */
  106.     private $Credits 100;
  107.     /**
  108.      * @ORM\ManyToOne(targetEntity=Villes::class, inversedBy="users")
  109.      */
  110.     private $Villes;
  111.     /**
  112.      * @ORM\ManyToOne(targetEntity=Pays::class, inversedBy="users")
  113.      */
  114.     private $Pays;
  115.     /**
  116.      * @ORM\Column(type="datetime")
  117.      */
  118.     private $Created;
  119.     /**
  120.      * @ORM\Column(type="string", length=255, nullable=true)
  121.      */
  122.     private $TokenMobile;
  123.     /**
  124.      * @ORM\OneToMany(targetEntity=Commandes::class, mappedBy="User")
  125.      */
  126.     private $commandes;
  127.     /**
  128.      * @ORM\OneToMany(targetEntity=Factures::class, mappedBy="User")
  129.      */
  130.     private $factures;
  131.     public function __construct()
  132.     {
  133.         $this->favoris = new ArrayCollection();
  134.         $this->annonces = new ArrayCollection();
  135.         $this->notesEnseignes = new ArrayCollection();
  136.         $this->notesAnnonces = new ArrayCollection();
  137.         $this->alertes = new ArrayCollection();
  138.         $this->commandes = new ArrayCollection();
  139.         $this->factures = new ArrayCollection();
  140.     }
  141.     public function getId(): ?int
  142.     {
  143.         return $this->id;
  144.     }
  145.     public function getEmail(): ?string
  146.     {
  147.         return $this->email;
  148.     }
  149.     public function setEmail(string $email): self
  150.     {
  151.         $this->email $email;
  152.         return $this;
  153.     }
  154.     /**
  155.      * A visual identifier that represents this user.
  156.      *
  157.      * @see UserInterface
  158.      */
  159.     public function getUserIdentifier(): string
  160.     {
  161.         return (string) $this->email;
  162.     }
  163.     /**
  164.      * @deprecated since Symfony 5.3, use getUserIdentifier instead
  165.      */
  166.     public function getUsername(): string
  167.     {
  168.         return (string) $this->email;
  169.     }
  170.     /**
  171.      * @see UserInterface
  172.      */
  173.     public function getRoles(): array
  174.     {
  175.         $roles $this->roles;
  176.         // guarantee every user at least has ROLE_USER
  177.         $roles[] = 'ROLE_USER';
  178.         return array_unique($roles);
  179.     }
  180.     public function setRoles(array $roles): self
  181.     {
  182.         $this->roles $roles;
  183.         return $this;
  184.     }
  185.     /**
  186.      * @see PasswordAuthenticatedUserInterface
  187.      */
  188.     public function getPassword(): string
  189.     {
  190.         return $this->password;
  191.     }
  192.     public function setPassword(string $password): self
  193.     {
  194.         $this->password $password;
  195.         return $this;
  196.     }
  197.     /**
  198.      * Returning a salt is only needed, if you are not using a modern
  199.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  200.      *
  201.      * @see UserInterface
  202.      */
  203.     public function getSalt(): ?string
  204.     {
  205.         return null;
  206.     }
  207.     /**
  208.      * @see UserInterface
  209.      */
  210.     public function eraseCredentials()
  211.     {
  212.         // If you store any temporary, sensitive data on the user, clear it here
  213.         // $this->plainPassword = null;
  214.     }
  215.     public function getCivilite(): ?string
  216.     {
  217.         return $this->Civilite;
  218.     }
  219.     public function setCivilite(?string $Civilite): self
  220.     {
  221.         $this->Civilite $Civilite;
  222.         return $this;
  223.     }
  224.     public function getNom(): ?string
  225.     {
  226.         return $this->Nom;
  227.     }
  228.     public function setNom(?string $Nom): self
  229.     {
  230.         $this->Nom $Nom;
  231.         return $this;
  232.     }
  233.     public function getPrenom(): ?string
  234.     {
  235.         return $this->Prenom;
  236.     }
  237.     public function setPrenom(?string $Prenom): self
  238.     {
  239.         $this->Prenom $Prenom;
  240.         return $this;
  241.     }
  242.     public function getRaisonSociale(): ?string
  243.     {
  244.         return $this->RaisonSociale;
  245.     }
  246.     public function setRaisonSociale(?string $RaisonSociale): self
  247.     {
  248.         $this->RaisonSociale $RaisonSociale;
  249.         return $this;
  250.     }
  251.     public function getSiret(): ?int
  252.     {
  253.         return $this->Siret;
  254.     }
  255.     public function setSiret(?int $Siret): self
  256.     {
  257.         $this->Siret $Siret;
  258.         return $this;
  259.     }
  260.     public function getTva(): ?string
  261.     {
  262.         return $this->Tva;
  263.     }
  264.     public function setTva(?string $Tva): self
  265.     {
  266.         $this->Tva $Tva;
  267.         return $this;
  268.     }
  269.     public function getAdresse(): ?string
  270.     {
  271.         return $this->Adresse;
  272.     }
  273.     public function setAdresse(?string $Adresse): self
  274.     {
  275.         $this->Adresse $Adresse;
  276.         return $this;
  277.     }
  278.     public function getCodePostal(): ?string
  279.     {
  280.         return $this->CodePostal;
  281.     }
  282.     public function setCodePostal(?string $CodePostal): self
  283.     {
  284.         $this->CodePostal $CodePostal;
  285.         return $this;
  286.     }
  287.     public function getTelephone(): ?string
  288.     {
  289.         return $this->Telephone;
  290.     }
  291.     public function setTelephone(?string $Telephone): self
  292.     {
  293.         $this->Telephone $Telephone;
  294.         return $this;
  295.     }
  296.     public function getLogo(): ?string
  297.     {
  298.         return $this->Logo;
  299.     }
  300.     public function setLogo(?string $Logo): self
  301.     {
  302.         $this->Logo $Logo;
  303.         return $this;
  304.     }
  305.     public function getType(): ?string
  306.     {
  307.         return $this->Type;
  308.     }
  309.     public function setType(?string $Type): self
  310.     {
  311.         $this->Type $Type;
  312.         return $this;
  313.     }
  314.     /**
  315.      * @return Collection<int, Favoris>
  316.      */
  317.     public function getFavoris(): Collection
  318.     {
  319.         return $this->favoris;
  320.     }
  321.     public function addFavori(Favoris $favori): self
  322.     {
  323.         if (!$this->favoris->contains($favori)) {
  324.             $this->favoris[] = $favori;
  325.             $favori->setUser($this);
  326.         }
  327.         return $this;
  328.     }
  329.     public function removeFavori(Favoris $favori): self
  330.     {
  331.         if ($this->favoris->removeElement($favori)) {
  332.             // set the owning side to null (unless already changed)
  333.             if ($favori->getUser() === $this) {
  334.                 $favori->setUser(null);
  335.             }
  336.         }
  337.         return $this;
  338.     }
  339.     /**
  340.      * @return Collection<int, Annonces>
  341.      */
  342.     public function getAnnonces(): Collection
  343.     {
  344.         return $this->annonces;
  345.     }
  346.     public function addAnnonce(Annonces $annonce): self
  347.     {
  348.         if (!$this->annonces->contains($annonce)) {
  349.             $this->annonces[] = $annonce;
  350.             $annonce->setUser($this);
  351.         }
  352.         return $this;
  353.     }
  354.     public function removeAnnonce(Annonces $annonce): self
  355.     {
  356.         if ($this->annonces->removeElement($annonce)) {
  357.             // set the owning side to null (unless already changed)
  358.             if ($annonce->getUser() === $this) {
  359.                 $annonce->setUser(null);
  360.             }
  361.         }
  362.         return $this;
  363.     }
  364.     /**
  365.      * @return Collection<int, NotesEnseignes>
  366.      */
  367.     public function getNotesEnseignes(): Collection
  368.     {
  369.         return $this->notesEnseignes;
  370.     }
  371.     public function addNotesEnseigne(NotesEnseignes $notesEnseigne): self
  372.     {
  373.         if (!$this->notesEnseignes->contains($notesEnseigne)) {
  374.             $this->notesEnseignes[] = $notesEnseigne;
  375.             $notesEnseigne->setUser($this);
  376.         }
  377.         return $this;
  378.     }
  379.     public function removeNotesEnseigne(NotesEnseignes $notesEnseigne): self
  380.     {
  381.         if ($this->notesEnseignes->removeElement($notesEnseigne)) {
  382.             // set the owning side to null (unless already changed)
  383.             if ($notesEnseigne->getUser() === $this) {
  384.                 $notesEnseigne->setUser(null);
  385.             }
  386.         }
  387.         return $this;
  388.     }
  389.     /**
  390.      * @return Collection<int, NotesAnnonces>
  391.      */
  392.     public function getNotesAnnonces(): Collection
  393.     {
  394.         return $this->notesAnnonces;
  395.     }
  396.     public function addNotesAnnonce(NotesAnnonces $notesAnnonce): self
  397.     {
  398.         if (!$this->notesAnnonces->contains($notesAnnonce)) {
  399.             $this->notesAnnonces[] = $notesAnnonce;
  400.             $notesAnnonce->setUser($this);
  401.         }
  402.         return $this;
  403.     }
  404.     public function removeNotesAnnonce(NotesAnnonces $notesAnnonce): self
  405.     {
  406.         if ($this->notesAnnonces->removeElement($notesAnnonce)) {
  407.             // set the owning side to null (unless already changed)
  408.             if ($notesAnnonce->getUser() === $this) {
  409.                 $notesAnnonce->setUser(null);
  410.             }
  411.         }
  412.         return $this;
  413.     }
  414.     /**
  415.      * @return Collection<int, Alertes>
  416.      */
  417.     public function getAlertes(): Collection
  418.     {
  419.         return $this->alertes;
  420.     }
  421.     public function addAlerte(Alertes $alerte): self
  422.     {
  423.         if (!$this->alertes->contains($alerte)) {
  424.             $this->alertes[] = $alerte;
  425.             $alerte->setUser($this);
  426.         }
  427.         return $this;
  428.     }
  429.     public function removeAlerte(Alertes $alerte): self
  430.     {
  431.         if ($this->alertes->removeElement($alerte)) {
  432.             // set the owning side to null (unless already changed)
  433.             if ($alerte->getUser() === $this) {
  434.                 $alerte->setUser(null);
  435.             }
  436.         }
  437.         return $this;
  438.     }
  439.     public function isActif(): ?bool
  440.     {
  441.         return $this->Actif;
  442.     }
  443.     public function setActif(bool $Actif): self
  444.     {
  445.         $this->Actif $Actif;
  446.         return $this;
  447.     }
  448.     public function getCredits(): ?int
  449.     {
  450.         return $this->Credits;
  451.     }
  452.     public function setCredits(?int $Credits): self
  453.     {
  454.         $this->Credits $Credits;
  455.         return $this;
  456.     }
  457.     public function getVilles(): ?Villes
  458.     {
  459.         return $this->Villes;
  460.     }
  461.     public function setVilles(?Villes $Villes): self
  462.     {
  463.         $this->Villes $Villes;
  464.         return $this;
  465.     }
  466.     public function getPays(): ?Pays
  467.     {
  468.         return $this->Pays;
  469.     }
  470.     public function setPays(?Pays $Pays): self
  471.     {
  472.         $this->Pays $Pays;
  473.         return $this;
  474.     }
  475.     public function getCreated(): ?\DateTimeInterface
  476.     {
  477.         return $this->Created;
  478.     }
  479.     public function setCreated(\DateTimeInterface $Created): self
  480.     {
  481.         $this->Created $Created;
  482.         return $this;
  483.     }
  484.     public function getTokenMobile(): ?string
  485.     {
  486.         return $this->TokenMobile;
  487.     }
  488.     public function setTokenMobile(?string $TokenMobile): self
  489.     {
  490.         $this->TokenMobile $TokenMobile;
  491.         return $this;
  492.     }
  493.     /**
  494.      * @return Collection<int, Commandes>
  495.      */
  496.     public function getCommandes(): Collection
  497.     {
  498.         return $this->commandes;
  499.     }
  500.     public function addCommande(Commandes $commande): self
  501.     {
  502.         if (!$this->commandes->contains($commande)) {
  503.             $this->commandes[] = $commande;
  504.             $commande->setUser($this);
  505.         }
  506.         return $this;
  507.     }
  508.     public function removeCommande(Commandes $commande): self
  509.     {
  510.         if ($this->commandes->removeElement($commande)) {
  511.             // set the owning side to null (unless already changed)
  512.             if ($commande->getUser() === $this) {
  513.                 $commande->setUser(null);
  514.             }
  515.         }
  516.         return $this;
  517.     }
  518.     /**
  519.      * @return Collection<int, Factures>
  520.      */
  521.     public function getFactures(): Collection
  522.     {
  523.         return $this->factures;
  524.     }
  525.     public function addFacture(Factures $facture): self
  526.     {
  527.         if (!$this->factures->contains($facture)) {
  528.             $this->factures[] = $facture;
  529.             $facture->setUser($this);
  530.         }
  531.         return $this;
  532.     }
  533.     public function removeFacture(Factures $facture): self
  534.     {
  535.         if ($this->factures->removeElement($facture)) {
  536.             // set the owning side to null (unless already changed)
  537.             if ($facture->getUser() === $this) {
  538.                 $facture->setUser(null);
  539.             }
  540.         }
  541.         return $this;
  542.     }
  543. }