// +----------------------------------------------------------------------+ // // $Id: sistemas-permisos.php 21 2003-06-25 22:26:30Z mmarre e // $Author$ // $URL$ // $Date$ // $Rev$ // require_once 'HTML/QuickForm.php'; require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php'; require_once 'MECON/HTML/Tabla.php'; //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'])) { $idSistema = $_GET['idSistema']; } elseif (isset($_POST['idSistema'])) { $idSistema = $_POST['idSistema']; } // //CREO LOS OBJETO NECESARIOS $SAMURAI = new Samurai($DB); $FORM = new HTML_QuickForm ('sistemas_permisos','post','sistemas-permisos'); $SISTEMA = new 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 ('Id', 'Nombre', 'Descripcion'); $TABLASIST->addRow($row, 'cabecera'); $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion()); $TABLASIST->addRow($row, 'comun'); // //AGREGO LOS ELEMENTOS DEL FORM //Obtengo la lista de permisos $PERMISOS = $SAMURAI->getSelectPermisos(); //Agrego elementos $FORM->addElement ('header', 'cabecera' , 'Agregar una asociacion'); $FORM->addElement ('hidden', 'idSistema' , $idSistema); $FORM->addElement ('select', 'permisos' , 'Permisos' , $PERMISOS, array('size' => '1')); $FORM->addElement ('hidden', 'permant'); $FORM->addElement ('hidden', 'obsant'); $FORM->addElement ('text' , 'observacion', 'Observacion', array('size' => '30')); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $FORM->addGroup($group,'botones', '', ', '); // //VALIDO EL FORMULARIO if ($FORM->validate()) { $idPermiso =& $FORM->getElement ('permisos' ); $idPerm_ant =& $FORM->getElement ('permant' ); $observacion =& $FORM->getElement ('observacion'); $obs_ant =& $FORM->getElement ('obsant' ); $group =& $FORM->getElement ('botones' ); $group =& $group->getElements('aceptar' ); $aceptar =& $group[0]; $tmp = $idPermiso->getSelected(); $tmp = $tmp['0']; if ($aceptar->getValue() == 'Grabar') { $error = $SISTEMA->guardarAsociacion($tmp, $observacion->getValue()); } elseif ($aceptar->getValue() == 'Modificar') { $error = $SISTEMA->modificarAsociacion($tmp, $idPerm_ant->getValue(), $observacion->getValue(), $obs_ant->getValue()); } elseif ($aceptar->getValue() == 'Eliminar') { $error = $SISTEMA->eliminarAsociacion($tmp, $observacion->getValue()); } if ($error) { $group = array (); $group[] = HTML_QuickForm::createElement('static', 'error' , 'Error', 'La asociacion ya existe, modifique alguno de sus datos.'); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $FORM->removeElement('botones'); $FORM->addGroup($group,'botones', '', '
'); } else { $idPermiso->setSelected(null); $observacion->setValue(null); $aceptar->setValue('Grabar'); } } // //VERIFICO COMO DEBO LLAMAR AL BOTON SUBMIT if (isset($_GET['accion'])) { $group =& $FORM->getElement ('botones'); $group =& $group->getElements('aceptar'); $aceptar =& $group[0]; if ($_GET['accion'] == 'm') { $aceptar->setValue('Modificar'); } elseif ($_GET['accion'] == 'e') { $aceptar->setValue('Eliminar'); $FORM->freeze(); } } // //CAPTURO SI HAY ACCION -> MODIFICAR O ELIMINAR -> MUESTRO LOS DATOS EN EL FORM if (isset($_GET['accion'])) { $idPermiso =& $FORM->getElement ('permisos' ); $idPerm_ant =& $FORM->getElement ('permant' ); $observacion =& $FORM->getElement ('observacion'); $obs_ant =& $FORM->getElement ('obsant' ); $idPermiso->setSelected($_GET['idPermiso']); $idPerm_ant->setValue($_GET['idPermiso']); $observacion->setValue($_GET['observacion']); $obs_ant->setValue($_GET['observacion']); } // //AGREGO LA INFORMACION DE LAS ASOCIACIONES $aHref = ''; $aHrefModif = $aHref.'Modificar'; $aHrefElim = $aHref.'Eliminar'; $row = array ('Nombre', 'Observacion', 'Modif.', 'Elim.'); $TABLAPERM->addRow($row, 'cabecera'); $asocs = $SISTEMA->getAsociaciones(); $idPerm_ant =& $FORM->getElement ('permant' ); $obs_ant =& $FORM->getElement ('obsant' ); foreach ($asocs as $key => $asoc) { $estilo = 'comun'; $permiso = new Permiso($DB, $asoc['id']); $Modif = ereg_replace('##PERMISO##', $asoc['id'] , $aHrefModif); $Elim = ereg_replace('##PERMISO##', $asoc['id'] , $aHrefElim); $Modif = ereg_replace('##OBS##' , $asoc['obs'], $Modif); $Elim = ereg_replace('##OBS##' , $asoc['obs'], $Elim); $Modif = ereg_replace('##ACCION##' , 'm', $Modif); $Elim = ereg_replace('##ACCION##' , 'e', $Elim); if ($permiso->getId() == $idPerm_ant->getValue() && $asoc['obs'] == $obs_ant->getValue()) { $estilo = 'titulo'; } $row = array ($permiso->getDescripcion(), $asoc['obs'], $Modif, $Elim); $TABLAPERM->addRow($row, $estilo); } // //DIBUJO LA PAGINA $renderer =& new HTML_QuickForm_Renderer_Tabla('width="100%"'); $FORM->accept($renderer); $MARCO = new Marco ('../../conf/confSecciones.php'); $MARCO->addTitle('Asociar Permisos y Sistemas'); //AGREGO LA TABLA DEL SISTEMA $MARCO->addBody($TABLASIST); $MARCO->addBody('
'); //AGREGO LA TABLA DEL FORM $MARCO->addBody($renderer); $MARCO->addBody('
'); //AGREGO LA TABLA DE PERMISOS $MARCO->addBody($TABLAPERM); $MARCO->display(); // //FIN ?>