From a880b34d71d1a4e53778792b76b182beb7c442dc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Tue, 9 Mar 2004 19:58:22 +0000 Subject: [PATCH] Agrego a la seccion perfiles la funcionalidad de tabladb. --- lib/SAMURAI/Perfil.php | 36 ++++++- sistema/www/perfiles/perfiles-abm.php | 6 +- sistema/www/perfiles/perfiles-nuevo.php | 2 +- sistema/www/perfiles/perfiles.php | 127 +++++++++++------------- 4 files changed, 99 insertions(+), 72 deletions(-) diff --git a/lib/SAMURAI/Perfil.php b/lib/SAMURAI/Perfil.php index 3a58940..c141619 100644 --- a/lib/SAMURAI/Perfil.php +++ b/lib/SAMURAI/Perfil.php @@ -626,6 +626,40 @@ class SAMURAI_Perfil { } // -X2C + /** + * Metodo que devuelve los datos necesarios para listar perfiles. + * + * @param SAMURAI_DB &$db Base de Datos + * @param string $filtro Filtro de perfiles + * @param int $id_sistema Identificador del sistema + * + * @return mixed + * @access public + * @static + */ + function getPerfilesPager(&$db, $filtro = null, $id_sistema = null) { + + //@TODO REEMPLAZA A getPerfiles + $where[] = 'p.id_perfil = ps.id_perfil'; + if ($id_sistema) { + $where[] = 'ps.id_sistema = '. $id_sistema; + } + if ($filtro) { + $where[] = 'p.desc_perfil LIKE '. $db->quote("%$filtro%"); + } + + $where = implode (' AND ', $where); + + $sql = " + SELECT p.id_perfil, p.desc_perfil AS descripcion + FROM samurai.perfil AS p, samurai.perfil_sist AS ps + WHERE $where + ORDER BY p.desc_perfil + "; + + return $db->query ($sql); + } + } // -X2C Class :SAMURAI_Perfil -?> \ No newline at end of file +?> diff --git a/sistema/www/perfiles/perfiles-abm.php b/sistema/www/perfiles/perfiles-abm.php index 0440f45..5d15fdf 100644 --- a/sistema/www/perfiles/perfiles-abm.php +++ b/sistema/www/perfiles/perfiles-abm.php @@ -55,8 +55,8 @@ switch (@$_REQUEST['accion']) { require_once 'MECON/HTML/Image.php'; // }}} //CREO LOS OBJETO NECESARIOS {{{ - if (@$_GET['id_perfil']) { - $id_perfil = $_GET['id_perfil']; + if (@$_GET['_id_perfil']) { + $id_perfil = $_GET['_id_perfil']; } elseif (@$_POST['id_perfil']) { $id_perfil = $_POST['id_perfil']; @@ -77,7 +77,7 @@ switch (@$_REQUEST['accion']) { $responsable = $_SESSION['usuario']; } - if (!@$_GET['id_perfil']) { + if (!@$_GET['_id_perfil']) { if (@$_GET['desc_perfil']) { $PERFIL->setDescripcion(@$_GET['desc_perfil']); } diff --git a/sistema/www/perfiles/perfiles-nuevo.php b/sistema/www/perfiles/perfiles-nuevo.php index c5dace9..13eb360 100644 --- a/sistema/www/perfiles/perfiles-nuevo.php +++ b/sistema/www/perfiles/perfiles-nuevo.php @@ -85,7 +85,7 @@ $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones $res = new PEAR_Error("El sistema ya tiene asociado el perfil seleccionado, modifique sus permisos desde la seccion perfiles."); } else { - header('Location: perfiles-abm?id_perfil='.$tmp['0']); + header('Location: perfiles-abm?_id_perfil='.$tmp['0']); } } elseif ($descripcion->getValue()) { diff --git a/sistema/www/perfiles/perfiles.php b/sistema/www/perfiles/perfiles.php index d0e6f46..719d8b9 100644 --- a/sistema/www/perfiles/perfiles.php +++ b/sistema/www/perfiles/perfiles.php @@ -30,77 +30,70 @@ $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones //}}} //REQUIRE ONCE {{{ - require_once 'MECON/HTML/Tabla.php'; - require_once 'SAMURAI/Perfil.php'; - require_once 'SAMURAI/Sistema.php'; +require_once 'SAMURAI/Sistema.php'; +require_once 'SAMURAI/Perfil.php'; +require_once 'MECON/HTML/Image.php'; +require_once 'MECON/HTML/TablaDB.php'; //}}} -//LINKS {{{ - $aHrefPopup = ''; - $aHref = ''; - $aHrefModif = $aHref.'Modificar Perfil'; - $aHrefElim = $aHref.'Eliminar Perfil'; -// }}} + //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema?redirect=perfiles/perfiles'); } -// }}} -//CREO LOS OBJETOS NECESARIOS {{{ - $TABLA2 = new MECON_HTML_Tabla ('cellspacing=0'); - $TABLA = new MECON_HTML_Tabla ('cellpadding=2'); - $TABLA3 = new MECON_HTML_Tabla ('cellspacing=0'); - $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']); -// }}} -//OBTENGO LA INFORMACION DE LA BASE {{{ - $perfiles = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']); -// }}} -//AGREGO LOS DATOS A LAS TABLAS {{{ - $imagen = new MECON_HTML_Image('/MECON/images/vinetas_flecha_doble.gif'); - $row = array ($imagen->toHtml().' SISTEMA: '.$SISTEMA->getNombre().''); - $TABLA3->addRow($row,'align=left'); - - //Agrego la posibilidad de seleccionar otro sistema para trabajar. - $row = array (); - $row[] = 'Seleccionar otro sistema para trabajar.'; - //Agrego el link a nuevo - if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_ALTA)) { - $row[] = 'Ingresar Nuevo Perfil'; - } - $TABLA2->addRow($row,'align=right'); - $TABLA2->updateColAttributes(0,'align=left'); - //Genero la cabecera de la tabla - $row = array ('Id','Descripción'); - if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) { - $row[] = 'Modif.'; - } - if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) { - $row[] = 'Elim.'; - } - - $TABLA->addRow($row,'cabecera'); - foreach ($perfiles as $perfil) { - $Popup = ereg_replace('##PERFIL##', $perfil->getId(), $aHrefPopup); - $Modif = ereg_replace('##NUEVO##' , $perfil->getId(), $aHrefModif); - $Elim = ereg_replace('##NUEVO##' , $perfil->getId(), $aHrefElim ); - $Popup = $Popup.$perfil->getDescripcion().''; - $Modif = ereg_replace('##ACCION##', 'm' , $Modif ); - $Elim = ereg_replace('##ACCION##', 'e' , $Elim ); - $row = array ($perfil->getId(), $Popup); - - if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) { - $row[] = $Modif; - } - if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) { - $row[] = $Elim; - } - $TABLA->addRow($row); - } -// }}} +//}}} + +//VIÑETA CON EL SISTEMA EN EL CUAL SE ESTA TRABAJANDO {{{ +$SISTEMA =& new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']); +$tmp =& new MECON_HTML_Image('/MECON/images/vinetas_flecha_doble.gif', '>>'); +$VINETA = '
'. $tmp->toHTML() .' SISTEMA: '. + $SISTEMA->getNombre().'
'; +//}}} + +//OBTENGO LA INFORMACION DE LOS PERFILES {{{ +$res = SAMURAI_Perfil::getPerfilesPager($DB, null, $_SESSION['samurai']['id_sistema']); +//}}} + +//CREO LA TABLA DE USUARIOS {{{ +$TABLA =& new MECON_HTML_TablaDB ('Perfiles'); +$TABLA->addLink( + 'nuevo', + new MECON_HTML_Link( + 'perfiles-nuevo', 'Nuevo Perfil' + ) + ); +$TABLA->addLink( + 'volver', + new MECON_HTML_Link( + './../sel-sistema?redirect=perfiles/perfiles', + 'Seleccionar otro sistema para trabajar' + ) + ); + + +$cabecera[] = 'Id'; +$cabecera[] = 'Descripción'; + +//Agrego las columnas de modificacion y eliminacion {{{ +$link = new MECON_HTML_Link ('perfiles-abm', null, array('accion' => 'm')); +if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) { + $cabecera[] = 'Modif.'; + $TABLA->addRowsIcon('modificar', 'id_perfil', $link); +} +if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) { + $cabecera[] = 'Elimn.'; + $link->setGetVar('accion', 'e'); + $TABLA->addRowsIcon('eliminar', 'id_perfil', $link); +} +//}}} + +$TABLA->addRow($cabecera, 'cabecera'); +$pager = $TABLA->addPager($res, null, new MECON_HTML_Link ('perfiles', null), 25); +$TABLA->addRows($pager, array ('id_perfil', 'descripcion')); +//}}} + //DIBUJO LA PAGINA {{{ - $MARCO->addBody($TABLA3); - $MARCO->addBody($TABLA2->toHtml(1)); - $MARCO->addBody($TABLA); - $MARCO->display(); -// }}} -//FIN +$MARCO->addBody($VINETA); +$MARCO->addBody($TABLA); +$MARCO->display(); +//}}} ?> -- 2.43.0