src/Entity/User.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use JMS\Serializer\Annotation as Serializer;
  5. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  6. /**
  7.  * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
  8.  * @ORM\Table(name="users")
  9.  * @UniqueEntity("username")
  10.  * @UniqueEntity("emailAddress")
  11.  */
  12. class User extends LoginPerson
  13. {
  14.     const TAG_OLDCUSTOMER 'old_customer';
  15.     const TAG_ENABLE_ABO 'enable_abo';
  16.     /**
  17.      * @Serializer\Type("libphonenumber\PhoneNumber")
  18.      * @ORM\Column(type="phone_number", nullable=true)
  19.      */
  20.     private $phoneNumber2;
  21.     /**
  22.      * @ORM\OneToMany(targetEntity="App\Entity\Order", mappedBy="user", fetch="EAGER")
  23.      */
  24.     private $orders;
  25.     
  26.     /**
  27.      * @ORM\Column(type="boolean", options={"default": false})
  28.      */
  29.     private $isTempUser;
  30.     /**
  31.      * @ORM\Column(type="boolean", options={"default": false})
  32.      */
  33.     private $hasNewsletter;
  34.     /**
  35.      * @ORM\Column(type="integer", nullable=true)
  36.      */
  37.     private $idApi;
  38.     /**
  39.      * @ORM\Column(type="integer", nullable=true)
  40.      */
  41.     private $customerNrWeclapp;
  42.     /**
  43.      * @ORM\ManyToOne(targetEntity="App\Entity\Customer")
  44.      * @ORM\JoinColumn(name="customer_id", referencedColumnName="id", nullable=true)
  45.      */
  46.     private $customer;
  47.     /**
  48.      * @ORM\OneToMany(targetEntity="App\Entity\UserMandate", mappedBy="user", fetch="EAGER")
  49.      */
  50.     private $mandates;
  51.     /**
  52.      * @ORM\Column(type="integer", nullable=false, options={"default": 0})
  53.      */
  54.     private $consentTransfer;
  55.     /**
  56.      * @ORM\Column(type="datetime", nullable=true)
  57.      */
  58.     protected $deleteAfter;
  59.     /**
  60.      * @ORM\Column(type="string", nullable=true)
  61.      */
  62.     private $customerNrMollie;
  63.     /**
  64.      * @ORM\Column(type="simple_array", options={"default": ""})
  65.      */
  66.     private $tags = [];
  67.     public function __construct$blank false )
  68.     {
  69.         parent::__construct($blank);
  70.         if ($blank) {
  71.             $this->setRoles(['ROLE_USER']);
  72.         }
  73.         $this->setIsTempUser(false);
  74.     }
  75.     
  76.     /**
  77.      * @return mixed
  78.      */
  79.     public function getPhoneNumber2()
  80.     {
  81.         return $this->phoneNumber2;
  82.     }
  83.     
  84.     /**
  85.      * @param mixed $phoneNumber2
  86.      */
  87.     public function setPhoneNumber2($phoneNumber2)
  88.     {
  89.         $this->phoneNumber2 $phoneNumber2;
  90.     }
  91.     
  92.     /**
  93.      * @return mixed
  94.      */
  95.     public function getRoles()
  96.     {
  97.         $roles $this->roles;
  98.         if (!in_array('ROLE_USER'$roles)) {
  99.             $roles[] = 'ROLE_USER';
  100.         }
  101.         return $roles;
  102.     }
  103.     /**
  104.      * @return mixed
  105.      */
  106.     public function getOrders()
  107.     {
  108.         return $this->orders;
  109.     }
  110.     
  111.     /**
  112.      * @param mixed $orders
  113.      */
  114.     public function setOrders($orders)
  115.     {
  116.         $this->orders $orders;
  117.     }
  118.     
  119.     /**
  120.      * @return mixed
  121.      */
  122.     public function getIsTempUser()
  123.     {
  124.         return $this->isTempUser;
  125.     }
  126.     
  127.     /**
  128.      * @param mixed $isTempUser
  129.      */
  130.     public function setIsTempUser($isTempUser)
  131.     {
  132.         $this->isTempUser $isTempUser;
  133.     }
  134.     /**
  135.      * @return mixed
  136.      */
  137.     public function getHasNewsletter()
  138.     {
  139.         return $this->hasNewsletter;
  140.     }
  141.     /**
  142.      * @param mixed $hasNewsletter
  143.      */
  144.     public function setHasNewsletter($hasNewsletter): void
  145.     {
  146.         $this->hasNewsletter $hasNewsletter;
  147.     }
  148.     /**
  149.      * @return mixed
  150.      */
  151.     public function getIdApi()
  152.     {
  153.         return $this->idApi;
  154.     }
  155.     
  156.     /**
  157.      * @param mixed $idApi
  158.      */
  159.     public function setIdApi($idApi)
  160.     {
  161.         $this->idApi $idApi;
  162.     }
  163.     /**
  164.      * @return mixed
  165.      */
  166.     public function getCustomerNrWeclapp()
  167.     {
  168.         return $this->customerNrWeclapp;
  169.     }
  170.     /**
  171.      * @param mixed $customerNrWeclapp
  172.      */
  173.     public function setCustomerNrWeclapp($customerNrWeclapp): void
  174.     {
  175.         $this->customerNrWeclapp $customerNrWeclapp;
  176.     }
  177.     /**
  178.      * @return Customer|null
  179.      */
  180.     public function getCustomer()
  181.     {
  182.         return $this->customer;
  183.     }
  184.     /**
  185.      * @param Customer $customer
  186.      */
  187.     public function setCustomer(Customer $customer)
  188.     {
  189.         $this->customer $customer;
  190.     }
  191.     /**
  192.      * @return ?UserMandate[]
  193.      */
  194.     public function getMandates()
  195.     {
  196.         return $this->mandates;
  197.     }
  198.     /**
  199.      * @param mixed $mandates
  200.      */
  201.     public function setMandates($mandates): void
  202.     {
  203.         $this->mandates $mandates;
  204.     }
  205.     /**
  206.      * @return mixed
  207.      */
  208.     public function getConsentTransfer()
  209.     {
  210.         return $this->consentTransfer;
  211.     }
  212.     /**
  213.      * @param mixed $consentTransfer
  214.      */
  215.     public function setConsentTransfer($consentTransfer): void
  216.     {
  217.         $this->consentTransfer $consentTransfer;
  218.     }
  219.     /**
  220.      * @return mixed
  221.      */
  222.     public function getDeleteAfter()
  223.     {
  224.         return $this->deleteAfter;
  225.     }
  226.     /**
  227.      * @param mixed $deleteAfter
  228.      */
  229.     public function setDeleteAfter($deleteAfter): void
  230.     {
  231.         $this->deleteAfter $deleteAfter;
  232.     }
  233.     /**
  234.      * @return mixed
  235.      */
  236.     public function getCustomerNrMollie()
  237.     {
  238.         return $this->customerNrMollie;
  239.     }
  240.     /**
  241.      * @param mixed $customerNrMollie
  242.      */
  243.     public function setCustomerNrMollie($customerNrMollie): void
  244.     {
  245.         $this->customerNrMollie $customerNrMollie;
  246.     }
  247.     public function getTags(): array
  248.     {
  249.         return $this->tags ?? [];
  250.     }
  251.     public function setTags(array $tags): void
  252.     {
  253.         $this->tags $tags ?? [];
  254.     }
  255.     public function addTag(string $tag): void
  256.     {
  257.         if (!in_array($tag$this->tags)) {
  258.             $this->tags[] = $tag;
  259.         }
  260.     }
  261.     public function removeTag(string $tag): void
  262.     {
  263.         if (($key array_search($tag$this->tags)) !== false) {
  264.             unset($this->tags[$key]);
  265.         }
  266.     }
  267. }