/**
  * 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;
 }