X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/3c702b40a1806798e475c48abb456e5a9c2dac72..e15c7ffb2e89b854903fb28454104dd71a10982c:/sistema/www/usuarios/usuarios-abm.php diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php index 63fe141..a07b904 100644 --- a/sistema/www/usuarios/usuarios-abm.php +++ b/sistema/www/usuarios/usuarios-abm.php @@ -19,146 +19,197 @@ // // $Id$ // +//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ +$SAMURAI_PERM->setSistema(SAMURAI_PERM); +if (!$SAMURAI_PERM->tiene(SAMURAI_PERM_DEVELOPER)) { + $SAMURAI_PERM->setSistema($_SESSION['samurai']['id_sistema']); + $SAMURAI_PERM->chequear(SAMURAI_PERM_USUARIO_ALTA, SAMURAI_PERM_USUARIO_BAJA, SAMURAI_PERM_USUARIO_MODIF, SAMURAI_PERM_DEVELOPER); +} +$MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM); +//}}} + +//OBTENGO LA ACCION {{{ +switch ($_REQUEST['accion']) { + case 'm': + $b_accion = 'Modificar'; + $accion = 'm'; + break; + case 'e': + $b_accion = 'Eliminar'; + $accion = 'e'; + break; + default: + $b_accion = 'Grabar'; + $accion = ''; + break; +} +//}}} //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/Perfil.php'; - require_once 'SAMURAI/Usuario.php'; - require_once 'SAMURAI/Sistema.php'; - //}}} - require_once 'HTML/Image.php'; +//MECON {{{ +require_once 'MECON/HTML/QuickForm.php'; +require_once 'MECON/HTML/Tabla.php'; +require_once 'MECON/HTML/Image.php'; +require_once 'MECON/HTML/Error.php'; +//}}} +//SAMURAI {{{ +require_once 'SAMURAI/Perfil.php'; +require_once 'SAMURAI/Usuario.php'; +require_once 'SAMURAI/Sistema.php'; +//}}} // }}} + //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ -if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { - header('Location: ./../sel-sistema'); +if (!@$_SESSION['samurai']['id_sistema']) { + header('Location: ./../sel-sistema?redirect=usuarios/usuarios'); } // }}} + //CREO LOS OBJETOS NECESARIOS {{{ - if (@$_GET['login']) { - $login = $_GET['login']; - $validar = 0; - } - else { - $validar = 1; - $login = null; - } - $TABLA = new Tabla ('cellspacing=0'); - $FORM = new MECON_HTML_QuickForm ('usuarios_abm','post','usuarios-abm'); - $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']); - $USUARIO = new SAMURAI_Usuario($DB, $login); +if (@$accion) { + $login = @$_GET['_login']; + $validar = 0; +} +else { + $validar = 1; + $login = null; +} + +$TABLA = new MECON_HTML_Tabla ('cellspacing=0'); +$FORM = new MECON_HTML_QuickForm ('usuarios_abm','post','usuarios-abm'); +$FORM->renderer->updateAttributes('width="400"'); +$USUARIO = new SAMURAI_Usuario($DB, $login, $_SESSION['samurai']['id_sistema']); // }}} -//OBTENGO LOS DATOS DE LA BASE {{{ - $tmps = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']); - foreach ($tmps as $tmp) { - $PERFILES[$tmp->getId()] = $tmp->getDescripcion(); - } + +//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().'
'; //}}} -//AGREGO LOS DATOS A LAS TABLAS {{{ - $imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif'); - $row = array ($imagen->toHtml().' SISTEMA: '.$SISTEMA->getNombre().''); - $TABLA->addRow($row,'align=left'); + +//OBTENGO LOS DATOS DE LA BASE {{{ +$tmps = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']); +foreach ($tmps as $tmp) { + $PERFILES[$tmp->getId()] = $tmp->getDescripcion(); +} //}}} + //AGREGO LOS ELEMENTOS DEL FORM {{{ +if (@$PERFILES) { $FORM->addElement ('header', 'cabecera' , 'ABM Usuarios'); if ($login) { //Si esta el login solo permito modificar los perfiles asociados - $FORM->addElement ('static', 'login2', 'Login' , $login ); + $FORM->addElement ('static', 'login2', 'Login@Organismo' , $login ); $FORM->addElement ('hidden', 'login' , $login ); $FORM->addElement ('static', 'nombre', 'Nombre', $USUARIO->getNombre()); } else { - $FORM->addElement ('text' , 'login' , 'Login' , array( 'value' => $login , 'size' => '20')); + $FORM->addElement ('text' , 'login' , 'Login@Organismo' , array( 'value' => $login , 'size' => '20')); } $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'); - $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;')); + $FORM->addElement ('hidden', 'responsable', $_SESSION['usuario']); + $FORM->addElement ('hidden', 'accion', $accion); + $group[] = HTML_QuickForm::createElement('submit', 'aceptar', $b_accion); + $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \'usuarios\';return false;')); $FORM->addGroup($group,'botones'); -// }}} +} +else { + $ERROR = new MECON_HTML_Error('El sistema no posee perfiles.'); +} +//}}} + //AGREO LAS REGLAS DE VALIDACION {{{ +if (@$PERFILES) { if (@$validar) { $FORM->addRule ('login', 'Se debe ingresar el login del usuario', 'required'); } $FORM->addRule ('perfiles', 'Se debe seleccionar al menos un perfil', 'required'); -// }}} +} +//}}} + //SETEO LOS PERFILES SELECCIONADOS {{{ - if (isset($_GET['accion']) && $_GET['accion'] != '') { +if (isset($_GET['accion']) && $accion != '') { + $perfiles =& $FORM->getElement ('perfiles'); + $group =& $FORM->getElement ('botones' ); + $group =& $group->getElements('aceptar' ); + $aceptar =& $group[0]; + + $perfiles->setSelected($USUARIO->getPerfiles()); + + //Modifico el valor del boton + $aceptar->setValue('Modificar'); + + //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(); + } +} +//}}} + +//VALIDO EL FORMULARIO {{{ +if ($FORM->validate()) { + // VEO SI SE CANCELO {{{ + $botones = $FORM->getSubmitValue('botones'); + if (@$botones['cancelar']) { + header('Location: usuarios'); + } + // }}} + else { + $login2 =& $FORM->getElement ('login' ); + $nombre =& $FORM->getElement ('nombre' ); $perfiles =& $FORM->getElement ('perfiles'); $group =& $FORM->getElement ('botones' ); $group =& $group->getElements('aceptar' ); $aceptar =& $group[0]; - - $perfiles->setSelected($USUARIO->getPerfiles()); - - //Modifico el valor del boton - $aceptar->setValue('Modificar'); - - //ELIMINACION -> modifico el valor del boton - if ($_GET['accion'] == 'e') { - $aceptar->setValue('Eliminar'); - $FORM->freeze(); + $res = ''; + + if ($login) { + $login3 = $login2->_text; } - } -// }}} -//VALIDO EL FORMULARIO {{{ - if ($FORM->validate()) { - // VEO SI SE CANCELO {{{ - $botones = $FORM->getSubmitValue('botones'); - if (@$botones['cancelar']) { - header('Location: perfiles'); + else { + $login3 = $login2->getValue(); + } + $USUARIO->setLogin($login3); + + $res = $USUARIO->verificarLogin(); + if ($aceptar->getValue() == 'Grabar') { + $res2 = $USUARIO->verificarAsociacionExistente(); + } + if (@PEAR::isError($res)) { + $ERROR = new MECON_HTML_Error($res->getMessage()); + } + elseif (@PEAR::isError($res2)) { + $ERROR =new MECON_HTML_Error($res2->getMessage()); } - // }}} else { - $login2 =& $FORM->getElement ('login' ); - $nombre =& $FORM->getElement ('nombre' ); - $perfiles =& $FORM->getElement ('perfiles'); - $group =& $FORM->getElement ('botones' ); - $group =& $group->getElements('aceptar' ); - $aceptar =& $group[0]; - $res = ''; - - if ($login) { - $login3 = $login2->_text; - } - else { - $login3 = $login2->getValue(); - } - $USUARIO->setLogin($login3); - $res = $USUARIO->verificarLogin(); - if (PEAR::isError($res)) { - $ERROR = new MECON_HTML_Error($res->getMessage()); - } - else { - $USUARIO->setPerfiles($perfiles->getSelected()); + $USUARIO->setPerfiles($perfiles->getSelected()); - $res = $USUARIO->guardarDatos($aceptar->getValue()); + $res = $USUARIO->guardarDatos($aceptar->getValue()); - if (PEAR::isError($res)) { - $ERROR = new MECON_HTML_Error($res->getMessage()); - if ($aceptar->getValue() == 'Eliminar') { - $FORM->freeze(); - } - } - else { + if (PEAR::isError($res)) { + $ERROR = new MECON_HTML_Error($res->getMessage()); + if ($aceptar->getValue() == 'Eliminar') { $FORM->freeze(); - header('Location: usuarios'); } } + else { + $FORM->freeze(); + header('Location: usuarios'); + } } } -// }}} +} +//}}} + //DIBUJO LA PAGINA {{{ - $MARCO = new Marco ('../../conf/confSecciones.php'); - $MARCO->addBody($TABLA); - if (isset($ERROR)) { - $MARCO->addBody($ERROR); - } - $MARCO->addBody($FORM); - $MARCO->display(); +$MARCO->addBody($VINETA); +$MARCO->addBody($TABLA); +if (isset($ERROR)) { + $MARCO->addBody($ERROR); +} +$MARCO->addBody($FORM); +$MARCO->display(); // }}} -//FIN ?>