]> git.llucax.com Git - mecon/samurai.git/blobdiff - sistema/www/usuarios/usuarios-abm.php
Se agrego la funcionalidad que permite bajar la definicion de constantes para utiliza...
[mecon/samurai.git] / sistema / www / usuarios / usuarios-abm.php
index 63fe141518d05a68e2eb108117c78c23a11e779b..ed5847381c0ae20729d2b3bb8e66dddea5ef5209 100644 (file)
@@ -20,6 +20,9 @@
 // $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 {{{
@@ -47,10 +50,12 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
         $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']);
@@ -59,31 +64,38 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
     }
 //}}}
 //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().'&nbsp;<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'] != '') {
@@ -99,6 +111,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
             
         //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();
         }
@@ -109,7 +122,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
         // VEO SI SE CANCELO {{{
         $botones = $FORM->getSubmitValue('botones');
         if (@$botones['cancelar']) {
-            header('Location: perfiles');
+            header('Location: usuarios');
         }
         // }}}
         else {
@@ -128,13 +141,19 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
                 $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)) {
@@ -152,7 +171,6 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
     }
 // }}}
 //DIBUJO LA PAGINA {{{
-    $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addBody($TABLA);
     if (isset($ERROR)) {
         $MARCO->addBody($ERROR);