From: Martín Marrese Date: Tue, 15 Jul 2003 14:39:07 +0000 (+0000) Subject: Permisos, Sistemas y Perfiles terminado. X-Git-Tag: svn_import~113 X-Git-Url: https://git.llucax.com/mecon/samurai.git/commitdiff_plain/2ba023cd1e829c20ad139ca6c2c738738b4f15fe?ds=inline;hp=d0ae155a8be2168110755cce58865068b34bfe91 Permisos, Sistemas y Perfiles terminado. Faltan algunos retoques, pero la funcionalidad ya esta lista. --- diff --git a/sistema/www/perfiles/perfiles-abm.php b/sistema/www/perfiles/perfiles-abm.php index fdc25fc..42082d4 100644 --- a/sistema/www/perfiles/perfiles-abm.php +++ b/sistema/www/perfiles/perfiles-abm.php @@ -19,56 +19,92 @@ // // $Id$ // - + +// REQUIRE_ONCE {{{ require_once 'MECON/HTML/QuickForm.php'; require_once 'MECON/HTML/Tabla.php'; - + require_once 'SAMURAI/Perfil.php'; + require_once 'SAMURAI/Permiso.php'; + require_once 'SAMURAI/Sistema.php'; +// }}} //CREO LOS OBJETO NECESARIOS {{{ - $SAMURAI = new Samurai($DB); - $FORM = new MECON_HTML_QuickForm ('perfiles_abm','post','perfiles-abm'); + if (@$_GET['id_perfil']) { + $id_perfil = $_GET['id_perfil']; + } + elseif (@$_POST['id_perfil']) { + $id_perfil = $_POST['id_perfil']; + } + else { + $id_perfil = null; + } + $FORM = new MECON_HTML_QuickForm ('perfiles_abm','post','perfiles-abm'); + $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']); + $PERFIL = new SAMURAI_Perfil ($DB, $id_perfil); + + if ($PERFIL->getResponsable()) { + $responsable = $PERFIL->getResponsable(); + } + else { + $responsable = $_SESSION['samurai']['login']; + } + + if (!@$_GET['id_perfil']) { + if (@$_GET['desc_perfil']) { + $PERFIL->setDescripcion(@$_GET['desc_perfil']); + } + else { + $PERFIL->setDescripcion(@$_POST['desc_ant']); + } + } + $descripcion = $PERFIL->getDescripcion(); +// }}} +//OBTENGO LOS PERMISOS DEL SISTEMA {{{ + $ASOCIACIONES = $SISTEMA->getAsociaciones(); + $PERMISOS = array (); + foreach ($ASOCIACIONES as $as) { + $clave = $as['id'].'##'.$as['obs']; + $texto = ($as['obs'] != '') ? $as['desc'].' - '.$as['obs']: $as['desc']; + $PERMISOS[$clave] = $texto; + } // }}} //AGREGO LOS ELEMENTOS DEL FORM {{{ - $FORM->addElement ('header', 'cabecera', 'ABM Permisos'); - $FORM->addElement ('hidden', 'id_perfil'); - $FORM->addElement ('text' , 'desc_permiso', 'Descripcion', array('size'=>'50')); - $FORM->addElement ('static', 'responsable' , 'Responsable', $_SESSION['samurai']['login']); + $FORM->addElement ('header', 'cabecera', 'ABM Perfiles'); + $FORM->addElement ('hidden', 'id_perfil', $id_perfil); + $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')); + $FORM->addElement ('static', 'responsable', 'Responsable', $responsable); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); + $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;')); $FORM->addGroup($group,'botones'); // }}} -//AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{ - $FORM->addRule('desc_permiso', 'El campo descripcion es obligatorio', 'required', '', 'client'); -// }}} -//CREO EL OBJETO PERMISO {{{ - //Obtengo el id del permiso. - $idPermiso =& $FORM->getElement('id_permiso'); - if (isset($_GET['accion']) && $_GET['accion'] != '') { - //Viene en el get es -> modificar o eliminar, me ocupo yo. - $id_permiso = $_GET['idPermiso']; - $idPermiso->setValue($id_permiso); - } - else { - //Viene en el post, no me ocupo yo. - $id_permiso = $idPermiso->getValue(); - } - $PERMISO = new Permiso ($DB, $id_permiso); +//AGREGO LAS REGLAS DE VALIDACION {{{ + $FORM->addRule ('permisos', 'Se debe seleccionar al menos un permiso', 'required'); // }}} -//SETEO LOS VALORES DE LOS ELEMENTOS DEL OBJETO FORM {{{ +//CARGO LOS DATOS SI YA EXISTEN EN BASE {{{ +// TODO Terminar de armar la parte de modificacion y eliminacion if (isset($_GET['accion']) && $_GET['accion'] != '') { - //MODIFICACION -> agrego la info a los elementos - $desc_permiso =& $FORM->getElement ('desc_permiso'); - $responsable =& $FORM->getElement ('responsable' ); - $group =& $FORM->getElement ('botones' ); - $group =& $group->getElements('aceptar' ); + //MODIFICACION + $id_perfil =& $FORM->getElement ('id_perfil' ); + $desc_perfil =& $FORM->getElement ('desc_perfil'); + $permisos =& $FORM->getElement ('permisos' ); + $tipo_perfil =& $FORM->getElement ('tipo_perfil'); + $responsable =& $FORM->getElement ('responsable'); + $group =& $FORM->getElement ('botones' ); + $group =& $group->getElements('aceptar' ); $aceptar =& $group[0]; - $desc_permiso->setValue ($PERMISO->getDescripcion()); - - if ($PERMISO->getResponsable() != '') { - $responsable->setValue($PERMISO->getResponsable()); + $permisos->setSelected($PERFIL->getPermisos()); + $tipo_perfil->setSelected($PERFIL->getTipo()); + + if ($PERFIL->getResponsable() != '') { + $responsable->setValue($PERFIL->getResponsable()); } - + + //Modifico el valor del boton $aceptar->setValue('Modificar'); - + //ELIMINACION -> modifico el valor del boton if ($_GET['accion'] == 'e') { $aceptar->setValue('Eliminar'); @@ -78,35 +114,56 @@ // }}} //VALIDO EL FORMULARIO {{{ if ($FORM->validate()) { - $desc_permiso =& $FORM->getElement ('desc_permiso'); - $responsable =& $FORM->getElement ('responsable' ); - $group =& $FORM->getElement ('botones' ); - $group =& $group->getElements('aceptar' ); - $aceptar =& $group[0]; - - $PERMISO->setDescripcion($desc_permiso->getValue()); - $PERMISO->setResponsable($responsable->_text); //TODO URGENTE Modificar esto. No tiene metodo static::getValue() - - //Verifico si se produjo algun error - $res = $PERMISO->guardarDatos($aceptar->getValue()); - - if (PEAR::isError($res)) { - $TABLA = new Tabla ('cellspacing=0'); - $row = array (''.$res->getMessage().''); - $TABLA->addRow($row,'align=left'); + // VEO SI SE CANCELO {{{ + $botones = $FORM->getSubmitValue('botones'); + if (@$botones['cancelar']) { + header('Location: perfiles'); } + // }}} else { - $FORM->freeze(); - header('Location: permisos'); + $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(); + $responsable =& $FORM->getElement ('responsable'); + $group =& $FORM->getElement ('botones' ); + $group =& $group->getElements('aceptar' ); + $aceptar =& $group[0]; + + $PERFIL->setDescripcion($desc_perfil->_text ); + $PERFIL->setResponsable($responsable->_text ); //TODO URGENTE Modificar esto. No tiene metodo static::getValue() + $PERFIL->setPermisos ($permisos->getSelected()); //Le asigno al perfil los permisos seleccionados + $PERFIL->setTipo ($tipo_perfil_tmp['0'] ); + + //Grabo y verifico si se produjo algun error + $res = $PERFIL->guardarDatos($aceptar->getValue()); + + if (PEAR::isError($res)) { + $TABLA = new Tabla ('cellspacing=0'); + $row = array (''.$res->getMessage().''); + $TABLA->addRow($row,'align=left'); + if ($aceptar->getValue() == 'Eliminar') { + $FORM->freeze(); + } + } + else { + $FORM->freeze(); + header('Location: perfiles'); + } } } // }}} - //DIBUJO LA PAGINA {{{ + $TABLA3 = new Tabla ('cellspacing=0'); + $row = array ('SISTEMA: '.$SISTEMA->getNombre().''); + $TABLA3->addRow($row,'titulo align=left'); + $MARCO = new Marco ('../../conf/confSecciones.php'); - $MARCO->addTitle('ABM Permisos'); + $MARCO->addTitle('ABM Perfil'); + $MARCO->addBody($TABLA3); if (isset($TABLA)) { - $MARCO->addBody($TABLA->toHtml(1)); + $MARCO->addBody($TABLA); } $MARCO->addBody($FORM); $MARCO->display(); diff --git a/sistema/www/perfiles/perfiles-nuevo.php b/sistema/www/perfiles/perfiles-nuevo.php new file mode 100644 index 0000000..111241d --- /dev/null +++ b/sistema/www/perfiles/perfiles-nuevo.php @@ -0,0 +1,123 @@ + +// +----------------------------------------------------------------------+ +// +// $Id$ +// + + require_once 'PEAR.php'; + require_once 'MECON/HTML/QuickForm.php'; + require_once 'MECON/HTML/Tabla.php'; + require_once 'SAMURAI/Perfil.php'; + require_once 'SAMURAI/Sistema.php'; + +//CREO LOS OBJETO NECESARIOS {{{ + $FORM = new MECON_HTML_QuickForm ('perfiles_nuevo','post','perfiles-nuevo'); + $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']); +// }}} +//AGREGO LOS ELEMENTOS DEL FORM {{{ + $FORM->addElement ('header', 'cabecera' , 'Nuevo Perfil'); + $FORM->addElement ('select', 'perfiles' , 'Perfiles', '', array('size' => '1')); + $FORM->addElement ('text' , 'filtro' , 'Filtrar' , array('size' => '50')); + $FORM->addElement ('text' , 'descripcion', 'Nombre' , array('size' => '50')); + $group[] = HTML_QuickForm::createElement('submit', 'continuar', 'Continuar'); + $group[] = HTML_QuickForm::createElement('submit', 'filtrar' , 'Filtrar' ); + $group[] = HTML_QuickForm::createElement('submit', 'cancelar' , 'Cancelar' ); + $FORM->addGroup($group,'botones'); +// }}} +///RESTRINJO EL FORMATO DEL NOMBRE DEL PERFIL + $FORM->addRule ('descripcion', 'El nombre del perfil solo puede contener letras y/o numeros.', 'regex','/^[a-zA-Z0-9 ]+$/'); +// }}} +// CARGO LA INFORMACION EN EL SELECT DE PERFILES + $botones = $FORM->getSubmitValue('botones'); + $perfiles =& $FORM->getElement('perfiles'); + $descripcion =& $FORM->getElement('descripcion'); + if (@$botones['cancelar']) { + header('Location: perfiles'); + } + if (!isset($botones['filtrar'])) { + $PERFILES = SAMURAI_Perfil::getArrayPerfiles($DB); + } + elseif (@$botones['filtrar']) { + $filtro =& $FORM->getElement('filtro'); + $PERFILES = SAMURAI_Perfil::getArrayPerfiles($DB, $filtro->getValue()); + } + $perfiles->addOption('--', '--'); + $perfiles->loadArray($PERFILES); +// }}} +// VALIDO EL FORMULARIO {{{ + if ($FORM->validate()) { + if (@$botones['continuar']) { //Ya selecciono un nombre para el perfil + $res = ''; + $tmp = $perfiles->getSelected(); + if ((!@$descripcion->getvalue() && $tmp['0'] == '--') || ($descripcion->getvalue() && $tmp['0'] != '--')) { + $res = new PEAR_Error("Debe seleccionar un perfil del combo o ingresar un nombre en la casilla correspondiente.
Solo una de las dos opciones."); + @$descripcion->setValue(''); + } + elseif ($tmp['0'] != '--') { + //verificar que el sistema no tenga una asociacion con ese perfil + if (SAMURAI_Perfil::existeAsociacion($DB, $tmp['0'], $_SESSION['samurai']['id_sistema'])) { + $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']); + } + } + elseif ($descripcion->getValue()) { + //Verificar que no exista un perfil con la misma descripcion + //Reduzco los blancos + $temp = $descripcion->getValue(); + $tt = split (' ', $temp); + $rta = ''; + foreach ($tt as $t) { + if ($t != '') { + $rta.= $t.' '; + } + } + $rta = rtrim($rta); + // + if (SAMURAI_Perfil::existePerfil($DB, $rta)) { + $res = new PEAR_Error("Ya existe un perfil con ese nombre, seleccionelo del combo.
Recuerde que varios espacios se reduciran a uno solo (Ej: Agregar     Usuario -> Agregar Usuario)"); + } + else { + $temp = ereg_replace(' ' , '%20', $rta); //Cambio los espacios por %20 para que no chille el netscape + header('Location: perfiles-abm?desc_perfil='.$temp); + } + } + if (PEAR::isError($res)) { + $TABLA = new Tabla ('cellspacing=0'); + $row = array (''.$res->getMessage().''); + $TABLA->addRow($row,'align=left'); + } + } + } +// }}} +//MUESTRO LA PAGINA {{{ + $TABLA3 = new Tabla ('cellspacing=0'); + $row = array ('SISTEMA: '.$SISTEMA->getNombre().''); + $TABLA3->addRow($row,'titulo align=left'); + + $MARCO = new Marco ('../../conf/confSecciones.php'); + $MARCO->addBody($TABLA3); + if (isset($TABLA)) { + $MARCO->addBody($TABLA); + } + $MARCO->addBody($FORM); + $MARCO->display(); +// }}} +?> diff --git a/sistema/www/perfiles/perfiles.php b/sistema/www/perfiles/perfiles.php index 2d90f2d..c51625b 100644 --- a/sistema/www/perfiles/perfiles.php +++ b/sistema/www/perfiles/perfiles.php @@ -22,27 +22,31 @@ require_once 'MECON/HTML/Tabla.php'; require_once 'SAMURAI/Perfil.php'; + require_once 'SAMURAI/Sistema.php'; //LINKS A PERFILES-ABM {{{ - $aHref = ''; + $aHref = ''; $aHrefModif = $aHref.'Modificar Perfil'; $aHrefElim = $aHref.'Eliminar Perfil'; // }}} //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { - header('Location: sel-sistema'); + header('Location: ./../sel-sistema'); } // }}} //CREO LOS OBJETOS NECESARIOS {{{ $TABLA2 = new Tabla ('cellspacing=0'); $TABLA = new Tabla ('cellpadding=2'); - + $TABLA3 = new Tabla ('cellspacing=0'); + $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']); // }}} //OBTENGO LA INFORMACION DE LA BASE {{{ - $perfiles = SAMURAI_Perfil::getPerfiles($DB); + $perfiles = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']); // }}} //AGREGO LOS DATOS A LAS TABLAS {{{ - $row = array ($aHref.'Ingresar Nuevo Perfil'); + $row = array ('SISTEMA: '.$SISTEMA->getNombre().''); + $TABLA3->addRow($row,'titulo align=left'); + $row = array ('Ingresar Nuevo Perfil'); $TABLA2->addRow($row,'align=right'); $row = array ('Id','Descripcion','Tipo','Modif.','Elim.'); $TABLA->addRow($row,'cabecera'); @@ -62,6 +66,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { // }}} //DIBUJO LA PAGINA {{{ $MARCO = new Marco ('../../conf/confSecciones.php'); + $MARCO->addBody($TABLA3); $MARCO->addBody($TABLA2->toHtml(1)); $MARCO->addBody($TABLA); $MARCO->display(); diff --git a/sistema/www/permisos/permisos-abm.php b/sistema/www/permisos/permisos-abm.php index eb7e95f..b4a6d92 100644 --- a/sistema/www/permisos/permisos-abm.php +++ b/sistema/www/permisos/permisos-abm.php @@ -20,10 +20,16 @@ // $Id$ // +//REQUIRE_ONCE {{{ + //MECON {{{ require_once 'MECON/HTML/QuickForm.php'; require_once 'MECON/HTML/Tabla.php'; + require_once 'MECON/HTML/Error.php'; + // }}} + //SAMURAI {{{ require_once 'SAMURAI/Permiso.php'; - + //}}} +//}}} //CREO LOS OBJETO NECESARIOS {{{ $FORM = new MECON_HTML_QuickForm ('permisos_abm','post','permisos-abm'); // }}} @@ -33,6 +39,7 @@ $FORM->addElement ('text' , 'desc_permiso', 'Descripcion', array('size'=>'50')); $FORM->addElement ('static', 'responsable' , 'Responsable', $_SESSION['samurai']['login']); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); + $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;')); $FORM->addGroup($group,'botones'); // }}} //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{ @@ -78,6 +85,12 @@ // }}} //VALIDO EL FORMULARIO {{{ if ($FORM->validate()) { + // VEO SI SE CANCELO {{{ + $botones = $FORM->getSubmitValue('botones'); + if (@$botones['cancelar']) { + header('Location: perfiles'); + } + // }}} $desc_permiso =& $FORM->getElement ('desc_permiso'); $responsable =& $FORM->getElement ('responsable' ); $group =& $FORM->getElement ('botones' ); @@ -91,9 +104,7 @@ $res = $PERMISO->guardarDatos($aceptar->getValue()); if (PEAR::isError($res)) { - $TABLA = new Tabla ('cellspacing=0'); - $row = array (''.$res->getMessage().''); - $TABLA->addRow($row,'align=left'); + $ERROR = new MECON_HTML_Error($res->getMessage()); if ($aceptar->getValue() == 'Eliminar') { $FORM->freeze(); } @@ -104,15 +115,14 @@ } } // }}} - //DIBUJO LA PAGINA {{{ $MARCO = new Marco ('../../conf/confSecciones.php'); $MARCO->addTitle('ABM Permisos'); - if (isset($TABLA)) { - $MARCO->addBody($TABLA->toHtml(1)); + if (isset($ERROR)) { + $MARCO->addBody($ERROR); } $MARCO->addBody($FORM); $MARCO->display(); -// +// }}} //FIN ?> diff --git a/sistema/www/permisos/permisos.php b/sistema/www/permisos/permisos.php index 57a5067..6a2ef61 100644 --- a/sistema/www/permisos/permisos.php +++ b/sistema/www/permisos/permisos.php @@ -40,6 +40,7 @@ $TABLA2->addRow($row,'align=right'); $row = array ('Id','Descripcion','Modif.','Elim.'); $TABLA->addRow($row,'cabecera'); + foreach ($permisos as $permiso) { $Modif = ereg_replace('##NUEVO##' , $permiso->getId(), $aHrefModif); $Elim = ereg_replace('##NUEVO##' , $permiso->getId(), $aHrefElim ); diff --git a/sistema/www/sel-sistema.php b/sistema/www/sel-sistema.php index 8f21d4d..75ad23c 100644 --- a/sistema/www/sel-sistema.php +++ b/sistema/www/sel-sistema.php @@ -1,5 +1,5 @@ addGroup($group,'botones', '', ', '); // }}} - //VALIDO EL FORMULARIO {{{ if ($FORM->validate()) { $sistema =& $FORM->getElement ('sistemas'); diff --git a/sistema/www/sistemas/sistemas-abm.php b/sistema/www/sistemas/sistemas-abm.php index 7a02ab9..43c144f 100644 --- a/sistema/www/sistemas/sistemas-abm.php +++ b/sistema/www/sistemas/sistemas-abm.php @@ -19,11 +19,18 @@ // // $Id$ // + +//REQUIRE ONCE {{{ + //MECON {{{ require_once 'MECON/HTML/QuickForm.php'; + require_once 'MECON/HTML/Error.php'; require_once 'MECON/HTML/Tabla.php'; + // }}} + //SAMURAI {{{ require_once 'SAMURAI/Sistema.php'; require_once 'SAMURAI/Permiso.php'; - + // }}} +// }}} //CREO LOS OBJETO NECESARIOS {{{ $FORM = new MECON_HTML_QuickForm ('sistemas_abm','post','sistemas-abm'); // }}} @@ -42,18 +49,22 @@ $FORM->addElement ('select' , 'permisos' , 'Permisos' , $PERMISOS, array('size' => '5', 'multiple' => 'multiple')); $FORM->addElement ('static' , 'responsable' , 'Responsable' , $_SESSION['samurai']['login']); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); + $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar'); $FORM->addGroup($group,'botones'); // }}} //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{ - $FORM->addRule('nombre_sistema' , 'El campo nombre es obligatorio' , 'required'); - $FORM->addRule('desc_sistema' , 'El campo descripcion es obligatorio' , 'required'); - $FORM->addRule('fecha_inicio' , 'El campo fecha inicio es obligatorio', 'required'); - if (isset($_GET['accion']) && $_GET['accion'] != 'e') { - $FORM->addRule('fecha_inicio' , 'La fecha no es válida' , 'fecha' ); - $FORM->addRule('fecha_fin' , 'La fecha no es válida' , 'fecha' ); - $FORM->addRule('fecha_implementacion', 'La fecha no es válida' , 'fecha' ); + $botones = $FORM->getSubmitValue('botones'); + if (!@$botones['cancelar']) { + $FORM->addRule('nombre_sistema' , 'El campo nombre es obligatorio' , 'required'); + $FORM->addRule('desc_sistema' , 'El campo descripcion es obligatorio' , 'required'); + $FORM->addRule('fecha_inicio' , 'El campo fecha inicio es obligatorio', 'required'); + if (isset($_GET['accion']) && $_GET['accion'] != 'e') { + $FORM->addRule('fecha_inicio' , 'La fecha no es válida' , 'fecha' ); + $FORM->addRule('fecha_fin' , 'La fecha no es válida' , 'fecha' ); + $FORM->addRule('fecha_implementacion', 'La fecha no es válida' , 'fecha' ); + } + $FORM->addRule('contacto' , 'El campo contacto es obligatorio' , 'required'); } - $FORM->addRule('contacto' , 'El campo contacto es obligatorio' , 'required'); // }}} //CREO EL OBJETO SISTEMA {{{ //Obtengo el id del sistema. @@ -168,16 +179,19 @@ $SISTEMA->setContacto($contacto->getValue()); $SISTEMA->setPermisos($permisos->getSelected()); $SISTEMA->setResponsable($responsable->_text); //TODO URGENTE Modificar esto. No tiene hay metodo static::getValue() - $res = $SISTEMA->guardarDatos($aceptar->getValue()); - print '
';var_dump($res);print '
'; - if (PEAR::isError($res)) { - $TABLA = new Tabla ('cellspacing=0'); - $row = array (''.$res->getMessage().''); - $TABLA->addRow($row,'align=left'); - } + $botones = $FORM->getSubmitValue('botones'); + if (@$botones['cancelar']) { + header ('Location: sistemas'); + } else { - $FORM->freeze(); - header('Location: sistemas'); + $res = $SISTEMA->guardarDatos($aceptar->getValue()); + if (PEAR::isError($res)) { + $ERROR = new MECON_HTML_Error($res->getMessage()); + } + else { + $FORM->freeze(); + header('Location: sistemas'); + } } } // }}} @@ -185,8 +199,8 @@ //DIBUJO LA PAGINA {{{ $MARCO = new Marco ('../../conf/confSecciones.php'); $MARCO->addTitle('ABM Sistema'); - if (isset($TABLA)) { - $MARCO->addBody($TABLA->toHtml(1)); + if (isset($ERROR)) { + $MARCO->addBody($ERROR); } $MARCO->addBody($FORM); $MARCO->display(); diff --git a/sistema/www/sistemas/sistemas-permisos.php b/sistema/www/sistemas/sistemas-permisos.php index 5cd96a7..9cece23 100644 --- a/sistema/www/sistemas/sistemas-permisos.php +++ b/sistema/www/sistemas/sistemas-permisos.php @@ -17,14 +17,21 @@ // | Author: Martin Marrese // +----------------------------------------------------------------------+ // -// $Id: sistemas-permisos.php 21 2003-06-25 22:26:30Z mmarre e +// $Id$ // + +//REQUIRE_ONCE {{{ + //MECON {{{ require_once 'MECON/HTML/QuickForm.php'; require_once 'MECON/HTML/Tabla.php'; + require_once 'MECON/HTML/Error.php'; + // }}} + //SAMURAI {{{ require_once 'SAMURAI/Sistema.php'; require_once 'SAMURAI/Permiso.php'; - -//OBTENGO EL ID DEL SISTEMA {{ + // }}} +// }}} +//OBTENGO EL ID DEL SISTEMA {{{ //El id de sistema viene por get o por post, no hay otra posibilidad $idSistema = 0; if (isset($_GET['idSistema'])) { @@ -39,11 +46,13 @@ $SISTEMA = new SAMURAI_Sistema ($DB, $idSistema); $TABLASIST = new Tabla ('cellpadding=2'); $TABLAPERM = new Tabla ('cellpadding=2'); -// }}} $SISTEMA->setResponsable($_SESSION['samurai']['login']); +// }}} //AGREGO LA INFORMACION DEL SISTEMA {{{ + $row = array ('Datos del sistema'); + $TABLASIST->addRow($row, 'cabecera colspan=3'); $row = array ('Id', 'Nombre', 'Descripcion'); - $TABLASIST->addRow($row, 'cabecera'); + $TABLASIST->addRow($row, 'titulo'); $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion()); $TABLASIST->addRow($row, 'comun'); // }}} @@ -83,9 +92,7 @@ } if ($error) { - $TABLA = new Tabla ('cellspacing=0'); - $row = array ('La asociacion ya existe, modifique alguno de sus datos'); - $TABLA->addRow($row,'align=left'); + $ERROR = new MECON_HTML_Error('La asociacion ya existe, modifique alguno de sus datos'); } else { $idPermiso->setSelected(null); @@ -152,6 +159,11 @@ } // }}} +//OPCION VOLVER {{{ + $TABLAVOLVER = new Tabla ('cellspacing=0'); + $row = array (' Volver a Sistemas'); + $TABLAVOLVER->addRow($row,'align=left'); +// }}} //DIBUJO LA PAGINA {{{ $MARCO = new Marco ('../../conf/confSecciones.php'); $MARCO->addTitle('Asociar Permisos y Sistemas'); @@ -159,14 +171,15 @@ $MARCO->addBody($TABLASIST); $MARCO->addBody('
'); //AGREGO EL ERROR - if (isset($TABLA)) { - $MARCO->addBody($TABLA); + if (isset($ERROR)) { + $MARCO->addBody($ERROR); } //AGREGO LA TABLA DEL FORM $MARCO->addBody($FORM); $MARCO->addBody('
'); //AGREGO LA TABLA DE PERMISOS $MARCO->addBody($TABLAPERM); + $MARCO->addBody($TABLAVOLVER); $MARCO->display(); // }}} //FIN diff --git a/sistema/www/sistemas/sistemas.php b/sistema/www/sistemas/sistemas.php index 96d9d67..505b596 100644 --- a/sistema/www/sistemas/sistemas.php +++ b/sistema/www/sistemas/sistemas.php @@ -62,11 +62,19 @@ $TABLA->addRow($row); } - + + //Agrego la opcion de seleccionar otro sistema para trabajar + $TABLA3 = new Tabla ('cellspacing=0'); + $row = array ('Seleccionar otro sistema para trabajar '); + $TABLA3->addRow($row,'align=right'); + + + //Agrego las cosas al cuerpo de la pagina $MARCO = new Marco ('../../conf/confSecciones.php'); $MARCO->addBody($TABLA2->toHtml(1)); $MARCO->addBody($TABLA); + $MARCO->addBody($TABLA3->toHtml(1)); $MARCO->display(); ?>