~marcelo-escobal/geined/Alianza

« back to all changes in this revision

Viewing changes to login.py

  • Committer: Cualquier Desarrollador
  • Date: 2010-01-29 21:15:22 UTC
  • Revision ID: desarrollo@marte-20100129211522-u97qh9o90mhdap04
Importación inicial

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
# -*- coding: utf-8 -*-
 
3
"""Modulo con datos para realizacion de login al sitio Alianza"""
 
4
import cgi
 
5
import cgitb ; cgitb.enable()
 
6
import htm
 
7
import datos
 
8
import os
 
9
import Cookie
 
10
import time
 
11
def pantalla(mensaje):
 
12
    """Pantalla generica de login"""
 
13
    coo = Cookie.SimpleCookie(os.environ.get("HTTP_COOKIE",""))
 
14
    print 'Content-Type: text/html; charset=utf-8'
 
15
    print ""
 
16
    print '<head>'
 
17
    print '<script type="text/javascript" src="alianza.js" charset="utf-8">'
 
18
    print '</script>'
 
19
    print "<title>Entrada al sistema</title>"
 
20
    print '<link type="text/css" href="alianza.css" rel="stylesheet" />'
 
21
    print '<script type="text/javascript" src="alianza.js" charset="utf-8">'
 
22
    print '</script></head>'
 
23
    print '<body><div id="env_fina">'
 
24
    print "<table width='100%'><tr><td><img src='../images/logo4.jpg' /></td>"
 
25
    print "<td><h1>Entrada al sistema</h1></td></tr></table>"
 
26
    print "<h3>%s</h3>" % mensaje
 
27
    #print "El cookie es:%s" % coo
 
28
    print "El sistema se encuentra en transicion. "
 
29
    print "Puede que tenga que realizar su ingreso 2 veces.<br />"
 
30
    htm.formulario("login.py")
 
31
    htm.encabezado_tabla(["Campo", "Valor"])
 
32
    htm.input_texto("Usuario:", "fusuario", "")
 
33
    print '<tr>'
 
34
    htm.celda('Clave:')
 
35
    htm.celda('<input type="password" name="fclave">')
 
36
    print '</tr>'
 
37
    htm.fin_tabla()
 
38
    htm.botones()
 
39
    htm.fin_formulario()
 
40
    print "</body></html>"
 
41
def inicio():
 
42
    """Rutina que procesa datos de realizacion de login"""
 
43
    form = cgi.FieldStorage()
 
44
    if form.has_key("fusuario"):
 
45
        usuario = form.getvalue("fusuario", "")
 
46
        dbase = datos.Tabla("usuarios", "usuario", ins_clave="si")
 
47
        dbase.ir_a(usuario)
 
48
        #sql = "SELECT * FROM usuarios WHERE usuario='" + usuario + "'"
 
49
        #dbase.cursor.execute(sql)
 
50
        if dbase.num_filas > 0:
 
51
            clave = form.getvalue('fclave')
 
52
            sql_usu = "SELECT * FROM usuarios WHERE usuario ='"+usuario
 
53
            sql_usu = sql_usu +"' AND clave ='"+clave +"'"
 
54
            dbase.cursor.execute(sql_usu)
 
55
            if dbase.cursor.rowcount > 0:
 
56
                sesion = Cookie.SimpleCookie()
 
57
                sesion['autorizado'] = 'si'
 
58
                sesion['usuario'] = usuario
 
59
                tiempo = time
 
60
                today = tiempo.strftime("%Y-%m-%d %H:%M:%S")
 
61
                fil_usu = dbase.cursor.fetchone()
 
62
                sesion['deposito_id'] = str(fil_usu['deposito_id'])
 
63
                sesion['nivel'] = str(fil_usu['nivel'])
 
64
                sql = "INSERT INTO registro (usuario,registro) "
 
65
                sql = sql + "VALUES ('%s','%s')" % (usuario, today)
 
66
                if form.getvalue("parametro")!="no_registrar":
 
67
                    """Si ya está registrado, no hacerlo de nuevo"""
 
68
                    dbase.cursor.execute(sql)
 
69
                print 'Content-Type: text/html; charset=utf-8'
 
70
                print sesion, "\n\n"
 
71
                print '<head>'
 
72
                print "<title>Entrada al sistema</title>"
 
73
                print '<link type="text/css" href="alianza.css" rel="stylesheet" />'
 
74
                print '<script type="text/javascript" src="alianza.js" '
 
75
                print 'charset="utf-8"></script>'
 
76
                print '</head><body><div id="env_fina">'
 
77
                print "Ingresó al sistema."
 
78
                print "Permanecerá conectado hasta que cierre el navegador "
 
79
                print "o elija la opción Salir del Menú Principal."
 
80
                #TODO: es una desproljidad hacerlo como un forma autoenviado
 
81
                print "<form id='autolog' action='alianza.py' method='post'>"
 
82
                #htm.campo_oculto("fusuario",$_POST["fusername"])
 
83
                print "</form>"
 
84
                print "<script language='JavaScript' type='text/javascript'>\n"
 
85
                print "<!--\n"
 
86
                print "document.getElementById('autolog').submit();\n"
 
87
                print "//-->\n"
 
88
                print "</script>"
 
89
                print "</div></body>"
 
90
            else:
 
91
                mens = "El usuario %s existe, " %  form.getvalue("fusername")
 
92
                mens = mens + "pero la clave de acceso es incorrecta. "
 
93
                mens = mens + "Por favor intentelo nuevamente. <br>"
 
94
                pantalla(mens)
 
95
        else:
 
96
            mens = 'El nombre de usuario ingresado no existe. Por favor intentelo de nuevo.<br>'
 
97
            pantalla(mens )
 
98
    else:
 
99
        pantalla('Tiene que ingresar al sistema para poder usarlo.<br>')
 
100
inicio()