vendor/uvdesk/core-framework/Entity/User.php line 14

Open in your IDE?
  1. <?php
  2. namespace Webkul\UVDesk\CoreFrameworkBundle\Entity;
  3. use Symfony\Component\Security\Core\User\UserInterface;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * User
  7.  * @ORM\Entity(repositoryClass="Webkul\UVDesk\CoreFrameworkBundle\Repository\UserRepository")
  8.  * @ORM\HasLifecycleCallbacks()
  9.  * @ORM\Table(name="uv_user")
  10.  */
  11. class User implements UserInterface
  12. {
  13.     /**
  14.      * @var integer
  15.      * @ORM\Id()
  16.      * @ORM\Column(type="integer")
  17.      * @ORM\GeneratedValue(strategy="AUTO")
  18.      */
  19.     private $id;
  20.     /**
  21.      * @var string
  22.      * @ORM\Column(type="string", length=191, unique=true, nullable=true)
  23.      */
  24.     private $email;
  25.     /**
  26.      * @var string
  27.      * @ORM\Column(type="string", length=191, unique=true, nullable=true)
  28.      */
  29.     private $proxyId;
  30.     /**
  31.      * @var string
  32.      * @ORM\Column(type="string", length=191, nullable=true)
  33.      */
  34.     private $password;
  35.     /**
  36.      * @var string
  37.      * @ORM\Column(type="string", length=191)
  38.      */
  39.     private $firstName;
  40.     /**
  41.      * @var string
  42.      * @ORM\Column(type="string", length=191, nullable=true)
  43.      */
  44.     private $lastName;
  45.     /**
  46.      * @var boolean
  47.      * @ORM\Column(type="boolean", options={"default": false})
  48.      */
  49.     private $isEnabled;
  50.     /**
  51.      * @var string
  52.      * @ORM\Column(type="string", length=191, unique=true, nullable=true)
  53.      */
  54.     private $verificationCode;
  55.     /**
  56.      * @var \Doctrine\Common\Collections\Collection
  57.      * @ORM\OneToMany(targetEntity="UserInstance", mappedBy="user")
  58.      */
  59.     private $userInstance;
  60.     /**
  61.      * @var array
  62.      */
  63.     private $grantedRoles = [];
  64.     /**
  65.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance
  66.      */
  67.     private $activeInstance;
  68.      /**
  69.      * @var string
  70.      * @ORM\Column(type="string", length=191, nullable=true)
  71.      */
  72.     private $timezone;
  73.     /**
  74.      * @var string
  75.      * @ORM\Column(type="string", length=191, nullable=true)
  76.      */
  77.     private $timeformat;
  78.     /**
  79.      * Constructor
  80.      */
  81.     public function __construct()
  82.     {
  83.         $this->userInstance = new \Doctrine\Common\Collections\ArrayCollection();
  84.     }
  85.     /**
  86.      * Get id
  87.      *
  88.      * @return integer
  89.      */
  90.     public function getId()
  91.     {
  92.         return $this->id;
  93.     }
  94.     /**
  95.      * Set email
  96.      *
  97.      * @param string $email
  98.      *
  99.      * @return User
  100.      */
  101.     public function setEmail($email)
  102.     {
  103.         $this->email $email;
  104.         return $this;
  105.     }
  106.     /**
  107.      * Get email
  108.      *
  109.      * @return string
  110.      */
  111.     public function getEmail()
  112.     {
  113.         return $this->email;
  114.     }
  115.     /**
  116.      * Set proxyId
  117.      *
  118.      * @param string $proxyId
  119.      *
  120.      * @return User
  121.      */
  122.     public function setProxyId($proxyId)
  123.     {
  124.         $this->proxyId $proxyId;
  125.         return $this;
  126.     }
  127.     /**
  128.      * Get proxyId
  129.      *
  130.      * @return string
  131.      */
  132.     public function getProxyId()
  133.     {
  134.         return $this->proxyId;
  135.     }
  136.     /**
  137.      * Get username
  138.      *
  139.      * @return string
  140.      */
  141.     public function getUsername()
  142.     {
  143.         return $this->email;
  144.     }
  145.     /**
  146.      * Set password
  147.      *
  148.      * @param string $password
  149.      *
  150.      * @return User
  151.      */
  152.     public function setPassword($password)
  153.     {
  154.         $this->password $password;
  155.         return $this;
  156.     }
  157.     /**
  158.      * Get password
  159.      *
  160.      * @return string
  161.      */
  162.     public function getPassword()
  163.     {
  164.         return $this->password;
  165.     }
  166.     /**
  167.      * Get salt
  168.      *
  169.      * @return string
  170.      */
  171.     public function getSalt()
  172.     {
  173.         return null;
  174.     }
  175.     /**
  176.      * Set user instance's granted roles
  177.      *
  178.      * @param array $grantedRoles
  179.      *
  180.      * @return User
  181.      */
  182.     public function setRoles(array $grantedRoles = [])
  183.     {
  184.         $this->grantedRoles $grantedRoles;
  185.         return $this;
  186.     }
  187.     /**
  188.      * Get user's granted roles
  189.      *
  190.      * @return array
  191.      */
  192.     public function getRoles()
  193.     {
  194.         return $this->grantedRoles;
  195.     }
  196.     /**
  197.      * Set firstName
  198.      *
  199.      * @param string $firstName
  200.      *
  201.      * @return User
  202.      */
  203.     public function setFirstName($firstName)
  204.     {
  205.         $this->firstName $firstName;
  206.         return $this;
  207.     }
  208.     /**
  209.      * Get firstName
  210.      *
  211.      * @return string
  212.      */
  213.     public function getFirstName()
  214.     {
  215.         return $this->firstName;
  216.     }
  217.     /**
  218.      * Set lastName
  219.      *
  220.      * @param string $lastName
  221.      *
  222.      * @return User
  223.      */
  224.     public function setLastName($lastName)
  225.     {
  226.         $this->lastName $lastName;
  227.         return $this;
  228.     }
  229.     /**
  230.      * Get lastName
  231.      *
  232.      * @return string
  233.      */
  234.     public function getLastName()
  235.     {
  236.         return $this->lastName;
  237.     }
  238.     /**
  239.      * Get fullName
  240.      *
  241.      * @return string
  242.      */
  243.     public function getFullName()
  244.     {
  245.         return trim(implode(' ', array($this->getFirstName(), $this->getLastName())));
  246.     }
  247.     /**
  248.      * Set isEnabled
  249.      *
  250.      * @param boolean $isEnabled
  251.      *
  252.      * @return User
  253.      */
  254.     public function setIsEnabled($isEnabled)
  255.     {
  256.         $this->isEnabled $isEnabled;
  257.         return $this;
  258.     }
  259.     /**
  260.      * Get isEnabled
  261.      *
  262.      * @return boolean
  263.      */
  264.     public function getIsEnabled()
  265.     {
  266.         return $this->isEnabled;
  267.     }
  268.     /**
  269.      * Set verificationCode
  270.      *
  271.      * @param string $verificationCode
  272.      *
  273.      * @return User
  274.      */
  275.     public function setVerificationCode($verificationCode)
  276.     {
  277.         $this->verificationCode $verificationCode;
  278.         return $this;
  279.     }
  280.     /**
  281.      * Get email
  282.      *
  283.      * @return string
  284.      */
  285.     public function getVerificationCode()
  286.     {
  287.         return $this->verificationCode;
  288.     }
  289.     /**
  290.      * Clears not so important user's credentials
  291.      *
  292.      * @return void
  293.      */
  294.     public function eraseCredentials()
  295.     {
  296.         return;
  297.     }
  298.     /**
  299.      * Checks whether the user's account has expired
  300.      *
  301.      * @return bool
  302.      */
  303.     public function isAccountNonExpired()
  304.     {
  305.         return true;
  306.     }
  307.     /**
  308.      * Checks whether the user is locked
  309.      *
  310.      * @return bool
  311.      */
  312.     public function isAccountNonLocked()
  313.     {
  314.         return true;
  315.     }
  316.     /**
  317.      * Checks whether the user's credentials has expired
  318.      *
  319.      * @return bool
  320.      */
  321.     public function isCredentialsNonExpired()
  322.     {
  323.         return true;
  324.     }
  325.     /**
  326.      * Checks whether the user is enabled
  327.      *
  328.      * @return bool
  329.      */
  330.     public function isEnabled()
  331.     {
  332.         return $this->isEnabled;
  333.     }
  334.     /**
  335.      * Add userInstance
  336.      *
  337.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance
  338.      *
  339.      * @return User
  340.      */
  341.     public function addUserInstance(\Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance)
  342.     {
  343.         $this->userInstance[] = $userInstance;
  344.         return $this;
  345.     }
  346.     /**
  347.      * Remove userInstance
  348.      *
  349.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance
  350.      */
  351.     public function removeUserInstance(\Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance)
  352.     {
  353.         $this->userInstance->removeElement($userInstance);
  354.     }
  355.     /**
  356.      * Get userInstance
  357.      *
  358.      * @return \Doctrine\Common\Collections\Collection
  359.      */
  360.     public function getUserInstance()
  361.     {
  362.         return $this->userInstance;
  363.     }
  364.     public function getAgentInstance()
  365.     {
  366.         foreach ($this->getUserInstance()->getValues() as $userInstance) {
  367.             if (in_array($userInstance->getSupportRole()->getCode(), ['ROLE_AGENT''ROLE_ADMIN''ROLE_SUPER_ADMIN'])) {
  368.                 return $userInstance;
  369.             }
  370.         }
  371.         return null;
  372.     }
  373.     public function getCustomerInstance()
  374.     {
  375.         foreach ($this->getUserInstance()->getValues() as $userInstance) {
  376.             if ('ROLE_CUSTOMER' === $userInstance->getSupportRole()->getCode()) {
  377.                 return $userInstance;
  378.             }
  379.         }
  380.         return null;
  381.     }
  382.     /**
  383.      * Set currently active user instance
  384.      *
  385.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance
  386.      *
  387.      * @return User
  388.      */
  389.     public function setCurrentInstance(\Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance $userInstance null)
  390.     {
  391.         $this->activeInstance $userInstance;
  392.         return $this;
  393.     }
  394.     /**
  395.      * Get currently active user instance
  396.      *
  397.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance
  398.      */
  399.     public function getCurrentInstance()
  400.     {
  401.         return $this->activeInstance;
  402.     }
  403.     /**
  404.      * Set timezone
  405.      *
  406.      * @param string $timezone
  407.      * @return User
  408.      */
  409.     public function setTimezone($timezone)
  410.     {
  411.         $this->timezone $timezone;
  412.         return $this;
  413.     }
  414.     /**
  415.      * Get timezone
  416.      *
  417.      * @return string
  418.      */
  419.     public function getTimezone()
  420.     {
  421.         return $this->timezone;
  422.     }
  423.     /**
  424.      * Set timeformat
  425.      *
  426.      * @param string $timeformat
  427.      * @return User
  428.      */
  429.     public function setTimeformat($timeformat)
  430.     {
  431.         $this->timeformat $timeformat;
  432.         return $this;
  433.     }
  434.     /**
  435.      * Get timeformat
  436.      *
  437.      * @return string
  438.      */
  439.     public function getTimeformat()
  440.     {
  441.         return $this->timeformat;
  442.     }
  443. }