// +----------------------------------------------------------------------+ // // $Id$ // //VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ $SAMURAI_PERM->setSistema(SAMURAI_PERM); if (!$SAMURAI_PERM->tiene(SAMURAI_PERM_DEVELOPER)) { $SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER); } $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM); //}}} //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 {{{ //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 {{{ $SISTEMA = new SAMURAI_Sistema ($DB, $idSistema); $TABLASIST = new MECON_HTML_Tabla ('cellpadding=2'); $SISTEMA->setResponsable($_SESSION['usuario']); $FORM = new MECON_HTML_QuickForm ('sistemas_permisos_abm','post','sistemas-permisos-abm'); $FORM->renderer->updateAttributes('width="400"'); // }}} //AGREGO LA INFORMACION DEL SISTEMA {{{ $row = array ('Datos del sistema'); $TABLASIST->addRow($row, 'cabecera colspan=3'); $row = array ('Id', 'Nombre', 'Descripción'); $TABLASIST->addRow($row, 'titulo'); $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion()); $TABLASIST->addRow($row, 'comun'); // }}} //DEFINO CUAL ES LA ACCION Y LA OBSERVACION, CARGO LOS PERMISOS{{{ if (@$_GET['accion']) { switch (@$_GET['accion']) { case 'n': $accion = 'Grabar'; $obs = ''; $PERMISOS = SAMURAI_Permiso::getArrayPermisos($DB); $id_permiso = ''; break; case 'm': $accion = 'Modificar'; $id_permiso = $_GET['idPermiso']; $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso); $obs = $_GET['observacion']; $obs_ant = $_GET['observacion']; break; case 'e': $accion = 'Eliminar'; $id_permiso = $_GET['idPermiso']; $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso); $obs = $_GET['observacion']; break; } } else{ switch (@$_POST['accion']) { case 'Grabar': $accion = 'Grabar'; $obs = ''; $id_permiso = ''; $PERMISOS = SAMURAI_Permiso::getArrayPermisos($DB); break; case 'Modificar':$accion = 'Modificar'; $id_permiso = $_POST['idPermiso']; $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso); $obs = $_POST['observacion']; $obs_ant = $_POST['obs_ant']; break; case 'Eliminar':$accion = 'Eliminar'; $id_permiso = $_POST['idPermiso']; $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso); $obs = $_POST['observacion']; break; } } // }}} //AGREGO LOS ELEMENTOS DEL FORM {{{ $FORM->addElement('header', 'cabecera', $accion.' Asociación'); $f_sistema =& $FORM->addElement('hidden', 'idSistema', $idSistema); $f_accion =& $FORM->addElement('hidden', 'accion' , $accion); if ($accion == 'Grabar') { $f_permisos =& $FORM->addElement('select', 'permisos' , 'Permisos', $PERMISOS); $f_id_permiso =& $FORM->addElement('hidden', 'idPermiso', $id_permiso); } else { $f_permisos =& $FORM->addElement('static', 'permisos' , 'Permisos', $PERMISOS->getDescripcion()); $f_id_permiso =& $FORM->addElement('hidden', 'idPermiso', $id_permiso); } if ($accion == 'Modificar') { $f_obs_ant =& $FORM->addElement('hidden', 'obs_ant' , $obs_ant); } $f_observacion =& $FORM->addElement('text' , 'observacion', 'Observación', array ('value' => $obs)); $f_aceptar =& HTML_QuickForm::createElement('submit', 'aceptar' , $accion); $f_cancelar =& HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \'sistemas-permisos?idSistema='.$idSistema.'\';return false;')); $group = array ($f_aceptar, $f_cancelar); $f_group =& $FORM->addGroup($group,'botones', '', ', '); if ($accion == 'Eliminar') { $f_aceptar->updateAttributes(array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;')); $FORM->freeze(); } // }}} //VALIDO EL FORMULARIO {{{ if ($FORM->validate()) { $botones = $FORM->getSubmitValue('botones'); if (@$botones['cancelar']) { header('Location: sistemas-permisos?idSistema='.$idSistema); } if ($accion == 'Grabar') { $tmp = $f_permisos->getSelected(); $f_id_permiso->setValue($tmp['0']); $res = $SISTEMA->guardarAsociacion($tmp['0'], $f_observacion->getValue()); } elseif ($accion == 'Modificar') { $res = $SISTEMA->modificarAsociacion($f_id_permiso->getValue(), $f_observacion->getValue(), $f_obs_ant->getValue()); } elseif ($accion == 'Eliminar') { $res = $SISTEMA->eliminarAsociacion($f_id_permiso->getValue(), $f_observacion->getValue()); } else { $ERROR = new MECON_HTML_Error('No se reconoce la acción seleccionada'); } if (PEAR::isError($res)) { $ERROR = new MECON_HTML_Error($res->getMessage()); } else { header('Location: sistemas-permisos?idSistema='.$idSistema); } } // }}} //DIBUJO LA PAGINA {{{ $MARCO->addBody($TABLASIST); $MARCO->addBody('
'); if (@$ERROR) { $MARCO->addBody($ERROR); } $MARCO->addBody($FORM); $MARCO->display(); // }}} //FIN ?>