// $Id$
//
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+$SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO, SAMURAI_DEVELOPER);
+//}}}
//REQUIRE ONCE {{{
//MECON {{{
require_once 'MECON/HTML/QuickForm.php';
require_once 'SAMURAI/Usuario.php';
require_once 'SAMURAI/Sistema.php';
//}}}
- require_once 'HTML/Image.php';
+ require_once 'MECON/HTML/Image.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 {{{
$validar = 1;
$login = null;
}
- $TABLA = new Tabla ('cellspacing=0');
+
+
+ $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);
+ $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']);
}
//}}}
//AGREGO LOS DATOS A LAS TABLAS {{{
- $imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
+ $imagen = new MECON_HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
$row = array ($imagen->toHtml().' <b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
$TABLA->addRow($row,'align=left');
//}}}
//AGREGO LOS ELEMENTOS DEL FORM {{{
- $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 ('hidden', 'login' , $login );
- $FORM->addElement ('static', 'nombre', 'Nombre', $USUARIO->getNombre());
+ 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['usuario']);
+ $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');
}
else {
- $FORM->addElement ('text' , 'login' , 'Login' , array( 'value' => $login , 'size' => '20'));
+ $ERROR = new MECON_HTML_Error('El sistema no posee perfiles.');
}
- $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->addGroup($group,'botones');
// }}}
//AGREO LAS REGLAS DE VALIDACION {{{
- if (@$validar) {
- $FORM->addRule ('login', 'Se debe ingresar el login del usuario', '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');
}
- $FORM->addRule ('perfiles', 'Se debe seleccionar al menos un perfil', 'required');
// }}}
//SETEO LOS PERFILES SELECCIONADOS {{{
if (isset($_GET['accion']) && $_GET['accion'] != '') {
//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();
}
// VEO SI SE CANCELO {{{
$botones = $FORM->getSubmitValue('botones');
if (@$botones['cancelar']) {
- header('Location: perfiles');
+ header('Location: usuarios');
}
// }}}
else {
$login3 = $login2->getValue();
}
$USUARIO->setLogin($login3);
- $res = $USUARIO->verificarLogin();
- if (PEAR::isError($res)) {
+ $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());
-
+
$res = $USUARIO->guardarDatos($aceptar->getValue());
if (PEAR::isError($res)) {
}
// }}}
//DIBUJO LA PAGINA {{{
- $MARCO = new Marco ('../../conf/confSecciones.php');
$MARCO->addBody($TABLA);
if (isset($ERROR)) {
$MARCO->addBody($ERROR);