~marcelo-escobal/geined/Alianza

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Manejo de Productos"""
import cgitb; cgitb.enable()
import cgi
import funciones
import datos
import pagina
import htm
def listado():
    """Listado de productos"""
    pag = pagina.Pagina("Listado de producotos", 4)
    print(htm.button("Nuevo","prod.py?accion=nuevo"))
    print(htm.button('Volver','geined.py?accion=administracion'))
    # cargar datos
    productos = datos.Tabla("productos")
    productos.orden = "producto"
    productos.filtrar()
    htm.encabezado_tabla(["Nº", "Producto", "Rubro", "Precio", "Acciones"])
    i = 0
    for row in productos.resultado:
        htm.fila_alterna(i)
        print(htm.td(row['id']))
        print(htm.td(row['producto']))
        print(htm.td(row['rubro']))
        print(htm.td(funciones.moneda(row['precio'])))
        print('<td>')
        htm.boton_detalles('prod_ver.php?cuenta_id=' + str(row['id']))
        htm.boton_editar('prod.py?id=' + str(row['id']) + '&accion=editar')
        htm.boton_eliminar('prod.py?accion=confirmar&id=' + str(row['id']))
        print('</td></tr>')
    htm.fin_tabla()
    print(htm.button("Volver", 'geined.py?accion=administracion'))
    pag.fin()
def nuevo():
    """Nuevo producto"""
    pag = pagina.Pagina("Nuevo producto", 4)
    cuentas = datos.Tabla("cuentas")
    cuentas.orden = "rubro"
    cuentas.filtro = "rubro like 4%"
    cuentas.filtrar()
    # voy por aca
    htm.encabezado_tabla(["Campo","Valor"])
    print('<form action="prod.php?accion=agregar" name="f" method="post">')
    htm.input_texto('Producto:','producto','')
    print(htm.tr(htm.td("Rubro:") + htm.td('<input type="text" name="rubro" value="" onChange="codifica()" /> - <input disabled size="80" value="desconocido" name="lblrubro" />')))
    htm.input_numero("Precio:","precio","")
    htm.botones("prod.py?accion=listado")
    htm.fin_formulario()
    htm.fin_tabla()
    print(htm.button('Volver','prod.php?accion=listado'))
    pag.fin()
def agregar(frm):
    productos = datos.Tabla("productos")
    productos.buscar("producto", frm.getvalue("producto"))
    if not productos.encontrado:
        productos.nuevo()
        productos.registro["producto"] = frm.getvalue("producto")
        productos.registro["rubro"] = frm.getvalue("rubro")
        productos.registro["precio"] = frm.getvalue("precio")
        productos.insertar()
        listado()
    else:
        htm.duplicado('prod.py?accion=listado')
def editar(frm):
    """Editar producto"""
    pag = pagina.Pagina("Edición de producto", 4)
    cuentas = datos.Tabla("cuentas")
    cuentas.orden = "rubro"
    cuentas.filtrar()
    productos = datos.Tabla("productos")
    productos.ir_a(frm.getvalue("id"))
    htm.encabezado_tabla(["Campo","Valor"])
    print('<form action="prod.php?accion=actualizar" name="f" method="post">')
    print(htm.hidden("id", frm.getvalue("id")))
    htm.input_texto('Producto:','producto', productos.registro['producto'])
    print(htm.tr(htm.td('Rubro:') + htm.td('<td><input type="text" name="rubro" value="' + productos.registro['rubro'] +  '" onChange="codifica()" /> - <input disabled size="80" value="desconocido" name="lblrubro" />')))
    htm.input_numero("Precio:","precio", productos.registro['precio'])
    htm.botones("prod.py?accion=listado")
    htm.fin_formulario()
    htm.fin_tabla()
    print('<script language="javascript">codifica();</script>')
    print(htm.button('Volver','prod.php?accion=listado'))
    pag.fin()
def actualizar(frm):
    """Actualizar el producto"""
    productos = datos.Tabla("productos")
    productos.ir_a(frm.getvalue("id"))
    productos.registro["rubro"] = frm.getvalue("rubro")
    productos.registro["producto"] = frm.getvalue("producto")
    productos.registro["precio"] = frm.getvalue("precio")
    productos.actualizar()
    listado()
if __name__ == "__main__":
    form = cgi.FieldStorage()
    accion = form.getvalue("accion", "listado")
    if accion == "listado":
        listado()
    elif accion == "editar":
        editar(form)
    elif accion == "nuevo":
        nuevo()
    elif accion == "agregar":
        agregar(form)
    elif accion == "eliminar":
        productos = datos.Tabla("productos")
        productos.borrar(form.getvalue("id"))
        listado()