src/Entity/User.php line 23

Open in your IDE?
  1. <?php
  2. // src/Entity/User.php
  3. namespace App\Entity;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8. use Symfony\Component\Security\Core\User\UserInterface;
  9. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  10. use Doctrine\Common\Collections\ArrayCollection;
  11. use Doctrine\Common\Collections\Collection;
  12. /**
  13.  * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
  14.  * @ORM\Table(name="69pixl_user")
  15.  * @UniqueEntity(fields="email", message="Email already taken")
  16.  * @UniqueEntity(fields="username", message="Username already taken")
  17.  * @ORM\HasLifecycleCallbacks()
  18.  */
  19. class User implements UserInterfacePasswordAuthenticatedUserInterface
  20. {
  21.     /**
  22.      * @ORM\PrePersist
  23.      */
  24.     public function prePersist()
  25.     {
  26.         $this->dateCreated = new \DateTime();
  27.     }
  28.     /**
  29.      * @ORM\Id
  30.      * @ORM\Column(type="integer")
  31.      * @ORM\GeneratedValue(strategy="AUTO")
  32.      */
  33.     private $id;
  34.     /**
  35.      * @var datetime
  36.      * @ORM\Column(name="date_created", type="datetime", nullable=true)
  37.      */
  38.     protected $dateCreated;
  39.     /**
  40.      * @ORM\Column(type="string", length=190, unique=true)
  41.      * @Assert\NotBlank()
  42.      * @Assert\Email()
  43.      */
  44.     private $email;
  45.     /**
  46.      * @ORM\Column(type="string", length=190, nullable=true)
  47.      */
  48.     private $username;
  49.     /**
  50.      * @Assert\Length(max=4096)
  51.      */
  52.     private $plainPassword;
  53.     /**
  54.      * The below length depends on the "algorithm" you use for encoding
  55.      * the password, but this works well with bcrypt.
  56.      *
  57.      * @ORM\Column(type="string", length=64)
  58.      */
  59.     private $password;
  60.     /**
  61.      * @ORM\Column(type="string", length=190, nullable=true)
  62.      * @Assert\NotBlank()
  63.      */
  64.     private $lastName;
  65.     /**
  66.      * @ORM\Column(type="string", length=190, nullable=true)
  67.      * @Assert\NotBlank()
  68.      */
  69.     private $firstName;
  70.     /**
  71.      * @ORM\Column(type="string", length=190, nullable=true)
  72.      */
  73.     private $codeConseiller;
  74.     /**
  75.      * @ORM\Column(type="string", length=190, nullable=true)
  76.      */
  77.     private $numeroSiren;
  78.     /**
  79.      * @ORM\Column(type="string", length=255, nullable=true)
  80.      */
  81.     private $phonePrefix;
  82.     /**
  83.      * @ORM\Column(type="string", length=30, nullable=true)
  84.      */
  85.     private $phone;
  86.     /**
  87.      * @ORM\Column(type="string", length=190, nullable=true)
  88.      */
  89.     private $sex;
  90.     /**
  91.      * @ORM\Column(type="datetime", nullable=true)
  92.      */
  93.     private $dateDeNaissance;
  94.     /**
  95.      * @ORM\Column(type="string", length=190, nullable=true)
  96.      */
  97.     private $numeroDeVoie;
  98.     /**
  99.      * @ORM\Column(type="string", length=190, nullable=true)
  100.      */
  101.     private $codePostal;
  102.     /**
  103.      * @ORM\Column(type="string", length=190, nullable=true)
  104.      */
  105.     private $ville;
  106.     /**
  107.      * @ORM\Column(type="string", length=190, nullable=true)
  108.      */
  109.     private $pays;
  110.     /**
  111.      * @ORM\Column(type="text", nullable=true)
  112.      */
  113.     private $tokenReset;
  114.     /**
  115.      * @ORM\Column(type="string", length=190, nullable=true)
  116.      */
  117.     private $status;
  118.     /**
  119.      * @ORM\Column(type="string", length=190, nullable=true)
  120.      */
  121.     private $adherentDistributeur;
  122.     /**
  123.      * @ORM\Column(type="boolean", nullable=true)
  124.      */
  125.     private $dicIsFile;
  126.     /**
  127.      * @ORM\Column(type="array")
  128.      */
  129.     private $roles;
  130.     /**
  131.      * @ORM\Column(type="integer", length=30, nullable=true)
  132.      */
  133.     private $currentSign;
  134.     /**
  135.      * @ORM\Column(type="string", length=190, nullable=true)
  136.      */
  137.     private $tokenSignupContinue;
  138.     /**
  139.      * @ORM\Column(type="string", length=190, nullable=true)
  140.      */
  141.     private $stepSignup;
  142.     /**
  143.      * @ORM\Column(type="boolean", nullable=true)
  144.      */
  145.     private $isAutoSignup;
  146.     /**
  147.      * @ORM\Column(type="string", length=190, nullable=true)
  148.      */
  149.     private $autoSignFolderNumber;
  150.     /**
  151.      * @ORM\Column(type="boolean", nullable=true)
  152.      */
  153.     private $adresseFiscaleFrance;
  154.     /**
  155.      * @ORM\Column(type="boolean", nullable=true)
  156.      */
  157.     private $acceptConditionsGeneralesUtilisation;
  158.     /**
  159.      * @ORM\Column(type="boolean", nullable=true)
  160.      */
  161.     private $connaissanceProtectionDonneesPersonnelles;
  162.     /**
  163.      * @ORM\Column(type="boolean", nullable=true)
  164.      */
  165.     private $accepteRecevoirPropositionCommercialMailTelephone;
  166.     /**
  167.      * @var Memberships[]
  168.      * @ORM\OneToMany(targetEntity="App\Entity\Membership", mappedBy="user")
  169.      */
  170.     protected $memberships;
  171.     /**
  172.      * @var Customers[]
  173.      * @ORM\OneToMany(targetEntity="App\Entity\User", mappedBy="seller")
  174.      */
  175.     protected $customers;
  176.     /**
  177.      * @var seller
  178.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="memberships")
  179.      */
  180.     protected $seller;
  181.     /**
  182.      * @var LoginLogs[]
  183.      * @ORM\OneToMany(targetEntity="App\Entity\LoginLog", mappedBy="user")
  184.      */
  185.     protected $loginLogs;
  186.     /**
  187.      * @var cps[]
  188.      * @ORM\OneToMany(targetEntity="App\Entity\Cp", mappedBy="createdBy")
  189.      */
  190.     protected $cps;
  191.     /**
  192.      * @var cpSignatory[]
  193.      * @ORM\OneToMany(targetEntity="App\Entity\Cp", mappedBy="signatoryUser")
  194.      */
  195.     protected $cpSignatory;
  196.     /**
  197.      * @var listDocType[]
  198.      * @ORM\OneToMany(targetEntity="App\Entity\SignatoryDocType", mappedBy="signatory")
  199.      */
  200.     protected $listDocType;
  201.     public function __construct()
  202.     {
  203.         $this->roles = array('ROLE_USER');
  204.         $this->memberShips = new ArrayCollection();
  205.         $this->memberships = new ArrayCollection();
  206.         $this->customers = new ArrayCollection();
  207.         $this->loginLogs = new ArrayCollection();
  208.         $this->cps = new ArrayCollection();
  209.         $this->cpSignatory = new ArrayCollection();
  210.         $this->listDocType = new ArrayCollection();
  211.     }
  212.     // other properties and methods
  213.     public function getEmail()
  214.     {
  215.         return $this->email;
  216.     }
  217.     public function setEmail($email)
  218.     {
  219.         $this->email $email;
  220.     }
  221.     public function getUsername()
  222.     {
  223.         return $this->username;
  224.     }
  225.     public function setUsername($username)
  226.     {
  227.         $this->username $username;
  228.     }
  229.     public function getPlainPassword()
  230.     {
  231.         return $this->plainPassword;
  232.     }
  233.     public function setPlainPassword($password)
  234.     {
  235.         $this->plainPassword $password;
  236.     }
  237.     public function getPassword(): string
  238.     {
  239.         return $this->password;
  240.     }
  241.     public function setPassword($password)
  242.     {
  243.         $this->password $password;
  244.     }
  245.     public function getSalt()
  246.     {
  247.         // The bcrypt and argon2i algorithms don't require a separate salt.
  248.         // You *may* need a real salt if you choose a different encoder.
  249.         return null;
  250.     }
  251.     public function getRoles()
  252.     {
  253.         return $this->roles;
  254.     }
  255.     public function eraseCredentials()
  256.     {
  257.     }
  258.     public function getId(): ?int
  259.     {
  260.         return $this->id;
  261.     }
  262.     public function getLastName(): ?string
  263.     {
  264.         return $this->lastName;
  265.     }
  266.     public function setLastName(?string $lastName): self
  267.     {
  268.         $this->lastName $lastName;
  269.         return $this;
  270.     }
  271.     public function getFirstName(): ?string
  272.     {
  273.         return $this->firstName;
  274.     }
  275.     public function setFirstName(?string $firstName): self
  276.     {
  277.         $this->firstName $firstName;
  278.         return $this;
  279.     }
  280.     public function setRoles(array $roles): self
  281.     {
  282.         $this->roles $roles;
  283.         return $this;
  284.     }
  285.     /**
  286.      * Get roleTranslate
  287.      *
  288.      * @return integer
  289.      */
  290.     public function getRoleMain()
  291.     {
  292.         $main "";
  293.         foreach ($this->getRoles() as $role) {
  294.             if($role != "ROLE_USER"){
  295.                 $main .= $role;
  296.             }
  297.         }
  298.         return $main;
  299.     }
  300.     public function getFullNameSignatory(): ?string
  301.     {
  302.         $lastName '';
  303.         $firstName '';
  304.         $fullName '';
  305.         foreach ($this->getRoles() as $role) {
  306.             if($role === "ROLE_SIGNATORY"){
  307.                 $lastName $this->getLastName();
  308.                 $firstName $this->getFirstName();
  309.                 $fullName $firstName .' '$lastName;
  310.             }
  311.         }
  312.         return $fullName;
  313.     }
  314.     public function getPhone(): ?string
  315.     {
  316.         return $this->phone;
  317.     }
  318.     public function setPhone(?string $phone): self
  319.     {
  320.         $this->phone $phone;
  321.         return $this;
  322.     }
  323.     public function getTokenReset(): ?string
  324.     {
  325.         return $this->tokenReset;
  326.     }
  327.     public function setTokenReset(?string $tokenReset): self
  328.     {
  329.         $this->tokenReset $tokenReset;
  330.         return $this;
  331.     }
  332.     public function getStatus(): ?string
  333.     {
  334.         return $this->status;
  335.     }
  336.     public function setStatus(?string $status): self
  337.     {
  338.         $this->status $status;
  339.         return $this;
  340.     }
  341.     public function addRole($role)
  342.     {
  343.         $role strtoupper($role);
  344.         if ($role === "ROLE_DEFAULT") {
  345.             return $this;
  346.         }
  347.         if (!in_array($role$this->rolestrue)) {
  348.             $this->roles[] = $role;
  349.         }
  350.         return $this;
  351.     }
  352.     public function getCurrentMemberships()
  353.     {
  354.         $currentMemberships null;
  355.         if(count($this->memberships) > 0){
  356.             $currentMemberships $this->memberships[count($this->memberships) -1];
  357.         }
  358.         return $currentMemberships;
  359.     }
  360.     /**
  361.      * @return Collection|Membership[]
  362.      */
  363.     public function getMemberships(): Collection
  364.     {
  365.         return $this->memberships;
  366.     }
  367.     public function addMembership(Membership $membership): self
  368.     {
  369.         if (!$this->memberships->contains($membership)) {
  370.             $this->memberships[] = $membership;
  371.             $membership->setUser($this);
  372.         }
  373.         return $this;
  374.     }
  375.     public function removeMembership(Membership $membership): self
  376.     {
  377.         if ($this->memberships->contains($membership)) {
  378.             $this->memberships->removeElement($membership);
  379.             // set the owning side to null (unless already changed)
  380.             if ($membership->getUser() === $this) {
  381.                 $membership->setUser(null);
  382.             }
  383.         }
  384.         return $this;
  385.     }
  386.     /**
  387.      * @return Collection|User[]
  388.      */
  389.     public function getCustomers(): Collection
  390.     {
  391.         return $this->customers;
  392.     }
  393.     public function addCustomer(User $customer): self
  394.     {
  395.         if (!$this->customers->contains($customer)) {
  396.             $this->customers[] = $customer;
  397.             $customer->setSeller($this);
  398.         }
  399.         return $this;
  400.     }
  401.     public function removeCustomer(User $customer): self
  402.     {
  403.         if ($this->customers->contains($customer)) {
  404.             $this->customers->removeElement($customer);
  405.             // set the owning side to null (unless already changed)
  406.             if ($customer->getSeller() === $this) {
  407.                 $customer->setSeller(null);
  408.             }
  409.         }
  410.         return $this;
  411.     }
  412.     public function getSeller(): ?self
  413.     {
  414.         return $this->seller;
  415.     }
  416.     public function setSeller(?self $seller): self
  417.     {
  418.         $this->seller $seller;
  419.         return $this;
  420.     }
  421.     public function getDateCreated(): ?\DateTimeInterface
  422.     {
  423.         return $this->dateCreated;
  424.     }
  425.     public function setDateCreated(\DateTimeInterface $dateCreated): self
  426.     {
  427.         $this->dateCreated $dateCreated;
  428.         return $this;
  429.     }
  430.     public function getCodeConseiller(): ?string
  431.     {
  432.         return $this->codeConseiller;
  433.     }
  434.     public function setCodeConseiller(?string $codeConseiller): self
  435.     {
  436.         $this->codeConseiller $codeConseiller;
  437.         return $this;
  438.     }
  439.     public function getNumeroSiren(): ?string
  440.     {
  441.         return $this->numeroSiren;
  442.     }
  443.     public function setNumeroSiren(?string $numeroSiren): self
  444.     {
  445.         $this->numeroSiren $numeroSiren;
  446.         return $this;
  447.     }
  448.     public function getSexTranslate(): ?string
  449.     {
  450.         $trans "";
  451.         if($this->sex == 0){
  452.             $trans "M";
  453.         }
  454.         else{
  455.             $trans "Mme";
  456.         }
  457.         return $trans;
  458.     }
  459.     public function getSex(): ?string
  460.     {
  461.         return $this->sex;
  462.     }
  463.     public function setSex(?string $sex): self
  464.     {
  465.         $this->sex $sex;
  466.         return $this;
  467.     }
  468.     public function getDateDeNaissance()
  469.     {
  470.         return $this->dateDeNaissance;
  471.     }
  472.     public function setDateDeNaissance($dateDeNaissance): self
  473.     {
  474.         $this->dateDeNaissance $dateDeNaissance;
  475.         return $this;
  476.     }
  477.     public function getNumeroDeVoie(): ?string
  478.     {
  479.         return $this->numeroDeVoie;
  480.     }
  481.     public function setNumeroDeVoie(?string $numeroDeVoie): self
  482.     {
  483.         $this->numeroDeVoie $numeroDeVoie;
  484.         return $this;
  485.     }
  486.     public function getCodePostal(): ?string
  487.     {
  488.         return $this->codePostal;
  489.     }
  490.     public function setCodePostal(?string $codePostal): self
  491.     {
  492.         $this->codePostal $codePostal;
  493.         return $this;
  494.     }
  495.     public function getVille(): ?string
  496.     {
  497.         return $this->ville;
  498.     }
  499.     public function setVille(?string $ville): self
  500.     {
  501.         $this->ville $ville;
  502.         return $this;
  503.     }
  504.     public function getPays(): ?string
  505.     {
  506.         return $this->pays;
  507.     }
  508.     public function setPays(?string $pays): self
  509.     {
  510.         $this->pays $pays;
  511.         return $this;
  512.     }
  513.     public function getAdherentDistributeur(): ?string
  514.     {
  515.         return $this->adherentDistributeur;
  516.     }
  517.     public function setAdherentDistributeur(?string $adherentDistributeur): self
  518.     {
  519.         $this->adherentDistributeur $adherentDistributeur;
  520.         return $this;
  521.     }
  522.     public function getDicIsFile(): ?bool
  523.     {
  524.         return $this->dicIsFile;
  525.     }
  526.     public function setDicIsFile(?bool $dicIsFile): self
  527.     {
  528.         $this->dicIsFile $dicIsFile;
  529.         return $this;
  530.     }
  531.     /**
  532.      * @return Collection|LoginLog[]
  533.      */
  534.     public function getLoginLogs(): Collection
  535.     {
  536.         return $this->loginLogs;
  537.     }
  538.     public function addLoginLog(LoginLog $loginLog): self
  539.     {
  540.         if (!$this->loginLogs->contains($loginLog)) {
  541.             $this->loginLogs[] = $loginLog;
  542.             $loginLog->setUser($this);
  543.         }
  544.         return $this;
  545.     }
  546.     public function removeLoginLog(LoginLog $loginLog): self
  547.     {
  548.         if ($this->loginLogs->contains($loginLog)) {
  549.             $this->loginLogs->removeElement($loginLog);
  550.             // set the owning side to null (unless already changed)
  551.             if ($loginLog->getUser() === $this) {
  552.                 $loginLog->setUser(null);
  553.             }
  554.         }
  555.         return $this;
  556.     }
  557.     public function getPhonePrefix(): ?string
  558.     {
  559.         return $this->phonePrefix;
  560.     }
  561.     public function setPhonePrefix(?string $phonePrefix): self
  562.     {
  563.         $this->phonePrefix $phonePrefix;
  564.         return $this;
  565.     }
  566.     /**
  567.      * @return Collection|Cp[]
  568.      */
  569.     public function getCps(): Collection
  570.     {
  571.         return $this->cps;
  572.     }
  573.     public function addCp(Cp $cp): self
  574.     {
  575.         if (!$this->cps->contains($cp)) {
  576.             $this->cps[] = $cp;
  577.             $cp->setCreatedBy($this);
  578.         }
  579.         return $this;
  580.     }
  581.     public function removeCp(Cp $cp): self
  582.     {
  583.         if ($this->cps->removeElement($cp)) {
  584.             // set the owning side to null (unless already changed)
  585.             if ($cp->getCreatedBy() === $this) {
  586.                 $cp->setCreatedBy(null);
  587.             }
  588.         }
  589.         return $this;
  590.     }
  591.     public function getCpSignatory(): Collection
  592.     {
  593.         return $this->cpSignatory;
  594.     }
  595.     public function addCpSignatory(Cp $cp): self
  596.     {
  597.         if (!$this->CpSignatory->contains($cp)) {
  598.             $this->CpSignatory[] = $cp;
  599.             $cp->setSignatoryUser($this);
  600.         }
  601.         return $this;
  602.     }
  603.     public function removeCpSignatory(Cp $cp): self
  604.     {
  605.         if ($this->CpSignatory->removeElement($cp)) {
  606.             // set the owning side to null (unless already changed)
  607.             if ($cp->getSignatoryUser() === $this) {
  608.                 $cp->setSignatoryUser(null);
  609.             }
  610.         }
  611.         return $this;
  612.     }
  613.     public function getListDocType(): Collection
  614.     {
  615.         return $this->listDocType;
  616.     }
  617.     public function addListDocType(SignatoryDocType $file): self
  618.     {
  619.         if (!$this->listDocType->contains($file)) {
  620.             $this->listDocType[] = $file;
  621.             $file->setSignatory($this);
  622.         }
  623.         return $this;
  624.     }
  625.     public function removeListDocType(SignatoryDocType $file): self
  626.     {
  627.         if ($this->listDocType->removeElement($file)) {
  628.             // set the owning side to null (unless already changed)
  629.             if ($file->getSignatory() === $this) {
  630.                 $file->setSignatory(null);
  631.             }
  632.         }
  633.         return $this;
  634.     }
  635.     public function isDicIsFile(): ?bool
  636.     {
  637.         return $this->dicIsFile;
  638.     }
  639.     public function getCurrentSign(): ?int
  640.     {
  641.         return $this->currentSign;
  642.     }
  643.     public function setCurrentSign(?int $currentSign): self
  644.     {
  645.         $this->currentSign $currentSign;
  646.         return $this;
  647.     }
  648.     public function getTokenSignupContinue(): ?string
  649.     {
  650.         return $this->tokenSignupContinue;
  651.     }
  652.     public function setTokenSignupContinue(?string $tokenSignupContinue): static
  653.     {
  654.         $this->tokenSignupContinue $tokenSignupContinue;
  655.         return $this;
  656.     }
  657.     public function isIsAutoSignup(): ?bool
  658.     {
  659.         return $this->isAutoSignup;
  660.     }
  661.     public function setIsAutoSignup(?bool $isAutoSignup): static
  662.     {
  663.         $this->isAutoSignup $isAutoSignup;
  664.         return $this;
  665.     }
  666.     public function isAcceptConditionsGeneralesUtilisation(): ?bool
  667.     {
  668.         return $this->acceptConditionsGeneralesUtilisation;
  669.     }
  670.     public function setAcceptConditionsGeneralesUtilisation(?bool $acceptConditionsGeneralesUtilisation): static
  671.     {
  672.         $this->acceptConditionsGeneralesUtilisation $acceptConditionsGeneralesUtilisation;
  673.         return $this;
  674.     }
  675.     public function isConnaissanceProtectionDonneesPersonnelles(): ?bool
  676.     {
  677.         return $this->connaissanceProtectionDonneesPersonnelles;
  678.     }
  679.     public function setConnaissanceProtectionDonneesPersonnelles(?bool $connaissanceProtectionDonneesPersonnelles): static
  680.     {
  681.         $this->connaissanceProtectionDonneesPersonnelles $connaissanceProtectionDonneesPersonnelles;
  682.         return $this;
  683.     }
  684.     public function isAccepteRecevoirPropositionCommercialMailTelephone(): ?bool
  685.     {
  686.         return $this->accepteRecevoirPropositionCommercialMailTelephone;
  687.     }
  688.     public function setAccepteRecevoirPropositionCommercialMailTelephone(?bool $accepteRecevoirPropositionCommercialMailTelephone): static
  689.     {
  690.         $this->accepteRecevoirPropositionCommercialMailTelephone $accepteRecevoirPropositionCommercialMailTelephone;
  691.         return $this;
  692.     }
  693.     public function getStepSignup(): ?string
  694.     {
  695.         return $this->stepSignup;
  696.     }
  697.     public function setStepSignup(?string $stepSignup): static
  698.     {
  699.         $this->stepSignup $stepSignup;
  700.         return $this;
  701.     }
  702.     public function isAdresseFiscaleFrance(): ?bool
  703.     {
  704.         return $this->adresseFiscaleFrance;
  705.     }
  706.     public function setAdresseFiscaleFrance(?bool $adresseFiscaleFrance): static
  707.     {
  708.         $this->adresseFiscaleFrance $adresseFiscaleFrance;
  709.         return $this;
  710.     }
  711.     public function getAutoSignFolderNumber(): ?string
  712.     {
  713.         return $this->autoSignFolderNumber;
  714.     }
  715.     public function setAutoSignFolderNumber(?string $autoSignFolderNumber): static
  716.     {
  717.         $this->autoSignFolderNumber $autoSignFolderNumber;
  718.         return $this;
  719.     }
  720. }