src/Entity/Usuario.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Security\Core\User\EquatableInterface;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. /**
  7.  * Usuario
  8.  *
  9.  * @ORM\Table(name="usuario")
  10.  * @ORM\Entity(repositoryClass="App\Repository\UsuarioRepository")
  11.  */
  12. class Usuario implements \SerializableUserInterfaceEquatableInterface
  13. {
  14.     /**
  15.      * @var integer
  16.      *
  17.      * @ORM\Column(name="usuario_id", type="integer", nullable=false)
  18.      * @ORM\Id
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      */
  21.     private $usuarioId;
  22.     /**
  23.      * @var string
  24.      *
  25.      * @ORM\Column(name="nombre", type="string", length=255, nullable=false)
  26.      */
  27.     private $nombre;
  28.     /**
  29.      * @var string
  30.      *
  31.      * @ORM\Column(name="apellidos", type="string", length=255, nullable=false)
  32.      */
  33.     private $apellidos;
  34.     /**
  35.      * @var string
  36.      *
  37.      * @ORM\Column(name="email", type="string", length=255, nullable=false)
  38.      */
  39.     private $email;
  40.     /**
  41.      * @var string
  42.      *
  43.      * @ORM\Column(name="telefono", type="string", length=50, nullable=false)
  44.      */
  45.     private $telefono;
  46.     /**
  47.      * @var string
  48.      *
  49.      * @ORM\Column(name="password", type="string", length=255, nullable=false)
  50.      */
  51.     private $password;
  52.     /**
  53.      * @var boolean
  54.      *
  55.      * @ORM\Column(name="habilitado", type="boolean", nullable=true)
  56.      */
  57.     private $habilitado;
  58.     /**
  59.      * @var datetime
  60.      *
  61.      * @ORM\Column(name="fecharegistro", type="datetime", nullable=true)
  62.      */
  63.     private $fecharegistro;
  64.     /**
  65.      * @var datetime
  66.      *
  67.      * @ORM\Column(name="fechaultimologin", type="datetime", nullable=true)
  68.      */
  69.     private $fechaultimologin;
  70.     /**
  71.      * @var Rol
  72.      *
  73.      * @ORM\ManyToOne(targetEntity="App\Entity\Rol")
  74.      * @ORM\JoinColumns({
  75.      *   @ORM\JoinColumn(name="rol_id", referencedColumnName="rol_id")
  76.      * })
  77.      */
  78.     private $rol;
  79.     /**
  80.      * @var Empresa
  81.      *
  82.      * @ORM\ManyToOne(targetEntity="App\Entity\Empresa")
  83.      * @ORM\JoinColumns({
  84.      *   @ORM\JoinColumn(name="empresa_id", referencedColumnName="empresa_id")
  85.      * })
  86.      */
  87.     private $empresa;
  88.     /**
  89.      * Get usuarioId
  90.      *
  91.      * @return integer
  92.      */
  93.     public function getUsuarioId()
  94.     {
  95.         return $this->usuarioId;
  96.     }
  97.     /**
  98.      * Set nombre
  99.      *
  100.      * @param string $nombre
  101.      * @return Usuario
  102.      */
  103.     public function setNombre($nombre)
  104.     {
  105.         $this->nombre $nombre;
  106.         return $this;
  107.     }
  108.     /**
  109.      * Get nombre
  110.      *
  111.      * @return string
  112.      */
  113.     public function getNombre()
  114.     {
  115.         return $this->nombre;
  116.     }
  117.     /**
  118.      * Set apellidos
  119.      *
  120.      * @param string $apellidos
  121.      * @return Usuario
  122.      */
  123.     public function setApellidos($apellidos)
  124.     {
  125.         $this->apellidos $apellidos;
  126.         return $this;
  127.     }
  128.     /**
  129.      * Get apellidos
  130.      *
  131.      * @return string
  132.      */
  133.     public function getApellidos()
  134.     {
  135.         return $this->apellidos;
  136.     }
  137.     /**
  138.      * Set email
  139.      *
  140.      * @param string $email
  141.      * @return Usuario
  142.      */
  143.     public function setEmail($email)
  144.     {
  145.         $this->email $email;
  146.         return $this;
  147.     }
  148.     /**
  149.      * Get email
  150.      *
  151.      * @return string
  152.      */
  153.     public function getEmail()
  154.     {
  155.         return $this->email;
  156.     }
  157.     /**
  158.      * @return string
  159.      */
  160.     public function getTelefono()
  161.     {
  162.         return $this->telefono;
  163.     }
  164.     /**
  165.      * @param string $telefono
  166.      */
  167.     public function setTelefono($telefono)
  168.     {
  169.         $this->telefono $telefono;
  170.     }
  171.     /**
  172.      * Set password
  173.      *
  174.      * @param string $password
  175.      * @return Usuario
  176.      */
  177.     public function setContrasenna($password)
  178.     {
  179.         $this->password $password;
  180.         return $this;
  181.     }
  182.     /**
  183.      * Get password
  184.      *
  185.      * @return string
  186.      */
  187.     public function getContrasenna()
  188.     {
  189.         return $this->password;
  190.     }
  191.     /**
  192.      * Set habilitado
  193.      *
  194.      * @param boolean $habilitado
  195.      * @return Usuario
  196.      */
  197.     public function setHabilitado($habilitado)
  198.     {
  199.         $this->habilitado $habilitado;
  200.         return $this;
  201.     }
  202.     /**
  203.      * Get habilitado
  204.      *
  205.      * @return boolean
  206.      */
  207.     public function getHabilitado()
  208.     {
  209.         return $this->habilitado;
  210.     }
  211.     /**
  212.      * Set fecharegistro
  213.      *
  214.      * @param datetime $fecharegistro
  215.      * @return Usuario
  216.      */
  217.     public function setFecharegistro($fecharegistro)
  218.     {
  219.         $this->fecharegistro $fecharegistro;
  220.         return $this;
  221.     }
  222.     /**
  223.      * Get fecharegistro
  224.      *
  225.      * @return datetime
  226.      */
  227.     public function getFecharegistro()
  228.     {
  229.         return $this->fecharegistro;
  230.     }
  231.     /**
  232.      * Set fechaultimologin
  233.      *
  234.      * @param datetime $fechaultimologin
  235.      * @return Usuario
  236.      */
  237.     public function setFechaultimologin($fechaultimologin)
  238.     {
  239.         $this->fechaultimologin $fechaultimologin;
  240.         return $this;
  241.     }
  242.     /**
  243.      * Get fechaultimologin
  244.      *
  245.      * @return datetime
  246.      */
  247.     public function getFechaultimologin()
  248.     {
  249.         return $this->fechaultimologin;
  250.     }
  251.     /**
  252.      * Set rol
  253.      *
  254.      * @param Rol $rol
  255.      * @return Usuario
  256.      */
  257.     public function setRol(Rol $rol null)
  258.     {
  259.         $this->rol $rol;
  260.         return $this;
  261.     }
  262.     /**
  263.      * Get rol
  264.      *
  265.      * @return Rol
  266.      */
  267.     public function getRol()
  268.     {
  269.         return $this->rol;
  270.     }
  271.     public function __toString()
  272.     {
  273.         return $this->getNombre();
  274.     }
  275.     public function getNombreCompleto()
  276.     {
  277.         return $this->nombre " " $this->apellidos;
  278.     }
  279.     /*
  280.      * Implementation of UserInterface
  281.      */
  282.     /**
  283.      * Set usuarioid
  284.      *
  285.      * @param string $usuario_id
  286.      */
  287.     public function setUsuarioId($usuario_id)
  288.     {
  289.         $this->usuarioId $usuario_id;
  290.     }
  291.     public function equals(UserInterface $user)
  292.     {
  293.         return $user->getUsername() == $this->getEmail();
  294.     }
  295.     public function eraseCredentials()
  296.     {
  297.     }
  298.     public function getPassword()
  299.     {
  300.         return $this->password;
  301.     }
  302.     public function getRoles()
  303.     {
  304.         if ($this->rol->getRolId() == 1)
  305.             return array('ROLE_ADMIN');
  306.         else
  307.             return array('ROLE_USER');
  308.     }
  309.     public function getSalt()
  310.     {
  311.         return false;
  312.     }
  313.     public function getUsername()
  314.     {
  315.         return $this->email;
  316.     }
  317.     public function serialize()
  318.     {
  319.         return serialize(array(
  320.             $this->usuarioId,
  321.             $this->email
  322.         ));
  323.     }
  324.     public function unserialize($serialized)
  325.     {
  326.         $arr unserialize($serialized);
  327.         $this->setUsuarioId($arr[0]);
  328.         $this->setEmail($arr[1]);
  329.     }
  330.     /**
  331.      * The equality comparison should neither be done by referential equality
  332.      * nor by comparing identities (i.e. getId() === getId()).
  333.      *
  334.      * However, you do not need to compare every attribute, but only those that
  335.      * are relevant for assessing whether re-authentication is required.
  336.      *
  337.      * @return bool
  338.      */
  339.     public function isEqualTo(UserInterface $user)
  340.     {
  341.         return $user->getUsername() == $this->getEmail();
  342.     }
  343.     public function setPassword(string $password): self
  344.     {
  345.         $this->password $password;
  346.         return $this;
  347.     }
  348.     /**
  349.      * @return Empresa
  350.      */
  351.     public function getEmpresa()
  352.     {
  353.         return $this->empresa;
  354.     }
  355.     public function setEmpresa($empresa)
  356.     {
  357.         $this->empresa $empresa;
  358.     }
  359. }