]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib/SAMURAI/Usuario.php
Agregado del metodo estatico SAMURAI_Usuario::asociarPerfil que permite asociar un...
[mecon/samurai.git] / lib / SAMURAI / Usuario.php
index 57c04893e34466b948c98fab68f425b466658204..859f62c593a9f040faa89edfb5f66abb903a89f1 100644 (file)
@@ -408,9 +408,70 @@ class SAMURAI_Usuario {
         if ($re['cuenta'] == 0) {
             return new PEAR_Error('Usuario no reconocido.<br>Recuerde que &eacute;ste debe haberse logueado previamente a Intranet');
         }
         if ($re['cuenta'] == 0) {
             return new PEAR_Error('Usuario no reconocido.<br>Recuerde que &eacute;ste debe haberse logueado previamente a Intranet');
         }
-        else {
-            return 1;
+        return 1; 
+    }
+    // -X2C
+
+    // +X2C Operation 375
+    /**
+     * Verifica si el login actual ya esta asociado en base.
+     *
+     * @return mixed
+     * @access public
+     */
+    function verificarAsociacionExistente() // ~X2C
+    {
+        $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
+        $tmp = $sql['verificar_login2'];
+        $dbh = $this->_db->prepare($tmp);
+        $res = $this->_db->execute($dbh,array($this->getLogin(), $_SESSION['samurai']['id_sistema']));
+        $re  = $res->fetchRow(DB_FETCHMODE_ASSOC);
+        if ($re['login']) {
+            return new PEAR_Error('El usuario seleccionado ya esta cargado. Modifique sus opciones.');
+        }
+        return 1;
+    }
+    // -X2C
+
+    // +X2C Operation 377
+    /**
+     * Metodo estatico que permite asociar un usuario con un perfil en un sistema determinado.
+     *
+     * @param  DB &$db Conexion a la base de datos
+     * @param  string $login Login del usuario
+     * @param  int $id_perfil Identificador del perfil a asociar
+     * @param  int $id_sistema Identificador del sistema en el cual se quiere realizar la asociacion
+     * @param  string $responsable Login del usuario que esta realizando los cambios
+     *
+     * @return mixed
+     * @access public
+     * @static
+     */
+    function asociarPerfil(&$db, $login, $id_perfil, $id_sistema, $responsable) // ~X2C
+    {
+        $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
+
+        //Verifico que el usuario exista        
+        $tmp = $sql['verificar_login'];
+        $dbh = $db->prepare($tmp);
+        $res = $db->execute($dbh,array($login));
+        $re  = $res->fetchRow(DB_FETCHMODE_ASSOC);
+        if ($re['cuenta'] == 0) {
+            return new PEAR_Error('Usuario no reconocido.');
+        }
+        
+        //Asocio el perfil con el usuario en perfil_sist_usuario
+        $datos = array ('login'       => $login, 
+                        'id_perfil'   => $id_perfil, 
+                        'id_sistema'  => $id_sistema, 
+                        'responsable' => $responsable);
+
+        $res = $db->autoExecute('samurai.perfil_sist_usuario', $datos, DB_AUTOQUERY_INSERT);
+        if (PEAR::isError($res)) {
+            return $res;
         }
         }
+        
+        return 1;
     }
     // -X2C
 
     }
     // -X2C