]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib_perl/Perm.epl
BugFix.
[mecon/samurai.git] / lib_perl / Perm.epl
index 1dfdacf4bba13493175c29d6b6d161242d6015c2..fb8810f1a664c949b65996df926e6a5d6f48b85d 100644 (file)
@@ -32,6 +32,20 @@ $CLEANUP{'SAMURAI_Perm'} = 0;
 
 use Data::Dumper;
 
+# Parser para el ini de configuracion
+#
+# @return hash
+$SAMURAI_Perm->{parse_ini} = sub
+{
+    use Config::IniFiles;
+    my $cfg = new Config::IniFiles( -file =>
+    "/var/www/sistemas/samurai/lib_perl/consultasDB.ini" );
+    $dsn->{dsn} = $cfg->val('conf', 'dsn');
+    $dsn->{user} = $cfg->val('conf', 'user');
+    $dsn->{password} = $cfg->val('conf', 'password');
+    return $dsn;    
+};
+
 
 # Simil Constructor.
 #
@@ -45,9 +59,8 @@ $SAMURAI_Perm->{new} = sub
     $udat{SAMURAI_Perm_vars}{login} = @_[0];
     $udat{SAMURAI_Perm_vars}{id_sistema} = @_[1];
     ##Conexion con la base
-    #TODO Cambiar los parametros de conexion segun corresponda.
-    
-    my $dbh = DBI->connect('dbi:mysql:dbname=samurai;host=localhost',"intranet","intranet");
+    $dns = $ret->{SAMURAI_Perm}->{parse_ini} ();
+    my $dbh = DBI->connect($dsn->{dsn}, $dsn->{user}, $dsn->{password});
     ##Obtengo los permisos de la base        
     $re = $dbh->prepare($sql);
     $re->execute($udat{SAMURAI_Perm_vars}{login});        
@@ -151,8 +164,9 @@ $SAMURAI_Perm->{getObservaciones} = sub
     if (!$udat{SAMURAI_Perm_vars}{observaciones}{$sistema}{$perm}) {
         $udat{SAMURAI_Perm_vars}{observaciones} = '';
         $sql = 'SELECT ps.observaciones AS observaciones FROM samurai.perm_sist AS ps WHERE ps.id_permiso = ? AND ps.id_sistema = ?';
-        #TODO cambiar los parametros de conexion segun corresponda
-        my $dbh = DBI->connect('dbi:mysql:dbname=samurai;host=localhost',"intranet","intranet");
+        ##Conexion con la base
+        $dns = $ret->{SAMURAI_Perm}->{parse_ini} ();
+        my $dbh = DBI->connect($dsn->{dsn}, $dsn->{user}, $dsn->{password});
         $re = $dbh->prepare($sql);
         $re->execute($perm, $sistema);        
         while ($r = $re->fetchrow_hashref()) {
@@ -176,9 +190,9 @@ $SAMURAI_Perm->{asignarPerfil} = sub
        my $id_sistema=$udat{SAMURAI_Perm_vars}{id_sistema};
        my $resp=$udat{'user'};
        my $sql = "REPLACE INTO perfil_sist_usuario (login,id_perfil,id_sistema,responsable) VALUES ('$login',$id_perfil,$id_sistema,'$resp')";
-       ##Conexion con la base
-       #TODO Cambiar los parametros de conexion segun corresponda.
-       my $dbh = DBI->connect('dbi:mysql:dbname=samurai;host=localhost',"intranet","intranet");
+    ##Conexion con la base
+    $dns = $ret->{SAMURAI_Perm}->{parse_ini} ();
+    my $dbh = DBI->connect($dsn->{dsn}, $dsn->{user}, $dsn->{password});
        my $result=$dbh->do($sql);
     #Desconexion con la base
        $dbh->disconnect;  
@@ -194,9 +208,10 @@ $SAMURAI_Perm->{quitarPerfil} = sub
        my $id_sistema=$udat{SAMURAI_Perm_vars}{id_sistema};
        my $resp=$udat{'user'};
        my $sql = "DELETE FROM perfil_sist_usuario where (login='$login') AND (id_perfil=$id_perfil) AND (id_sistema=$id_sistema)";
+    ##Conexion con la base
+    $dns = $ret->{SAMURAI_Perm}->{parse_ini} ();
+    my $dbh = DBI->connect($dsn->{dsn}, $dsn->{user}, $dsn->{password});
        ##Conexion con la base
-       #TODO Cambiar los parametros de conexion segun corresponda.
-       my $dbh = DBI->connect('dbi:mysql:dbname=samurai;host=localhost',"intranet","intranet");
        my $result=$dbh->do($sql);
     #Desconexion con la base
        $dbh->disconnect;