X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/8696c036b17b561f3b6afb9a56e0d5839b8b9972..84f76d573967832523dfc728235a56f2b2e14dba:/sistema/www/usuarios/usuarios-abm.php?ds=sidebyside
diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php
index 1a7248c..a07b904 100644
--- a/sistema/www/usuarios/usuarios-abm.php
+++ b/sistema/www/usuarios/usuarios-abm.php
@@ -19,162 +19,197 @@
//
// $Id$
//
-
//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
-$SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO, SAMURAI_DEVELOPER);
+$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 'MECON/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 MECON_HTML_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 MECON_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@Organismo' , $login );
- $FORM->addElement ('hidden', 'login' , $login );
- $FORM->addElement ('static', 'nombre', 'Nombre', $USUARIO->getNombre());
- }
- else {
- $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:window.location = \'usuarios\';return false;'));
- $FORM->addGroup($group,'botones');
+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@Organismo' , $login );
+ $FORM->addElement ('hidden', 'login' , $login );
+ $FORM->addElement ('static', 'nombre', 'Nombre', $USUARIO->getNombre());
}
else {
- $ERROR = new MECON_HTML_Error('El sistema no posee perfiles.');
+ $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['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');
+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->updateAttributes(array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;'));
- $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: usuarios');
+ 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 ($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 {
- $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->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
?>