/** * Asigna una app a un proyecto * y le da permisos de acceso al usuario en curso y * todos los usuarios adscritos a la empresa * * @return boolean */ public function create() { $id = parent::create(); if ($id) { $idEmpresa = $this->getIdProyecto()->getIdEmpresa()->getId(); $idProyecto = $this->getIdProyecto()->getId(); // Asignar permiso de acceso al usuario en curso $permiso = new PcaePermisos(); $permiso->setIdUsuario($_SESSION['usuarioPortal']['Id']); $permiso->setIdEmpresa($idEmpresa); $permiso->setIdProyecto($idProyecto); $permiso->setIdApp($this->IdApp); $permiso->create(); // Asignar permiso de acceso a todos los usuarios adscritos a la empresa $usuario = new PcaeEmpresasUsuarios(); $rows = $usuario->cargaCondicion("IdUsuario", "IdEmpresa='{$idEmpresa}'"); unset($usuario); foreach ($rows as $row) { if ($row['IdUsuario'] != $_SESSION['usuarioPortal']['Id']) { $permiso = new PcaePermisos(); $permiso->setIdUsuario($row['IdUsuario']); $permiso->setIdEmpresa($idEmpresa); $permiso->setIdProyecto($idProyecto); $permiso->setIdApp($this->IdApp); $permiso->create(); } } } return $id; }
/** * SOLO SE MUESTRAN LAS EMPRESAS A LAS QUE TIENE ACCESO EL USUARIO * * @param type $aditionalFilter * @return type */ public function listAction($aditionalFilter = '') { $empresasUsuarios = new PcaeEmpresasUsuarios(); $tabla = $empresasUsuarios->getDataBaseName() . "." . $empresasUsuarios->getTableName(); unset($empresasUsuarios); $aditionalFilter = "Id IN (select IdEmpresa from {$tabla} where {$tabla}.IdUsuario='{$_SESSION['usuarioPortal']['Id']}')"; return parent::listAction($aditionalFilter); }
/** * Comprueba la unicidad de IdEmpresa-IdUsuario */ public function validaLogico() { parent::validaLogico(); $empUsu = new PcaeEmpresasUsuarios(); $rows = $empUsu->cargaCondicion("Id", "IdEmpresa='{$this->IdEmpresa}' and IdUsuario='{$this->IdUsuario}'"); unset($empUsu); if (count($rows)) { $this->_errores[] = "Ya existe el usuario en la empresa"; } }
/** * Devuelve un array (Id,Value) con los usuarios adscritos * a la empresa $idEmpresa * * @param integer $idEmpresa El id de la empresa * @return array Array de usuarios */ public function getUsuariosEmpresa($idEmpresa) { $usuarios = array(); $usu = new PcaeEmpresasUsuarios(); $rows = $usu->cargaCondicion("IdUsuario", "IdEmpresa='{$idEmpresa}'"); unset($usu); foreach ($rows as $row) { if ($row['IdUsuario'] != '1') { $usu = new PcaeUsuarios($row['IdUsuario']); $usuarios[] = array("Id" => $row['IdUsuario'], "Value" => $usu->getApellidosNombre() . " <" . $usu->getEMail() . ">"); } } unset($usu); return $usuarios; }