_model === null) && ($this->loadUser())) Usuario::model()->updateByPk($this->id, array( 'last_login_time'=> date("Y-m-d H:i:s"), )); return true; } /** * @brief ID de la empresa del usuario que está en sesión. * @return integer */ public function getId_empresa() { $usuario = $this->loadUser($this->id); return $usuario->id_empresa; } /** * @brief Comprueba si el usuario que está en sesión es coordinador o no. * @return boolean */ public function getEsCoordinador() { $usuario = $this->loadUser(); return ($usuario->tipo == Usuario::TIPO_USUARIO_COORDINADOR); } /** * @brief Comprueba si el usuario que está en sesión tiene/puede tener * un equipo de agentes. * @return boolean */ public function getTieneEquipo() { $subscripcion = $this->loadSubscripcion(); if ($subscripcion) return ($subscripcion->producto->max_agentes > 0); else return false; } /** * @brief Devuelve la subscripción del usuario que está en sesión. * @return Subscripcion */ public function getSubscripcion() { return $this->loadSubscripcion(); } /** * @brief Devuelve el nombre del usuario que está en sesión. * Si el usuario ha rellenado su nombre y apellidos, devuelve el nombre * completo. Si no, devuelve la dirección e-mail del usuario. * @return string */ public function getName() { $usuario = $this->loadUser(); return ($usuario && $usuario->nombre) ? $usuario->nombreCompleto : parent::getName(); } /** * @brief Devuelve el email del usuario que está en sesión. * @return string */ public function getEmail() { $usuario = $this->loadUser(); return $usuario->email; } /** * @brief Devuelve el usuario que ha hecho sesión. * @return Usuario */ protected function loadUser() { if ($this->_model === null) { $this->_model = Usuario::model()->findByPk($this->id); if ($this->_model === null) throw new CHttpException(404, Yii::t('profind', 'La página solicitada no existe.')); } return $this->_model; } /** * @brief Devuelve la subscripción activa del usuario que ha hecho sesión. * @return Subscripcion */ protected function loadSubscripcion() { return Subscripcion::model()->activa()->findByAttributes(array('id_usuario' => $this->id)); } } ?>