From: Martín Marrese Date: Tue, 5 Aug 2003 16:20:54 +0000 (+0000) Subject: Primera version lista con permisos. X-Git-Tag: svn_import~98 X-Git-Url: https://git.llucax.com/mecon/samurai.git/commitdiff_plain/421bca9938fcbe0d0cf3e715a27f0a6bc37c15c3 Primera version lista con permisos. --- diff --git a/doc/notas b/doc/notas index 3340cb5..645f748 100644 --- a/doc/notas +++ b/doc/notas @@ -1 +1,22 @@ ULTIMA VERSION ANTES DEL DESASTRE: 11 + +Identificadores de permisos y sistema: + +SAMURAI: 44 +------- +alta permiso 52 +baja permiso 54 +modificacion permiso 53 + +alta sistema 55 +baja sistema 56 +modificacion sistema 57 +abm sistema-permiso 64 + +alta perfil 58 +baja perfil 59 +modificacion perfil 60 + +alta usuario 61 +baja usuario 62 +modificacion usuario 63 diff --git a/lib/SAMURAI/Perfil.php b/lib/SAMURAI/Perfil.php index b17bbc0..445c01a 100644 --- a/lib/SAMURAI/Perfil.php +++ b/lib/SAMURAI/Perfil.php @@ -644,7 +644,9 @@ class SAMURAI_Perfil { $rta2 = array_diff($this->getPermisos(), $p); if (!$rta1 && !$rta2) { $perf = new SAMURAI_Perfil($this->_db, $key); - return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos."); + if ($perf->getDescripcion() != $this->getDescripcion()) { + return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos."); + } } } return true; @@ -653,4 +655,4 @@ class SAMURAI_Perfil { } // -X2C Class :SAMURAI_Perfil -?> \ No newline at end of file +?> diff --git a/sistema/conf/confSecciones.php b/sistema/conf/confSecciones.php index 1508771..87d2861 100644 --- a/sistema/conf/confSecciones.php +++ b/sistema/conf/confSecciones.php @@ -27,8 +27,9 @@ //SAMURAI {{{ 'titulo_sistema' => 'SAMURAI', 'pie_sistema' => 'Samurai', - 'id_sistema' => '1', + 'id_sistema' => '44', //}}} +//DIRECTORIOS {{{ //Directorios web del sistema, salvo el root, todos son opcionales //Si no se ponen, o estan vacias se asume lo que dice el comentario al lado de cada una 'directorios' => array ( 'root' => '/sistemas/samurai', // obligatorio @@ -40,15 +41,21 @@ //Directorios del file system. Si no se pone se asume lo que esta comentado. Son opcionales 'directorios_fs' => array ('cache' => '', // /tmp ), +//}}} +//SECCIONES {{{ 'secciones' => array ( - - //SECCIONES VISIBLES POR TODOS LOS USUARIOS + //USUARIOS {{{ array ( 'nombre' => 'Usuarios', 'imagenComun' => 'usuarios.gif', 'imagenMouseOn' => '', 'imagenSelect' => '', 'link' => 'usuarios/usuarios', +// 'permisos' => SAMURAI_ALTA_USUARIO, + 'permisos' => array (SAMURAI_ALTA_USUARIO, + SAMURAI_BAJA_USUARIO, + SAMURAI_MODI_USUARIO + ), 'tipoMenu' => 'oculto', 'hijos' => array ( array ( 'nombre' => 'ABM Usuario', @@ -59,12 +66,18 @@ ), ), ), + //}}} + //PERFILES {{{ array ( 'nombre' => 'Perfiles', 'imagenComun' => 'perfiles.gif', 'imagenMouseOn' => '', 'imagenSelect' => '', 'link' => 'perfiles/perfiles', + 'permisos' => array (SAMURAI_ALTA_PERFIL, + SAMURAI_BAJA_PERFIL, + SAMURAI_MODI_PERFIL + ), 'tipoMenu' => 'oculto', 'hijos' => array ( array ( 'nombre' => 'Nuevo Perfil', @@ -81,6 +94,8 @@ ), ), ), + //}}} + //CONSULTAS {{{ array ( 'nombre' => 'consultas', 'imagenComun' => 'general_consultas.gif', @@ -99,7 +114,8 @@ ), ), ), - //SECCIONES VISIBLES POR LOS DESARROLLADORES + //}}} + //SISTEMAS {{{ array ( 'nombre' => 'Sistemas', 'imagenComun' => 'general_sistemas.gif', @@ -128,6 +144,8 @@ ), ), ), + //}}} + //PERMISOS {{{ array ( 'nombre' => 'Permisos', 'imagenComun' => 'permisos.gif', @@ -143,8 +161,9 @@ 'link' => 'permisos/permisos-abm', ), ), - ), ), - ); - + //}}} + ), + //}}} +); ?> diff --git a/sistema/local_lib/constantes.php b/sistema/local_lib/constantes.php new file mode 100644 index 0000000..0b5be64 --- /dev/null +++ b/sistema/local_lib/constantes.php @@ -0,0 +1,42 @@ + +// +----------------------------------------------------------------------+ +// +// $Id$ +// + +/** + * Defino la constante identificador del sistema + */ +define ('SAMURAI_ID', 44); + +/** + * Defino las constantes de perfiles + */ +define ('SAMURAI_ALTA_PERFIL', 58); +define ('SAMURAI_BAJA_PERFIL', 59); +define ('SAMURAI_MODI_PERFIL', 60); +define ('SAMURAI_TIPO_PERFIL', 65); + +/** + * Defino las constantes de usuarios + */ +define ('SAMURAI_ALTA_USUARIO', 61); +define ('SAMURAI_BAJA_USUARIO', 62); +define ('SAMURAI_MODI_USUARIO', 63); +?> diff --git a/sistema/local_lib/prepend.php b/sistema/local_lib/prepend.php index d363e1c..70cac6e 100644 --- a/sistema/local_lib/prepend.php +++ b/sistema/local_lib/prepend.php @@ -1,12 +1,14 @@ connect(); +//Creo el objeto Permiso +$SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['samurai']['login_perm'], SAMURAI_ID, $DB); //Creo el objeto Marco -$MARCO = new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php'); +$MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM); ?> diff --git a/sistema/www/images/copete.jpg b/sistema/www/images/copete.jpg index 2bc4d0b..8aa8fe9 100644 Binary files a/sistema/www/images/copete.jpg and b/sistema/www/images/copete.jpg differ diff --git a/sistema/www/images/inicio.jpg b/sistema/www/images/inicio.jpg index 170e524..5ec8616 100644 Binary files a/sistema/www/images/inicio.jpg and b/sistema/www/images/inicio.jpg differ diff --git a/sistema/www/images/perfiles.gif b/sistema/www/images/perfiles.gif index f54dd87..3841e5f 100644 Binary files a/sistema/www/images/perfiles.gif and b/sistema/www/images/perfiles.gif differ diff --git a/sistema/www/images/perfiles_f2.gif b/sistema/www/images/perfiles_f2.gif index 8ed9706..a5836de 100644 Binary files a/sistema/www/images/perfiles_f2.gif and b/sistema/www/images/perfiles_f2.gif differ diff --git a/sistema/www/images/perfiles_f3.gif b/sistema/www/images/perfiles_f3.gif index d2546dd..4e2af77 100644 Binary files a/sistema/www/images/perfiles_f3.gif and b/sistema/www/images/perfiles_f3.gif differ diff --git a/sistema/www/images/permisos.gif b/sistema/www/images/permisos.gif index b242e71..d49dbf9 100644 Binary files a/sistema/www/images/permisos.gif and b/sistema/www/images/permisos.gif differ diff --git a/sistema/www/images/permisos_f2.gif b/sistema/www/images/permisos_f2.gif index 8d3780f..a2bcde8 100644 Binary files a/sistema/www/images/permisos_f2.gif and b/sistema/www/images/permisos_f2.gif differ diff --git a/sistema/www/images/permisos_f3.gif b/sistema/www/images/permisos_f3.gif index eb08d2e..90312ba 100644 Binary files a/sistema/www/images/permisos_f3.gif and b/sistema/www/images/permisos_f3.gif differ diff --git a/sistema/www/images/sistemas.gif b/sistema/www/images/sistemas.gif index 15e37eb..15f40ca 100644 Binary files a/sistema/www/images/sistemas.gif and b/sistema/www/images/sistemas.gif differ diff --git a/sistema/www/images/sistemas_f2.gif b/sistema/www/images/sistemas_f2.gif index 59ea44d..c3b1668 100644 Binary files a/sistema/www/images/sistemas_f2.gif and b/sistema/www/images/sistemas_f2.gif differ diff --git a/sistema/www/images/sistemas_f3.gif b/sistema/www/images/sistemas_f3.gif index 79ecfd5..f122f06 100644 Binary files a/sistema/www/images/sistemas_f3.gif and b/sistema/www/images/sistemas_f3.gif differ diff --git a/sistema/www/images/usuarios.gif b/sistema/www/images/usuarios.gif index 694d649..05d41c1 100644 Binary files a/sistema/www/images/usuarios.gif and b/sistema/www/images/usuarios.gif differ diff --git a/sistema/www/images/usuarios_f2.gif b/sistema/www/images/usuarios_f2.gif index d7ebde3..d022a03 100644 Binary files a/sistema/www/images/usuarios_f2.gif and b/sistema/www/images/usuarios_f2.gif differ diff --git a/sistema/www/images/usuarios_f3.gif b/sistema/www/images/usuarios_f3.gif index 2ad68fb..2ed971d 100644 Binary files a/sistema/www/images/usuarios_f3.gif and b/sistema/www/images/usuarios_f3.gif differ diff --git a/sistema/www/perfiles/perfiles-abm.php b/sistema/www/perfiles/perfiles-abm.php index 17534e2..b770d57 100644 --- a/sistema/www/perfiles/perfiles-abm.php +++ b/sistema/www/perfiles/perfiles-abm.php @@ -19,6 +19,11 @@ // // $Id$ // +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ + if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL)) { +// header('Location: error') + } +//}}} // REQUIRE_ONCE {{{ require_once 'MECON/HTML/QuickForm.php'; @@ -76,7 +81,9 @@ $FORM->addElement ('hidden', 'desc_ant' , $descripcion); $FORM->addElement ('static', 'desc_perfil', 'Descripcion', $descripcion); $FORM->addElement ('select', 'permisos' , 'Permisos' , $PERMISOS, array('size' => '5', 'multiple' => 'true')); - $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1')); + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1')); + } $FORM->addElement ('hidden', 'responsable', $responsable); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location=\'perfiles\';return false;')); @@ -95,14 +102,20 @@ $id_perfil =& $FORM->getElement ('id_perfil' ); $desc_perfil =& $FORM->getElement ('desc_perfil'); $permisos =& $FORM->getElement ('permisos' ); - $tipo_perfil =& $FORM->getElement ('tipo_perfil'); + + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $tipo_perfil =& $FORM->getElement ('tipo_perfil'); + } $responsable =& $FORM->getElement ('responsable'); $group =& $FORM->getElement ('botones' ); $group =& $group->getElements('aceptar' ); $aceptar =& $group[0]; $permisos->setSelected($PERFIL->getPermisos()); - $tipo_perfil->setSelected($PERFIL->getTipo()); + + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $tipo_perfil->setSelected($PERFIL->getTipo()); + } if ($PERFIL->getResponsable() != '') { $responsable->setValue($PERFIL->getResponsable()); @@ -131,8 +144,11 @@ $id_perfil =& $FORM->getElement ('id_perfil' ); $desc_perfil =& $FORM->getElement ('desc_perfil'); $permisos =& $FORM->getElement ('permisos' ); - $tipo_perfil =& $FORM->getElement ('tipo_perfil'); - $tipo_perfil_tmp = $tipo_perfil->getSelected(); + + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $tipo_perfil =& $FORM->getElement ('tipo_perfil'); + $tipo_perfil_tmp = $tipo_perfil->getSelected(); + } $responsable =& $FORM->getElement ('responsable'); $group =& $FORM->getElement ('botones' ); $group =& $group->getElements('aceptar' ); @@ -141,7 +157,10 @@ $PERFIL->setDescripcion($desc_perfil->_text ); $PERFIL->setResponsable($responsable->getValue()); $PERFIL->setPermisos ($permisos->getSelected()); //Le asigno al perfil los permisos seleccionados - $PERFIL->setTipo ($tipo_perfil_tmp['0'] ); + + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $PERFIL->setTipo ($tipo_perfil_tmp['0'] ); + } //Grabo y verifico si se produjo algun error $res = $PERFIL->guardarDatos($aceptar->getValue()); diff --git a/sistema/www/perfiles/perfiles-datos.php b/sistema/www/perfiles/perfiles-datos.php index f3d1620..d85cc6c 100644 --- a/sistema/www/perfiles/perfiles-datos.php +++ b/sistema/www/perfiles/perfiles-datos.php @@ -45,6 +45,7 @@ 'language' => 'es', 'cache' => 'false', 'simple' => 'true')); + $PAGE->addStyleSheet('/MECON/css/general_estilos.css'); $FORM = new MECON_HTML_QuickForm ('perfil_datos','post','perfil-datos'); $PERFIL = new SAMURAI_Perfil($DB, $_GET['id_perfil']); $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']); diff --git a/sistema/www/perfiles/perfiles-nuevo.php b/sistema/www/perfiles/perfiles-nuevo.php index 7ee1303..770eaa2 100644 --- a/sistema/www/perfiles/perfiles-nuevo.php +++ b/sistema/www/perfiles/perfiles-nuevo.php @@ -19,6 +19,11 @@ // // $Id$ // +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ + if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL)) { +// header('Location: error') + } +//}}} //REQUIRE_ONCE {{{ require_once 'PEAR.php'; diff --git a/sistema/www/perfiles/perfiles.php b/sistema/www/perfiles/perfiles.php index 28e52a1..a56c575 100644 --- a/sistema/www/perfiles/perfiles.php +++ b/sistema/www/perfiles/perfiles.php @@ -19,11 +19,18 @@ // // $Id$ // - + +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ + if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL)) { +// header('Location: error') + } +//}}} + +//REQUIRE ONCE {{{ require_once 'MECON/HTML/Tabla.php'; require_once 'SAMURAI/Perfil.php'; require_once 'SAMURAI/Sistema.php'; - +//}}} //LINKS {{{ $aHrefPopup = ''; $aHref = ''; @@ -48,9 +55,24 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { $imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif'); $row = array ($imagen->toHtml().' SISTEMA: '.$SISTEMA->getNombre().''); $TABLA3->addRow($row,'align=left'); - $row = array ('Ingresar Nuevo Perfil'); - $TABLA2->addRow($row,'align=right'); - $row = array ('Id','Descripcion','Tipo','Modif.','Elim.'); + + //Agrego el link a nuevo + if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL)) { + $row = array ('Ingresar Nuevo Perfil'); + $TABLA2->addRow($row,'align=right'); + } + //Genero la cabecera de la tabla + $row = array ('Id','Descripcion'); + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $row[] = 'Tipo'; + } + if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) { + $row[] = 'Modif.'; + } + if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) { + $row[] = 'Elim.'; + } + $TABLA->addRow($row,'cabecera'); foreach ($perfiles as $perfil) { $Popup = ereg_replace('##PERFIL##', $perfil->getId(), $aHrefPopup); @@ -59,12 +81,17 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { $Popup = $Popup.$perfil->getDescripcion().''; $Modif = ereg_replace('##ACCION##', 'm' , $Modif ); $Elim = ereg_replace('##ACCION##', 'e' , $Elim ); - $row = array ( $perfil->getId(), - $Popup, - $perfil->getTipo(), - $Modif, - $Elim, - ); + $row = array ($perfil->getId(), $Popup); + + if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) { + $row[] = $perfil->getTipo(); + } + if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) { + $row[] = $Modif; + } + if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) { + $row[] = $Elim; + } $TABLA->addRow($row); } // }}} diff --git a/sistema/www/sistemas/sistemas-abm.php b/sistema/www/sistemas/sistemas-abm.php index 4240948..639287b 100644 --- a/sistema/www/sistemas/sistemas-abm.php +++ b/sistema/www/sistemas/sistemas-abm.php @@ -41,7 +41,7 @@ $FORM->addElement ('header' , 'cabecera' , 'ABM Sistemas'); $FORM->addElement ('hidden' , 'id_sistema'); $FORM->addElement ('text' , 'nombre_sistema' , 'Nombre' , array('size' => '30')); - $FORM->addElement ('textarea', 'desc_sistema' , 'Descripcion' , array('rows' => '2','cols'=>'50')); + $FORM->addElement ('textarea', 'desc_sistema' , 'Descripcion' , array('rows' => '2','cols'=>'50', 'wrap'=>'virtual')); $FORM->addElement ('mdate' , 'fecha_inicio' , 'Fecha Inicio' ); $FORM->addElement ('mdate' , 'fecha_fin' , 'Fecha Fin' ); $FORM->addElement ('mdate' , 'fecha_implementacion', 'Fecha Implementacion'); diff --git a/sistema/www/sistemas/sistemas-datos.php b/sistema/www/sistemas/sistemas-datos.php index 0353dd7..689b4a5 100644 --- a/sistema/www/sistemas/sistemas-datos.php +++ b/sistema/www/sistemas/sistemas-datos.php @@ -43,6 +43,7 @@ 'language' => 'es', 'cache' => 'false', 'simple' => 'true')); + $PAGE->addStyleSheet('/MECON/css/general_estilos.css'); $FORM = new MECON_HTML_QuickForm ('sistemas_datos','post','sistemas-datos'); $SISTEMA = new SAMURAI_Sistema ($DB, $_GET['id_sistema']); } diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php index 0541a2b..1a7692a 100644 --- a/sistema/www/usuarios/usuarios-abm.php +++ b/sistema/www/usuarios/usuarios-abm.php @@ -20,6 +20,11 @@ // $Id$ // +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ + if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_USUARIO,SAMURAI_BAJA_USUARIO,SAMURAI_MODI_USUARIO)) { +// header('Location: error') + } +//}}} //REQUIRE ONCE {{{ //MECON {{{ require_once 'MECON/HTML/QuickForm.php'; @@ -76,7 +81,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { } $FORM->addElement ('select', 'perfiles' , 'Perfiles', $PERFILES, array('size' => '5', 'multiple' => 'true')); $FORM->addElement ('hidden', 'responsable', $_SESSION['samurai']['login']); - $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar', array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;')); + $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \'usuarios\';return false;')); $FORM->addGroup($group,'botones'); } @@ -106,6 +111,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { //ELIMINACION -> modifico el valor del boton if ($_GET['accion'] == 'e') { + $aceptar->updateAttributes(array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;')); $aceptar->setValue('Eliminar'); $FORM->freeze(); } @@ -139,10 +145,10 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { if ($aceptar->getValue() == 'Grabar') { $res2 = $USUARIO->verificarAsociacionExistente(); } - if (PEAR::isError($res)) { + if (@PEAR::isError($res)) { $ERROR = new MECON_HTML_Error($res->getMessage()); } - elseif (PEAR::isError($res2)) { + elseif (@PEAR::isError($res2)) { $ERROR =new MECON_HTML_Error($res2->getMessage()); } else { diff --git a/sistema/www/usuarios/usuarios-datos.php b/sistema/www/usuarios/usuarios-datos.php index 4a65a99..29fe08f 100644 --- a/sistema/www/usuarios/usuarios-datos.php +++ b/sistema/www/usuarios/usuarios-datos.php @@ -43,6 +43,7 @@ 'language' => 'es', 'cache' => 'false', 'simple' => 'true')); + $PAGE->addStyleSheet('/MECON/css/general_estilos.css'); $FORM = new MECON_HTML_QuickForm ('usuarios_datos','post','usuarios-datos'); $USUARIO = new SAMURAI_Usuario($DB, $_GET['login']); } diff --git a/sistema/www/usuarios/usuarios.php b/sistema/www/usuarios/usuarios.php index 680a11a..02ab0ac 100644 --- a/sistema/www/usuarios/usuarios.php +++ b/sistema/www/usuarios/usuarios.php @@ -20,13 +20,17 @@ // $Id$ // +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ + if (!$SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO, SAMURAI_ALTA_USUARIO)) { +// header('Location: error') + } +//}}} //REQUIRE ONCE {{{ require_once 'MECON/HTML/Tabla.php'; require_once 'SAMURAI/Usuario.php'; require_once 'SAMURAI/Sistema.php'; require_once 'HTML/Image.php'; // }}} - //LINKS {{{ $aHrefPopup = ''; $aHref = ''; @@ -51,9 +55,20 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { $imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif'); $row = array ($imagen->toHtml().' SISTEMA: '.$SISTEMA->getNombre().''); $TABLA3->addRow($row,'align=left'); - $row = array ($aHref.'Agregar Nuevo Usuario'); - $TABLA2->addRow($row,'align=right'); - $row = array ('Login','Nombre','Modif.','Elim.'); + + //Agrego el link a nuevo + if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_USUARIO)) { + $row = array ($aHref.'Agregar Nuevo Usuario'); + $TABLA2->addRow($row,'align=right'); + } + //Genero la cabecera de la tabla + $row = array ('Login','Nombre'); + if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) { + $row[] = 'Modif.'; + } + if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) { + $row[] = 'Elim.'; + } $TABLA->addRow($row,'cabecera'); foreach ($usuarios as $usuario) { $Popup = ereg_replace('##LOGIN##' , $usuario->getLogin(), $aHrefPopup); @@ -62,11 +77,14 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { $Popup = $Popup.$usuario->getLogin().''; $Modif = ereg_replace('##ACCION##', 'm' , $Modif ); $Elim = ereg_replace('##ACCION##', 'e' , $Elim ); - $row = array ( $Popup, - $usuario->getNombre(), - $Modif, - $Elim, - ); + $row = array ( $Popup, $usuario->getNombre()); + if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) { + $row[] = $Modif; + } + if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) { + $row[] = $Elim; + } + $TABLA->addRow($row); } // }}}