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="boolean", nullable=true)
  148.      */
  149.     private $sendMailReminder7;
  150.     /**
  151.      * @ORM\Column(type="boolean", nullable=true)
  152.      */
  153.     private $sendMailReminder14;
  154.     /**
  155.      * @ORM\Column(type="string", length=190, nullable=true)
  156.      */
  157.     private $autoSignFolderNumber;
  158.     /**
  159.      * @ORM\Column(type="boolean", nullable=true)
  160.      */
  161.     private $adresseFiscaleFrance;
  162.     /**
  163.      * @ORM\Column(type="boolean", nullable=true)
  164.      */
  165.     private $acceptConditionsGeneralesUtilisation;
  166.     /**
  167.      * @ORM\Column(type="boolean", nullable=true)
  168.      */
  169.     private $connaissanceProtectionDonneesPersonnelles;
  170.     /**
  171.      * @ORM\Column(type="boolean", nullable=true)
  172.      */
  173.     private $accepteRecevoirPropositionCommercialMailTelephone;
  174.     /**
  175.      * @var Memberships[]
  176.      * @ORM\OneToMany(targetEntity="App\Entity\Membership", mappedBy="user")
  177.      */
  178.     protected $memberships;
  179.     /**
  180.      * @var Customers[]
  181.      * @ORM\OneToMany(targetEntity="App\Entity\User", mappedBy="seller")
  182.      */
  183.     protected $customers;
  184.     /**
  185.      * @var seller
  186.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="memberships")
  187.      */
  188.     protected $seller;
  189.     /**
  190.      * @var LoginLogs[]
  191.      * @ORM\OneToMany(targetEntity="App\Entity\LoginLog", mappedBy="user")
  192.      */
  193.     protected $loginLogs;
  194.     /**
  195.      * @var cps[]
  196.      * @ORM\OneToMany(targetEntity="App\Entity\Cp", mappedBy="createdBy")
  197.      */
  198.     protected $cps;
  199.     /**
  200.      * @var cpSignatory[]
  201.      * @ORM\OneToMany(targetEntity="App\Entity\Cp", mappedBy="signatoryUser")
  202.      */
  203.     protected $cpSignatory;
  204.     /**
  205.      * @var listDocType[]
  206.      * @ORM\OneToMany(targetEntity="App\Entity\SignatoryDocType", mappedBy="signatory")
  207.      */
  208.     protected $listDocType;
  209.     public function __construct()
  210.     {
  211.         $this->roles = array('ROLE_USER');
  212.         $this->memberShips = new ArrayCollection();
  213.         $this->memberships = new ArrayCollection();
  214.         $this->customers = new ArrayCollection();
  215.         $this->loginLogs = new ArrayCollection();
  216.         $this->cps = new ArrayCollection();
  217.         $this->cpSignatory = new ArrayCollection();
  218.         $this->listDocType = new ArrayCollection();
  219.     }
  220.     // other properties and methods
  221.     public function getEmail()
  222.     {
  223.         return $this->email;
  224.     }
  225.     public function setEmail($email)
  226.     {
  227.         $this->email $email;
  228.     }
  229.     public function getUsername()
  230.     {
  231.         return $this->username;
  232.     }
  233.     public function setUsername($username)
  234.     {
  235.         $this->username $username;
  236.     }
  237.     public function getPlainPassword()
  238.     {
  239.         return $this->plainPassword;
  240.     }
  241.     public function setPlainPassword($password)
  242.     {
  243.         $this->plainPassword $password;
  244.     }
  245.     public function getPassword(): string
  246.     {
  247.         return $this->password;
  248.     }
  249.     public function setPassword($password)
  250.     {
  251.         $this->password $password;
  252.     }
  253.     public function getSalt()
  254.     {
  255.         // The bcrypt and argon2i algorithms don't require a separate salt.
  256.         // You *may* need a real salt if you choose a different encoder.
  257.         return null;
  258.     }
  259.     public function getRoles()
  260.     {
  261.         return $this->roles;
  262.     }
  263.     public function eraseCredentials()
  264.     {
  265.     }
  266.     public function getId(): ?int
  267.     {
  268.         return $this->id;
  269.     }
  270.     public function getLastName(): ?string
  271.     {
  272.         return $this->lastName;
  273.     }
  274.     public function setLastName(?string $lastName): self
  275.     {
  276.         $this->lastName $lastName;
  277.         return $this;
  278.     }
  279.     public function getFirstName(): ?string
  280.     {
  281.         return $this->firstName;
  282.     }
  283.     public function setFirstName(?string $firstName): self
  284.     {
  285.         $this->firstName $firstName;
  286.         return $this;
  287.     }
  288.     public function setRoles(array $roles): self
  289.     {
  290.         $this->roles $roles;
  291.         return $this;
  292.     }
  293.     /**
  294.      * Get roleTranslate
  295.      *
  296.      * @return integer
  297.      */
  298.     public function getRoleMain()
  299.     {
  300.         $main "";
  301.         foreach ($this->getRoles() as $role) {
  302.             if($role != "ROLE_USER"){
  303.                 $main .= $role;
  304.             }
  305.         }
  306.         return $main;
  307.     }
  308.     public function getFullNameSignatory(): ?string
  309.     {
  310.         $lastName '';
  311.         $firstName '';
  312.         $fullName '';
  313.         foreach ($this->getRoles() as $role) {
  314.             if($role === "ROLE_SIGNATORY"){
  315.                 $lastName $this->getLastName();
  316.                 $firstName $this->getFirstName();
  317.                 $fullName $firstName .' '$lastName;
  318.             }
  319.         }
  320.         return $fullName;
  321.     }
  322.     public function getPhone(): ?string
  323.     {
  324.         return $this->phone;
  325.     }
  326.     public function setPhone(?string $phone): self
  327.     {
  328.         $this->phone $phone;
  329.         return $this;
  330.     }
  331.     public function getTokenReset(): ?string
  332.     {
  333.         return $this->tokenReset;
  334.     }
  335.     public function setTokenReset(?string $tokenReset): self
  336.     {
  337.         $this->tokenReset $tokenReset;
  338.         return $this;
  339.     }
  340.     public function getStatus(): ?string
  341.     {
  342.         return $this->status;
  343.     }
  344.     public function setStatus(?string $status): self
  345.     {
  346.         $this->status $status;
  347.         return $this;
  348.     }
  349.     public function addRole($role)
  350.     {
  351.         $role strtoupper($role);
  352.         if ($role === "ROLE_DEFAULT") {
  353.             return $this;
  354.         }
  355.         if (!in_array($role$this->rolestrue)) {
  356.             $this->roles[] = $role;
  357.         }
  358.         return $this;
  359.     }
  360.     public function getCurrentMemberships()
  361.     {
  362.         $currentMemberships null;
  363.         if(count($this->memberships) > 0){
  364.             $currentMemberships $this->memberships[count($this->memberships) -1];
  365.         }
  366.         return $currentMemberships;
  367.     }
  368.     /**
  369.      * @return Collection|Membership[]
  370.      */
  371.     public function getMemberships(): Collection
  372.     {
  373.         return $this->memberships;
  374.     }
  375.     public function addMembership(Membership $membership): self
  376.     {
  377.         if (!$this->memberships->contains($membership)) {
  378.             $this->memberships[] = $membership;
  379.             $membership->setUser($this);
  380.         }
  381.         return $this;
  382.     }
  383.     public function removeMembership(Membership $membership): self
  384.     {
  385.         if ($this->memberships->contains($membership)) {
  386.             $this->memberships->removeElement($membership);
  387.             // set the owning side to null (unless already changed)
  388.             if ($membership->getUser() === $this) {
  389.                 $membership->setUser(null);
  390.             }
  391.         }
  392.         return $this;
  393.     }
  394.     /**
  395.      * @return Collection|User[]
  396.      */
  397.     public function getCustomers(): Collection
  398.     {
  399.         return $this->customers;
  400.     }
  401.     public function addCustomer(User $customer): self
  402.     {
  403.         if (!$this->customers->contains($customer)) {
  404.             $this->customers[] = $customer;
  405.             $customer->setSeller($this);
  406.         }
  407.         return $this;
  408.     }
  409.     public function removeCustomer(User $customer): self
  410.     {
  411.         if ($this->customers->contains($customer)) {
  412.             $this->customers->removeElement($customer);
  413.             // set the owning side to null (unless already changed)
  414.             if ($customer->getSeller() === $this) {
  415.                 $customer->setSeller(null);
  416.             }
  417.         }
  418.         return $this;
  419.     }
  420.     public function getSeller(): ?self
  421.     {
  422.         return $this->seller;
  423.     }
  424.     public function setSeller(?self $seller): self
  425.     {
  426.         $this->seller $seller;
  427.         return $this;
  428.     }
  429.     public function getDateCreated(): ?\DateTimeInterface
  430.     {
  431.         return $this->dateCreated;
  432.     }
  433.     public function setDateCreated(\DateTimeInterface $dateCreated): self
  434.     {
  435.         $this->dateCreated $dateCreated;
  436.         return $this;
  437.     }
  438.     public function getCodeConseiller(): ?string
  439.     {
  440.         return $this->codeConseiller;
  441.     }
  442.     public function setCodeConseiller(?string $codeConseiller): self
  443.     {
  444.         $this->codeConseiller $codeConseiller;
  445.         return $this;
  446.     }
  447.     public function getNumeroSiren(): ?string
  448.     {
  449.         return $this->numeroSiren;
  450.     }
  451.     public function setNumeroSiren(?string $numeroSiren): self
  452.     {
  453.         $this->numeroSiren $numeroSiren;
  454.         return $this;
  455.     }
  456.     public function getSexTranslate(): ?string
  457.     {
  458.         $trans "";
  459.         if($this->sex == 0){
  460.             $trans "M";
  461.         }
  462.         else{
  463.             $trans "Mme";
  464.         }
  465.         return $trans;
  466.     }
  467.     public function getSex(): ?string
  468.     {
  469.         return $this->sex;
  470.     }
  471.     public function setSex(?string $sex): self
  472.     {
  473.         $this->sex $sex;
  474.         return $this;
  475.     }
  476.     public function getDateDeNaissance()
  477.     {
  478.         return $this->dateDeNaissance;
  479.     }
  480.     public function setDateDeNaissance($dateDeNaissance): self
  481.     {
  482.         $this->dateDeNaissance $dateDeNaissance;
  483.         return $this;
  484.     }
  485.     public function getNumeroDeVoie(): ?string
  486.     {
  487.         return $this->numeroDeVoie;
  488.     }
  489.     public function setNumeroDeVoie(?string $numeroDeVoie): self
  490.     {
  491.         $this->numeroDeVoie $numeroDeVoie;
  492.         return $this;
  493.     }
  494.     public function getCodePostal(): ?string
  495.     {
  496.         return $this->codePostal;
  497.     }
  498.     public function setCodePostal(?string $codePostal): self
  499.     {
  500.         $this->codePostal $codePostal;
  501.         return $this;
  502.     }
  503.     public function getVille(): ?string
  504.     {
  505.         return $this->ville;
  506.     }
  507.     public function setVille(?string $ville): self
  508.     {
  509.         $this->ville $ville;
  510.         return $this;
  511.     }
  512.     public function getPays(): ?string
  513.     {
  514.         return $this->pays;
  515.     }
  516.     public function setPays(?string $pays): self
  517.     {
  518.         $this->pays $pays;
  519.         return $this;
  520.     }
  521.     public function getAdherentDistributeur(): ?string
  522.     {
  523.         return $this->adherentDistributeur;
  524.     }
  525.     public function setAdherentDistributeur(?string $adherentDistributeur): self
  526.     {
  527.         $this->adherentDistributeur $adherentDistributeur;
  528.         return $this;
  529.     }
  530.     public function getDicIsFile(): ?bool
  531.     {
  532.         return $this->dicIsFile;
  533.     }
  534.     public function setDicIsFile(?bool $dicIsFile): self
  535.     {
  536.         $this->dicIsFile $dicIsFile;
  537.         return $this;
  538.     }
  539.     /**
  540.      * @return Collection|LoginLog[]
  541.      */
  542.     public function getLoginLogs(): Collection
  543.     {
  544.         return $this->loginLogs;
  545.     }
  546.     public function addLoginLog(LoginLog $loginLog): self
  547.     {
  548.         if (!$this->loginLogs->contains($loginLog)) {
  549.             $this->loginLogs[] = $loginLog;
  550.             $loginLog->setUser($this);
  551.         }
  552.         return $this;
  553.     }
  554.     public function removeLoginLog(LoginLog $loginLog): self
  555.     {
  556.         if ($this->loginLogs->contains($loginLog)) {
  557.             $this->loginLogs->removeElement($loginLog);
  558.             // set the owning side to null (unless already changed)
  559.             if ($loginLog->getUser() === $this) {
  560.                 $loginLog->setUser(null);
  561.             }
  562.         }
  563.         return $this;
  564.     }
  565.     public function getPhonePrefix(): ?string
  566.     {
  567.         return $this->phonePrefix;
  568.     }
  569.     public function setPhonePrefix(?string $phonePrefix): self
  570.     {
  571.         $this->phonePrefix $phonePrefix;
  572.         return $this;
  573.     }
  574.     /**
  575.      * @return Collection|Cp[]
  576.      */
  577.     public function getCps(): Collection
  578.     {
  579.         return $this->cps;
  580.     }
  581.     public function addCp(Cp $cp): self
  582.     {
  583.         if (!$this->cps->contains($cp)) {
  584.             $this->cps[] = $cp;
  585.             $cp->setCreatedBy($this);
  586.         }
  587.         return $this;
  588.     }
  589.     public function removeCp(Cp $cp): self
  590.     {
  591.         if ($this->cps->removeElement($cp)) {
  592.             // set the owning side to null (unless already changed)
  593.             if ($cp->getCreatedBy() === $this) {
  594.                 $cp->setCreatedBy(null);
  595.             }
  596.         }
  597.         return $this;
  598.     }
  599.     public function getCpSignatory(): Collection
  600.     {
  601.         return $this->cpSignatory;
  602.     }
  603.     public function addCpSignatory(Cp $cp): self
  604.     {
  605.         if (!$this->CpSignatory->contains($cp)) {
  606.             $this->CpSignatory[] = $cp;
  607.             $cp->setSignatoryUser($this);
  608.         }
  609.         return $this;
  610.     }
  611.     public function removeCpSignatory(Cp $cp): self
  612.     {
  613.         if ($this->CpSignatory->removeElement($cp)) {
  614.             // set the owning side to null (unless already changed)
  615.             if ($cp->getSignatoryUser() === $this) {
  616.                 $cp->setSignatoryUser(null);
  617.             }
  618.         }
  619.         return $this;
  620.     }
  621.     public function getListDocType(): Collection
  622.     {
  623.         return $this->listDocType;
  624.     }
  625.     public function addListDocType(SignatoryDocType $file): self
  626.     {
  627.         if (!$this->listDocType->contains($file)) {
  628.             $this->listDocType[] = $file;
  629.             $file->setSignatory($this);
  630.         }
  631.         return $this;
  632.     }
  633.     public function removeListDocType(SignatoryDocType $file): self
  634.     {
  635.         if ($this->listDocType->removeElement($file)) {
  636.             // set the owning side to null (unless already changed)
  637.             if ($file->getSignatory() === $this) {
  638.                 $file->setSignatory(null);
  639.             }
  640.         }
  641.         return $this;
  642.     }
  643.     public function isDicIsFile(): ?bool
  644.     {
  645.         return $this->dicIsFile;
  646.     }
  647.     public function getCurrentSign(): ?int
  648.     {
  649.         return $this->currentSign;
  650.     }
  651.     public function setCurrentSign(?int $currentSign): self
  652.     {
  653.         $this->currentSign $currentSign;
  654.         return $this;
  655.     }
  656.     public function getTokenSignupContinue(): ?string
  657.     {
  658.         return $this->tokenSignupContinue;
  659.     }
  660.     public function setTokenSignupContinue(?string $tokenSignupContinue): static
  661.     {
  662.         $this->tokenSignupContinue $tokenSignupContinue;
  663.         return $this;
  664.     }
  665.     public function isIsAutoSignup(): ?bool
  666.     {
  667.         return $this->isAutoSignup;
  668.     }
  669.     public function setIsAutoSignup(?bool $isAutoSignup): static
  670.     {
  671.         $this->isAutoSignup $isAutoSignup;
  672.         return $this;
  673.     }
  674.     public function isAcceptConditionsGeneralesUtilisation(): ?bool
  675.     {
  676.         return $this->acceptConditionsGeneralesUtilisation;
  677.     }
  678.     public function setAcceptConditionsGeneralesUtilisation(?bool $acceptConditionsGeneralesUtilisation): static
  679.     {
  680.         $this->acceptConditionsGeneralesUtilisation $acceptConditionsGeneralesUtilisation;
  681.         return $this;
  682.     }
  683.     public function isConnaissanceProtectionDonneesPersonnelles(): ?bool
  684.     {
  685.         return $this->connaissanceProtectionDonneesPersonnelles;
  686.     }
  687.     public function setConnaissanceProtectionDonneesPersonnelles(?bool $connaissanceProtectionDonneesPersonnelles): static
  688.     {
  689.         $this->connaissanceProtectionDonneesPersonnelles $connaissanceProtectionDonneesPersonnelles;
  690.         return $this;
  691.     }
  692.     public function isAccepteRecevoirPropositionCommercialMailTelephone(): ?bool
  693.     {
  694.         return $this->accepteRecevoirPropositionCommercialMailTelephone;
  695.     }
  696.     public function setAccepteRecevoirPropositionCommercialMailTelephone(?bool $accepteRecevoirPropositionCommercialMailTelephone): static
  697.     {
  698.         $this->accepteRecevoirPropositionCommercialMailTelephone $accepteRecevoirPropositionCommercialMailTelephone;
  699.         return $this;
  700.     }
  701.     public function getStepSignup(): ?string
  702.     {
  703.         return $this->stepSignup;
  704.     }
  705.     public function setStepSignup(?string $stepSignup): static
  706.     {
  707.         $this->stepSignup $stepSignup;
  708.         return $this;
  709.     }
  710.     public function isAdresseFiscaleFrance(): ?bool
  711.     {
  712.         return $this->adresseFiscaleFrance;
  713.     }
  714.     public function setAdresseFiscaleFrance(?bool $adresseFiscaleFrance): static
  715.     {
  716.         $this->adresseFiscaleFrance $adresseFiscaleFrance;
  717.         return $this;
  718.     }
  719.     public function getAutoSignFolderNumber(): ?string
  720.     {
  721.         return $this->autoSignFolderNumber;
  722.     }
  723.     public function setAutoSignFolderNumber(?string $autoSignFolderNumber): static
  724.     {
  725.         $this->autoSignFolderNumber $autoSignFolderNumber;
  726.         return $this;
  727.     }
  728.     public function isSendMailReminder7(): ?bool
  729.     {
  730.         return $this->sendMailReminder7;
  731.     }
  732.     public function setSendMailReminder7(?bool $sendMailReminder7): static
  733.     {
  734.         $this->sendMailReminder7 $sendMailReminder7;
  735.         return $this;
  736.     }
  737.     public function isSendMailReminder14(): ?bool
  738.     {
  739.         return $this->sendMailReminder14;
  740.     }
  741.     public function setSendMailReminder14(?bool $sendMailReminder14): static
  742.     {
  743.         $this->sendMailReminder14 $sendMailReminder14;
  744.         return $this;
  745.     }
  746. }