From a30b66472173d3187a419b6d86e3096e5332bc45 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Thu, 23 Oct 2003 16:57:27 +0000 Subject: [PATCH] En consultas solo filtro aquellos usuarios que tengan asignado al menos un permiso en SAMURAI --- doc/Samurai.xmi | 139 +++++++++++++++-------------- lib/SAMURAI/Usuario.php | 22 ++++- lib/SAMURAI/Usuario/consultas.ini | 1 + sistema/www/consultas/usuarios.php | 22 ++--- 4 files changed, 106 insertions(+), 78 deletions(-) diff --git a/doc/Samurai.xmi b/doc/Samurai.xmi index 43fad88..26a1345 100644 --- a/doc/Samurai.xmi +++ b/doc/Samurai.xmi @@ -10,7 +10,7 @@ - + @@ -48,6 +48,10 @@ + + + + - - - - - - - + - - - - - - + + + + + + - - - - + - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - + + + + + + + - - - - + - + + + + + + + + @@ -495,7 +501,7 @@ x2c:set" name="sistema" static="0" scope="202" /> - + @@ -505,6 +511,7 @@ x2c:set" name="sistema" static="0" scope="202" /> + @@ -520,9 +527,9 @@ x2c:set" name="sistema" static="0" scope="202" /> - + diff --git a/lib/SAMURAI/Usuario.php b/lib/SAMURAI/Usuario.php index 8633bc2..2522656 100644 --- a/lib/SAMURAI/Usuario.php +++ b/lib/SAMURAI/Usuario.php @@ -519,5 +519,25 @@ class SAMURAI_Usuario { } // -X2C + // +X2C Operation 398 + /** + * Funcion que obtiene la lista de usuarios que tienen al menos un permiso en la intranet. + * + * @param DB &$db Conexion a la base de datos + * @param string $login Parte del login a filtrar + * + * @return mixed + * @access public + * @static + */ + function filtrarUsuarios(&$db, $login) // ~X2C + { + $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); + $sql = str_replace ('##?##', $login, $sql['obtener_datos_compartido']); + $db->setFetchMode(DB_FETCHMODE_ASSOC); + return $db->query($sql); + } + // -X2C + } // -X2C Class :SAMURAI_Usuario -?> \ No newline at end of file +?> diff --git a/lib/SAMURAI/Usuario/consultas.ini b/lib/SAMURAI/Usuario/consultas.ini index c21cc12..7ee89a5 100644 --- a/lib/SAMURAI/Usuario/consultas.ini +++ b/lib/SAMURAI/Usuario/consultas.ini @@ -15,3 +15,4 @@ borrar = " DELETE FROM samurai.perfil_sist_usuario WHERE login = obtener_informacion = " SELECT psu.login AS login, psu.id_sistema AS id_sistema, sist.nombre_sistema AS nombre_sistema, psu.id_perfil AS id_perfil, perf.desc_perfil AS desc_perfil, pps.id_permiso AS id_permiso, perm.desc_permiso AS desc_permiso, pps.observaciones AS observaciones FROM samurai.permiso AS perm, samurai.perfil AS perf, samurai.sistema AS sist, samurai.perfil_sist_usuario AS psu, samurai.perm_perfil_sist AS pps WHERE psu.id_perfil = pps.id_perfil AND psu.id_sistema = pps.id_sistema AND psu.id_sistema = sist.id_sistema AND psu.id_perfil = perf.id_perfil AND pps.id_permiso = perm.id_permiso AND psu.login = ? ORDER BY sist.nombre_sistema, perf.desc_perfil, perm.desc_permiso" +obtener_datos_compartido = "SELECT DISTINCT psu.login AS login, u.nombre AS nombre FROM samurai.perfil_sist_usuario AS psu, usuario.Usuario as u WHERE psu.login LIKE '%##?##%' AND psu.login = u.login ORDER BY psu.login" diff --git a/sistema/www/consultas/usuarios.php b/sistema/www/consultas/usuarios.php index 73919fd..6ef5a3b 100644 --- a/sistema/www/consultas/usuarios.php +++ b/sistema/www/consultas/usuarios.php @@ -53,7 +53,7 @@ $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones $subaccion = (@$_REQUEST['subaccion']) ? $_REQUEST['subaccion'] : null; $login = (@$_REQUEST['login']) ? $_REQUEST['login'] : null; $filtro = (@$_REQUEST['filtro']) ? $_REQUEST['filtro'] : null; - $id_sistema = (@$_REQUEST['id_sistema']) ? $_REQUEST['id_sistema'] : null; + $id_sistema2 = (@$_REQUEST['id_sistema2']) ? $_REQUEST['id_sistema2'] : null; $id_perfil = (@$_REQUEST['id_perfil']) ? $_REQUEST['id_perfil'] : null; //}}} @@ -100,7 +100,7 @@ elseif ($accion == 'listado') { //}}} //Filtro los usuarios {{{ - $usu_res = MECON_Usuario::filtrarUsuarios($DB, $filtro, null); + $usu_res = SAMURAI_Usuario::filtrarUsuarios($DB, $filtro); while ($usu_res->fetchInto($row)){ $usu[$row['login']] = $row['nombre']; } @@ -179,7 +179,7 @@ elseif ($accion == 'info_usuario') { foreach ($informacion as $key => $value) { $SISTEMA =& new SAMURAI_Sistema($DB, $key); $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema', - 'id_sistema'=>$key, 'login'=>$login)); + 'id_sistema2'=>$key, 'login'=>$login)); $T_SISTEMAS->addRow(array( $key, $value['nombre_sistema'], @@ -213,7 +213,7 @@ elseif ($accion == 'info_usuario') { elseif ($accion == 'info_usuario_sistema') { //Creo los objetos necesarios {{{ $USUARIO =& new SAMURAI_Usuario($DB, $login); - $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema); + $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema2); $T_USUARIO =& new MECON_HTML_Tabla(); $T_SISTEMA =& new MECON_HTML_Tabla(); $T_PERFILES =& new MECON_HTML_Tabla('width="400"'); @@ -240,7 +240,7 @@ elseif ($accion == 'info_usuario_sistema') { //Agrego la informacion de la tabla sistema {{{ $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"'); $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo'); - $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(), + $T_SISTEMA->addRow(array($id_sistema2, $SISTEMA->getNombre(), $SISTEMA->getDescripcion())); $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"'); $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"'); @@ -255,11 +255,11 @@ elseif ($accion == 'info_usuario_sistema') { $T_PERFILES->addRow(array('Perfiles del usuario en este sistema'), 'colspan="3" cabecera align="left"'); $T_PERFILES->addRow(array('Id', 'Descripcion', 'Permisos'), 'titulo'); - $informacion = $informacion[$id_sistema]['perfiles']; + $informacion = $informacion[$id_sistema2]['perfiles']; foreach ($informacion as $key => $value) { $PERFIL =& new SAMURAI_Perfil($DB, $key); $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema_perfil', - 'id_sistema'=>$id_sistema, 'login'=>$login, + 'id_sistema2'=>$id_sistema2, 'login'=>$login, 'id_perfil'=>$key)); $T_PERFILES->addRow(array( $key, @@ -295,7 +295,7 @@ elseif ($accion == 'info_usuario_sistema') { elseif ($accion == 'info_usuario_sistema_perfil') { //Creo los objetos necesarios {{{ $USUARIO =& new SAMURAI_Usuario($DB, $login); - $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema); + $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema2); $PERFIL =& new SAMURAI_Perfil($DB, $id_perfil); $T_USUARIO =& new MECON_HTML_Tabla(); $T_SISTEMA =& new MECON_HTML_Tabla(); @@ -324,7 +324,7 @@ elseif ($accion == 'info_usuario_sistema_perfil') { //Agrego la informacion de la tabla sistema {{{ $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"'); $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo'); - $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(), + $T_SISTEMA->addRow(array($id_sistema2, $SISTEMA->getNombre(), $SISTEMA->getDescripcion())); $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"'); $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"'); @@ -348,7 +348,7 @@ elseif ($accion == 'info_usuario_sistema_perfil') { 'colspan="3" cabecera align="left"'); $T_PERMISOS->addRow(array('Id', 'Descripcion', 'Observaciones'), 'titulo'); $informacion = - $informacion[$id_sistema]['perfiles'][$id_perfil]['permisos']; + $informacion[$id_sistema2]['perfiles'][$id_perfil]['permisos']; foreach ($informacion as $key => $value) { foreach ($value as $obs) { $T_PERMISOS->addRow(array( @@ -368,7 +368,7 @@ elseif ($accion == 'info_usuario_sistema_perfil') { //Agrego la informacion al marco {{{ $LINK_VOLVER->setHref('usuarios'); $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario_sistema', - 'login' => $login, 'id_sistema'=>$id_sistema)); + 'login' => $login, 'id_sistema2'=>$id_sistema2)); $MARCO->addBodyContent($T_USUARIO); $MARCO->addBodyContent($IMG_SEP); $MARCO->addBodyContent($T_SISTEMA); -- 2.43.0