Ejemplo n.º 1
0
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     Ventana.__init__(self, 'consulta_ventas_ticket.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_exportar/clicked': self.exportar,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin}
     self.add_connections(connections)
     cols = (('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Ticket', 'gobject.TYPE_STRING',False,True,True,None),
             ('Imp. total', 'gobject.TYPE_STRING',False,True,False,None),
             ('Imp. (s/IVA)','gobject.TYPE_STRING',False,True,False,None),
             ('Ben. sobre tarifa', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('ID','gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for col in self.wids['tv_datos'].get_columns()[2:]:
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1.0)
         col.set_alignment(0.5)
     self.wids['tv_datos'].connect("row-activated", self.abrir_producto)
     self.fin = mx.DateTime.today()
     #self.inicio = mx.DateTime.DateTimeFrom(day = 1, month = self.fin.month, year = self.fin.year)
     self.inicio = self.fin
     self.wids['e_fechafin'].set_text(utils.str_fecha(self.fin))
     self.wids['e_fechainicio'].set_text(utils.str_fecha(self.inicio))
     self.wids['hbox1'].set_property("visible", False)
     self.wids['hbox6'].set_property("visible", False)
     gtk.main()
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'consulta_facturas_sin_doc_pago.glade', 
                      objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_exportar/clicked': self.exportar, 
                    'b_fechaini/clicked': self.set_fecha_ini, 
                    'b_fechafin/clicked': self.set_fecha_fin}
     self.add_connections(connections)
     cols = [('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
             ('Nº. Factura', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Vencimiento', 'gobject.TYPE_STRING',False,True,False,None), 
             ("Importe pendiente", "gobject.TYPE_STRING", 
                 False, True, False, None), 
             #("Contacto", "gobject.TYPE_STRING", False, True, False, None), 
             ('idvto', 'gobject.TYPE_INT64', False, False, False, None)]
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_factura)
     self.wids['tv_datos'].get_column(4).get_cell_renderers()[0].set_property('xalign', 1) 
     self.wids['tv_datos'].get_column(3).get_cell_renderers()[0].set_property('xalign', 0.5) 
     #self.wids['ventana'].maximize()
     self.wids['e_fechaini'].set_text("")
     self.wids['e_fechafin'].set_text(
         utils.str_fecha(mx.DateTime.localtime()))
     gtk.main()
Ejemplo n.º 3
0
 def __init__(self, objeto = None, usuario = None):
     Ventana.__init__(self, 'consulta_beneficio.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_exportar/clicked': self.exportar,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin}
     self.add_connections(connections)
     cols = (('Fecha','gobject.TYPE_STRING', False, True, False, None),
             ('Nº Factura','gobject.TYPE_STRING', False, True, True, None),
             ('Cliente','gobject.TYPE_STRING', False, True, False, None),
             ('Importe','gobject.TYPE_STRING', False, True, False, None),
             ('Base imponible','gobject.TYPE_STRING', False, True, False, None),
             ('Beneficio sobre tarifa','gobject.TYPE_STRING', False, True, False, None),
             ('Idfactura','gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for col in self.wids['tv_datos'].get_columns()[0:2] + self.wids['tv_datos'].get_columns()[3:]:
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1.0)
         col.set_alignment(0.5)
     self.fin = mx.DateTime.localtime()
     self.inicio = mx.DateTime.DateTimeFrom(day = 1, month = self.fin.month, year = self.fin.year)
     self.wids['e_fechafin'].set_text(utils.str_fecha(self.fin))
     self.wids['e_fechainicio'].set_text(utils.str_fecha(self.inicio))
     gtk.main()
Ejemplo n.º 4
0
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     Ventana.__init__(self, 'horas_trabajadas_dia.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_fecha/clicked': self.set_fecha,
                    'b_consultar/clicked': self.rellenar_horas,
                    'b_actualizar/clicked': self.actualizar, 
                    'b_imprimir/clicked': self.imprimir, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Empleado', 'gobject.TYPE_STRING', False, True, True, None),
             ('Centro trabajo', 'gobject.TYPE_STRING', False, True, False, None),
             ('H. inicio','gobject.TYPE_STRING', False, True, False, None),
             ('H. fin','gobject.TYPE_STRING', False, True, False, None),
             ('Total hrs.','gobject.TYPE_STRING', False, True, False, None),
             ('Nocturnidad','gobject.TYPE_BOOLEAN', False, True, False, None),
             ('H. extra','gobject.TYPE_STRING', False, True, False, None),
             ('Prod. gtx.','gobject.TYPE_STRING', False, True, False, None),
             ('Prod. fibra','gobject.TYPE_STRING', False, True, False, None),
             ('Prod. geocomp.','gobject.TYPE_STRING', False, True, False, None),
             ('Mant. gtx.','gobject.TYPE_STRING', False, True, False, None),
             ('Mant. fibra','gobject.TYPE_STRING', False, True, False, None),
             ('Mant. geocomp.','gobject.TYPE_STRING', False, True, False, None),
             ('Almacén','gobject.TYPE_STRING', False, True, False, None),
             ('Varios','gobject.TYPE_STRING', False, True, False, None),
             ('Observaciones','gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_horas'], cols)
     self.wids['e_fecha'].set_text(mx.DateTime.localtime().strftime('%d/%m/%Y'))
     self.wids['tv_horas'].connect('row-activated', self.abrir_item)
     self.rellenar_horas()
     self.colorear()
     gtk.main()
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     self.activar_widgets(False)
     # Inicialización del resto de widgets:
     cols = (('Código', 'gobject.TYPE_STRING', False, True, False, None),
             ('Descripción', 'gobject.TYPE_STRING', False, True, True, None),
             ('Cantidad', 'gobject.TYPE_STRING', True, True, False, 
                 self.cambiar_cantidad_ldv),
             ('IDLDV', 'gobject.TYPE_INT64', False, False, False, None)
            )
     utils.preparar_treeview(self.wids['tv_ldvs'], cols)
     self.wids['tv_ldvs'].get_selection().set_mode(gtk.SELECTION_MULTIPLE)
     almacenes = [(a.id, a.nombre) 
                  for a in pclases.Almacen.select(
                      pclases.Almacen.q.activo == True, 
                      orderBy = "id")]
     utils.rellenar_lista(self.wids['cbe_almacen'], 
                          almacenes)
Ejemplo n.º 6
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, os.path.join("ui", 'consulta_gastos.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Código','gobject.TYPE_STRING',False,True, True, None),
             ('Concepto','gobject.TYPE_STRING',False,False,False,None),
             ('Fecha', 'gobject.TYPE_STRING',False,True, False,None),
             ('Factura','gobject.TYPE_STRING',False,True,False,None),
             ('Parcela','gobject.TYPE_STRING',False,True,False,None),
             ('Importe','gobject.TYPE_STRING',False,True,False,None),
             ('id','gobject.TYPE_STRING',False,False,False,None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     col = self.wids['tv_datos'].get_column(5)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
Ejemplo n.º 7
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'listado_balas.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin,
                    'b_buscar/clicked': self.buscar_balas,
                    'b_imprimir/clicked': self.imprimir,
                    'b_etiquetas/clicked': self.etiquetar,
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Código', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha Fab.','gobject.TYPE_STRING',False,True,False,None),
             ('Peso', 'gobject.TYPE_STRING', False, True, False, None),
             ('Lote','gobject.TYPE_STRING',False,True,False,None),
             ('Albarán','gobject.TYPE_STRING',False,True,False,None),
             ('Partida','gobject.TYPE_STRING',False,True,False,None),
             ('Analizada', 'gobject.TYPE_BOOLEAN',False,True,False,None),
             ('Clase B', 'gobject.TYPE_BOOLEAN', False, True, False, None),
             ('Almacén', 'gobject.TYPE_STRING', False, True, False, None),
             ('PUID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_balas'], cols)
     self.wids['tv_balas'].get_selection().set_mode(gtk.SELECTION_MULTIPLE)
     self.wids['tv_balas'].connect("row-activated", abrir_trazabilidad,
                                                    self.usuario)
     temp = time.localtime()
     self.fin = mx.DateTime.localtime()
     self.inicio = None
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
Ejemplo n.º 8
0
 def preparar_tab_modulos(self):
     cols = (('Módulo/Ventanas', 'gobject.TYPE_STRING', True, True, True, self.cambiar_nombre_modulo),
             ('Descripción', 'gobject.TYPE_STRING', True, True, False, self.cambiar_descripcion_modulo),
             ('Icono', 'gobject.TYPE_STRING', True, True, False, self.cambiar_icono_modulo),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_modulos'], cols)
     model = gtk.TreeStore(gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gtk.gdk.Pixbuf,
                           gobject.TYPE_INT64)
     self.wids['tv_modulos'].set_model(model)
     cell = gtk.CellRendererPixbuf()
     column = gtk.TreeViewColumn('', cell, pixbuf = 3)
     self.wids['tv_modulos'].insert_column(column, 3)
     cols = (('Descripción', 'gobject.TYPE_STRING', True, True, True, self.cambiar_descripcion_ventana),
             ('Fichero', 'gobject.TYPE_STRING', True, True, False, self.cambiar_fichero_ventana),
             ('Clase', 'gobject.TYPE_STRING', True, True, False, self.cambiar_clase_ventana),
             ('Icono', 'gobject.TYPE_STRING', True, True, False, self.cambiar_icono_ventana),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_ventanas'], cols)
     model = gtk.ListStore(gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gobject.TYPE_STRING,
                           gtk.gdk.Pixbuf,
                           gobject.TYPE_INT64)
     self.wids['tv_ventanas'].set_model(model)
     cell = gtk.CellRendererPixbuf()
     column = gtk.TreeViewColumn('', cell, pixbuf = 4)
     self.wids['tv_ventanas'].insert_column(column, 4)
Ejemplo n.º 9
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     self.wids['ventana'].set_title(self.clase.sqlmeta.table.upper())
     # Inicialización del resto de widgets:
     cols = (('Cliente', 'gobject.TYPE_STRING', False, True, True, None),
             ('CIF', 'gobject.TYPE_STRING', False, True, False, None),
             ('Código Postal','gobject.TYPE_STRING',False,True,False,None),
             ('Ciudad', 'gobject.TYPE_STRING', False, True, False, None),
             ('Provincia', 'gobject.TYPE_STRING', False, True, False, None),
             ('País', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_listview(self.wids['tv_clientes'], cols)
     cols = (('Producto', 'gobject.TYPE_STRING', True, True, True, 
                 self.editar_descripcion),
             ('Precio','gobject.TYPE_STRING', True, True, False,
                 self.editar_precio),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
             # La última columna (oculta en la Vista) siempre es el id.
     utils.preparar_treeview(self.wids['tv_productos'], cols, multi = True)
Ejemplo n.º 10
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, 'consulta_ventas.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin}
     self.add_connections(connections)
     cols = (('Cliente','gobject.TYPE_STRING',False,True,False,None),
             ('Factura','gobject.TYPE_STRING',False,True,True,None),
             ('Fecha','gobject.TYPE_STRING',False,True,False,None),
             ('Total','gobject.TYPE_STRING',False,True,False,None),
             ('Beneficio','gobject.TYPE_STRING',False,True,False,None),
             ('Pendiente','gobject.TYPE_STRING',False,True,False,None),
             ('Id','gobject.TYPE_INT64',False,False,False,None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_prefactura)
     self.wids['tv_datos'].get_column(3).get_cell_renderers()[0].set_property('xalign', 1) 
     self.wids['tv_datos'].get_column(4).get_cell_renderers()[0].set_property('xalign', 1) 
     self.wids['tv_datos'].get_column(5).get_cell_renderers()[0].set_property('xalign', 1) 
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.metros_totales = 0.0
     self.kilos_totales = 0.0
     opciones = [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy = "nombre")]
     opciones.insert(0, (-1, "Todos"))
     utils.rellenar_lista(self.wids['cbe_cliente'], opciones)
     utils.combo_set_from_db(self.wids['cbe_cliente'], -1)
     self.wids['label7'].set_text("Total beneficio estimado: ")
     #self.wids['label7'].set_property("visible", False)
     #self.wids['e_total_kilos'].set_property("visible", False)
     self.wids['label8'].set_property("visible", False)
     self.wids['e_total_metros'].set_property("visible", False)
     self.wids['label9'].set_property("visible", False)
     self.wids['cbe_cliente'].set_property("visible", False)
     self.wids['ventana'].set_title("Listado de prefacturas")
     self.wids['notebook1'].remove_page(1)
     self.wids['label1'].set_text("Por cliente")
     labpdte = gtk.Label("Total pendiente:")
     labpdte.show()
     self.wids['hbox4'] = gtk.HBox()
     self.wids['hbox4'].add(labpdte)
     self.wids['e_totpdte'] = gtk.Entry()
     self.wids['e_totpdte'].set_property("editable", False)
     self.wids['e_totpdte'].set_property("has-frame", False)
     self.wids['hbox4'].add(self.wids['e_totpdte'])
     self.wids['hbox4'].show_all()
     self.wids['vbox2'].add(self.wids['hbox4'])
     self.wids['vbox2'].reorder_child(self.wids['hbox4'], 2)
     self.wids['e_totpdte'].show()
     gtk.main()
Ejemplo n.º 11
0
 def __init__(self, objeto = None, consulta = "", padre = None, usuario = None):
     """
     consulta es la parte *interna* de la consulta cuyos resultados
     se mostrarán en la búsqueda. Es decir, pclases.LogicMovimientos.select(->consulta<-).
     self.objeto guarda el objeto seleccionado en la ventana y que se puede
     recuperar mediante .get_objeto. Se asigna objeto a self.objeto inicialmente, 
     por lo que puede valer de valor por defecto en caso de que se salga 
     de la ventana sin seleccionar ningún resultado.
     """
     if str(consulta) == "":
         Logic = pclases.LogicMovimientos
         self.consulta = pclases.AND(Logic.q.importe >= 0, 
                                     Logic.q.contrapartidaInfo == '',
                                     pclases.OR(Logic.q.codigoCuenta.startswith('400'), 
                                                Logic.q.codigoCuenta.startswith('403'),
                                                Logic.q.codigoCuenta.startswith('410')),
                                     pclases.NOT(Logic.q.comentario.startswith("Apertura Ejercicio")) ) 
     else:
         self.consulta = consulta
     Ventana.__init__(self, 'mostrar_datos_logic.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_limpiar/clicked': self.limpiar,
                    'b_aplicar/clicked': self.aplicar,
                    'b_select/clicked': self.aceptar,
                    'tb_expand/toggled': self.expandircontraer,
                    'tb_ver/toggled': self.cambiar_vista}
     self.add_connections(connections)
     if padre != None:
         self.wids['ventana'].set_transient_for(padre)
         self.wids['ventana'].set_modal(padre != None)
     self.wids['txt_sqlobject'].get_buffer().connect("changed", self.limpiar_criterios_manuales)
     cols = (('ID', 'gobject.TYPE_STRING', False, True, False, None),
             ('asiento', 'gobject.TYPE_STRING', False, True, True, None),
             ('orden', 'gobject.TYPE_STRING', False, True, False, None),
             ('fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('cargoAbono', 'gobject.TYPE_STRING', False, True, False, None),
             ('codigoCuenta', 'gobject.TYPE_STRING', False, True, False, None),
             ('cuenta', 'gobject.TYPE_STRING', False, True, False, None),
             ('contrapartidaInfo', 'gobject.TYPE_STRING', False, True, False, None),
             ('comentario', 'gobject.TYPE_STRING', False, True, False, None),
             ('importe', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_logic'], cols)
     self.wids['tv_logic'].set_expander_column(self.wids['tv_logic'].get_column(5))
     self.wids['tv_logic'].connect("row-activated", self.seleccionar_fila)
     font = pango.FontDescription("Monospace 9")
     self.wids['txt_sqlobject'].modify_font(font)
     self.vpro = VentanaProgreso(padre = self.wids['ventana'])
     self.rellenar_logic()
     col = self.wids['tv_logic'].get_column(9)
     for cell in col.get_cell_renderers():
         cell.set_property('xalign', 1.0)
     gtk.main()
Ejemplo n.º 12
0
    def __init__(self, objeto = None, usuario = None, ventana_padre = None, locals_adicionales = {}):
        try:
            Ventana.__init__(self, 'trazabilidad.glade', objeto)
        except:     # Tal vez me estén llamando desde otro directorio
            Ventana.__init__(self, os.path.join('formularios', 'trazabilidad.glade'), objeto)
        connections = {'b_salir/clicked': self.salir,
                       'b_buscar/clicked': self.buscar}
        self.add_connections(connections)
        cols = (('ID', 'gobject.TYPE_STRING', False, False, False, None),
                ('campo', 'gobject.TYPE_STRING', False, False, False, None),
                ('valor', 'gobject.TYPE_STRING', True, False, True, self.cambiar_valor),
                ('clase', 'gobject.TYPE_STRING', False, False, False, None))
        utils.preparar_treeview(self.wids['tv_datos'], cols)
        self.wids['e_num'].connect("key_press_event", self.pasar_foco)
        self.wids['tv_datos'].connect("row-expanded", self.expandir)
        self.wids['tv_datos'].connect("row-collapsed", self.cerrar)
        import pyconsole
        vars_locales = locals()
        for k in locals_adicionales:
            vars_locales[k] = locals_adicionales[k] 
        consola = pyconsole.attach_console(self.wids['contenedor_consola'], 
                                           banner = "Consola python de depuración GINN", 
                                           script_inicio = """import os, pygtk, gtk, gtk.glade, utils
sys.path.append(os.path.join("framework"))
import pclases, mx, mx.DateTime
from seeker import VentanaGenerica as Ver
dir()
#Ver(self.objeto)
""", 
                                            locals = vars_locales)
        if objeto != None:
            self.rellenar_datos(objeto)
        cmd_gtk = cmdgtk.CmdGTK()
        cmd_gtk.attach_to(self.wids['boxcmd'])
        #-----------------------------------------------------------------------------------------------#
        def comprobar_que_no_me_hace_el_gato(paned, scrolltype_or_allocation_or_requisition = None):    #
            width = self.wids['ventana'].get_size()[0]                                                  #
            MIN =  width / 2                                                                            #
            MAX = width - 100                                                                           #
            posactual = paned.get_position()                                                            #
            if posactual < MIN:                                                                         #
                paned.set_position(MIN)                                                                 #
            elif posactual > MAX:                                                                       #
                paned.set_position(MAX)                                                                 #
        #-----------------------------------------------------------------------------------------------#
        self.wids['hpaned1'].connect("size_request", comprobar_que_no_me_hace_el_gato)
        self.wids['ventana'].resize(800, 600)
        self.wids['hpaned1'].set_position(self.wids['ventana'].get_size()[0] / 2)
        self.wids['ventana'].set_position(gtk.WIN_POS_CENTER)
        gtk.main()
Ejemplo n.º 13
0
 def crear_listview(self, mes, year):
     # Primero hay que crear el TreeView que mostrará 
     # el contenido de cada solapa.
     tv = gtk.TreeView()
     cols = (('Fecha y hora', 'gobject.TYPE_STRING', False, True,  False, None), 
             ('Nº Rollo',     'gobject.TYPE_STRING', False, True,  True,  None), 
             ('Partida',      'gobject.TYPE_STRING', False, True,  False, None), 
             ('Nº Albarán',   'gobject.TYPE_STRING', False, True,  False, None), 
             ('Nombre',       'gobject.TYPE_STRING', False, True,  False, None), 
             ('ID',           'gobject.TYPE_INT64',  False, False, False, None))
     utils.preparar_treeview(tv, cols)
     tv.show()
     tv.set_search_column(1)     # Pasa de mí.
     return tv
Ejemplo n.º 14
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, 'consulta_albaranesPorFacturar.glade', 
                      objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar_ae/clicked': self.exportar, 
                    'b_exportar_as/clicked': self.exportar, 
                    'b_exportar_totales/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Fecha','gobject.TYPE_STRING', False, True, False, None),
             ('Nº Albarán','gobject.TYPE_STRING', False, True, True, None),
             ('Descripción del material', 'gobject.TYPE_STRING', 
                 False, True, True, None), 
             ('Cantidad', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Cliente','gobject.TYPE_STRING', False, True, False, None),
             ('Idalbaran','gobject.TYPE_STRING', False, False, False, None))
     for tv in ('tv_entrada', 'tv_salida'):
         utils.preparar_treeview(self.wids[tv], cols)
         self.wids[tv].connect("row-activated", self.abrir_albaran)
         self.wids[tv].get_column(3).get_cell_renderers()[0].set_property(
             'xalign', 1.0)
     self.cambiar_cabecera_columna(self.wids['tv_entrada'], "Proveedor")
     cols = (("Descripción", "gobject.TYPE_STRING", False, True, True,None), 
             ("Entradas", "gobject.TYPE_STRING", False, True, False, None), 
             ("Salidas", "gobject.TYPE_STRING", False, True, False, None), 
             ("Entradas - Salidas", "gobject.TYPE_STRING", 
                 False, True, False, None), 
             ("IDProducto", "gobject.TYPE_INT64", False, True, False, None))
     utils.preparar_listview(self.wids['tv_producto'], cols)
     for numcol in (1, 2, 3):
         self.wids['tv_producto'].get_column(numcol)\
             .get_cell_renderers()[0].set_property('xalign', 1.0)
     temp = time.localtime()
     self.fin = str(temp[0])+'/'+str(temp[1])+'/'+str(temp[2])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.wids['e_total_entrada'].set_property("xalign", 1.0)
     self.wids['e_total_salida'].set_property("xalign", 1.0)
     self.wids['e_euros_entrada'].set_property("xalign", 1.0)
     self.wids['e_euros_salida'].set_property("xalign", 1.0)
     gtk.main()
Ejemplo n.º 15
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     Ventana.__init__(self, 'formulacion_fibra.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    '_b_guardar/clicked': self.guardar,
                    'b_ensimaje/clicked': self.buscar_mp,
                    'b_antiuvi/clicked': self.buscar_mp,
                    'b_negro/clicked': self.buscar_mp,
                    'b_titanio/clicked': self.buscar_mp,
                    'b_plasticog/clicked': self.buscar_mp,
                    'b_plasticoe/clicked': self.buscar_mp,
                    'b_flejes/clicked': self.buscar_mp,
                    'b_add_consumo/clicked': self.add_consumo_por_producto, 
                    'b_drop_consumo/clicked': self.drop_consumo_por_producto,
                    'b_cambiar_producto_compra/clicked': 
                         self.cambiar_producto_compra, 
                    'b_add_producto_a_consumo/clicked': 
                         self.add_producto_a_consumo
                   }
     self.add_connections(connections)
     cols = (("Descripción (opcional)", "gobject.TYPE_STRING", 
                 True, True, True, None),
             ("Material", "gobject.TYPE_STRING", False, True, False, None), 
             ("Cantidad", "gobject.TYPE_STRING", 
                 True, True, True, self.cambiar_cantidad), 
             ("Unidad", "gobject.TYPE_STRING", 
                 True, True, True, self.cambiar_unidad), 
             ("ID", "gobject.TYPE_STRING", False, False, False, None))
         # Unidad: Deberá ser algo así como:
         # % para porcentaje del peso.
         # algo/u para descontar m, k o en lo que quiera que se mida el 
         # producto de compra por cada unidad fabricada.
         # algo/kg para descontar m, k o en lo que quiera que se mida el 
         # producto de compra por cada kg (m² en rollos) fabricado.
         # algo/x m para descontar m, k o en lo que quiera que se mida el 
         # producto de compra por cada x metros de ancho de cada 
         # rollo fabricado (sólo para geotextiles y geocompuestos)
     utils.preparar_treeview(self.wids['tv_consumos'], cols, multi = True)
         # En el treeview cada nodo padre será una materia prima con su 
         # descuento y tal. Los nodos hijos contendrán el producto
         # de venta al que se aplica ese descuento automático.
     self.wids['tv_consumos'].connect("row-activated", self.abrir_producto)
     self.comprobar_registro()
     self.rellenar_widgets()
     gtk.main()
Ejemplo n.º 16
0
 def __init__(self, objeto=None, usuario=None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'consulta_saldo_proveedores.glade', objeto,
                      usuario=usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_fecha,
                    'b_fecha_fin/clicked': self.set_fecha,
                    'b_exportar/clicked': self.exportar,
                    'e_fecha_inicio/focus-out-event': act_fecha,
                    'e_fecha_fin/focus-out-event': act_fecha,
                   }
     self.add_connections(connections)
     utils.rellenar_lista(self.wids['cmbe_proveedor'],
             [(0, "Todos")] +
             [(c.id, c.nombre)
                 for c in pclases.Proveedor.select(orderBy='nombre')])
     cols = (('Proveedor', 'gobject.TYPE_STRING', False, True, False, None),
             ('Factura', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Importe', 'gobject.TYPE_STRING', False, True, False, None),
             ('Vencimientos', 'gobject.TYPE_STRING', False, True, False, None),
             ('Pagado', 'gobject.TYPE_STRING', False, True, False, None),
             ('Pendiente', 'gobject.TYPE_STRING', False, True, False, None),
             ('DBPUID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for ncol in (3, 4, 5, 6):
         col = self.wids['tv_datos'].get_column(ncol)
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1)
     self.wids['tv_datos'].connect("row-activated", self.abrir_objeto)
     self.resultado = []
     self.fin = utils.str_fecha(datetime.date.today())
     self.inicio = None
     self.wids['e_fecha_fin'].set_text(self.fin)
     self.wids['e_fecha_inicio'].set_text("")
     if objeto != None:
         utils.combo_set_from_db(self.wids["cmbe_proveedor"], objeto.id)
         self.wids["b_buscar"].clicked()
     self.wids['cmbe_proveedor'].grab_focus()
     gtk.main()
Ejemplo n.º 17
0
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     Ventana.__init__(self, 'facturas_no_bloqueadas.glade', objeto, 
                      usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_editar/clicked': self.abrir_factura,
                    'b_actualizar/clicked': self.actualizar}
     self.add_connections(connections)
     cols = (('Nº Factura', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fecha','gobject.TYPE_STRING', False, True, False, None),
             ('Cliente','gobject.TYPE_STRING', False, True, False, None),
             ('Importe','gobject.TYPE_STRING', False, True, False, None),
             ('Albarán','gobject.TYPE_STRING', False, True, False, None),
             ('Visto','gobject.TYPE_BOOLEAN', True, True, False, None),
             ('Motivo', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_listview(self.wids['tv_facturas'], cols)
     if self.usuario != None:
         ventanas_con_permiso = [p.ventana.fichero 
                 for p in self.usuario.permisos if p.permiso] 
                                 # and p.escritura]    # STILL UNIMPLEMENTED
     else:
         ventanas_con_permiso = ["facturas_venta.py", ]  # Si lo arranco 
                                 # desde consola, que me deje editarlo todo.
     if 'facturas_venta.py' in ventanas_con_permiso:
         self.wids['b_editar'].set_sensitive(True)
         self.wids['tv_facturas'].connect("row-activated", 
                                          self.abrir_factura_tv)
     else: 
         self.wids['b_editar'].set_sensitive(False)
         self.wids['b_editar'].hide()
     cols = (('Nº Albarán', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Cliente', 'gobject.TYPE_STRING', False, True, False, None),
             ('¿Parcialmente facturado?', 'gobject.TYPE_BOOLEAN', 
                 False, True, False, None),
             ('Producto', 'gobject.TYPE_STRING', False, True, False, None),
             ('Cantidad', 'gobject.TYPE_STRING', False, True, False, None), 
             ('Bultos', 'gobject.TYPE_STRING', False, True, False, None), 
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_albaranes'], cols)
     self.wids['tv_albaranes'].connect("row-activated", 
                                       self.abrir_albaran_tv)
     self.rellenar_facturas()
     self.rellenar_albaranes_no_facturados()
     gtk.main()
Ejemplo n.º 18
0
def crear_fake_treeview(tvorig,
                        filtro = lambda fila: fila[4] == "-" and fila or None): 
    """
    Crea un TreeView idéntico al recibido (model clonado, mismas columnas y 
    cabeceras, etc.).
    «filtro» debe ser una función que devuelve la fila filtrada o None si
    no debe incluirse en el nuevo TreeView.
    """
    tv = gtk.TreeView()
    tv.set_name(tvorig.get_name())
    modelorig = tvorig.get_model()
    cols = []
    origcols = tvorig.get_columns()
    colsnulas = []
    anchos = []
    aligns = []
    for col, i in zip(origcols, range(len(origcols))):
        cols.append((col.get_title(), 
                     "gobject.TYPE_STRING", # STRING se lo traga todo. Premio
                                # especial del jurado de los AVN Awards 2015.
                     False, 
                     False, 
                     False, 
                     None))
        anchos.append(col.get_width())
        aligns.append(col.get_cell_renderers()[0].get_property("xalign"))
    cols.append(("ID", "gobject.TYPE_STRING", False, False, False, None))
    utils.preparar_treeview(tv, cols)
    for col, align in zip(tv.get_columns(), aligns):
        col.get_cell_renderers()[0].set_property("xalign", align) 
    model = tv.get_model()
    for padre in modelorig:
        producto = pclases.ProductoVenta.get(padre[-1])
        try:
            ancho_estandar = producto.camposEspecificosRollo.ancho
        except AttributeError:
            ancho_estandar = 1
        iterpadre = model.append(None, padre)
        total_metros = 0.0
        for fila in modelorig[padre.iter].iterchildren():
            _fila = filtro(fila)
            if _fila:
                model.append(iterpadre, fila)
                total_metros += utils.parse_float(fila[5])
        model[iterpadre][5] = total_metros * ancho_estandar
    return tv
Ejemplo n.º 19
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(True)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     # Inicialización del resto de widgets:
     cols = [('Concepto', 'gobject.TYPE_STRING', True, True, True, 
              self.cambiar_concepto)]
     if not self.mes_actual:
         mes = mx.DateTime.localtime().month
     else:
         mes = self.mes_actual
     self.fecha_mes_actual = mx.DateTime.DateFrom(mx.DateTime.today().year,
                                                 mes,
                                                 1)
     self.fecha_mes_final = mx.DateTime.DateFrom(
             self.fecha_mes_actual.year + 1,
             self.fecha_mes_actual.month,
             1)
     if pclases.DEBUG:
         print __file__, self.fecha_mes_actual, self.fecha_mes_final
     for m in range(12):
         mescol = ((mes - 1 + m) % 12) + 1
         fechacol = mx.DateTime.DateTimeFrom(month = mescol, 
                 year = mx.DateTime.localtime().year + (m > 0 and 1 or 0))
         if mescol == 1:
             strmes = fechacol.strftime("%B'%y")
         else:
             strmes = fechacol.strftime("%B")
         cols += [(strmes, 'gobject.TYPE_STRING', True, True, True, 
                   self.cambiar_importe, m)]
     cols += [('PUID', 'gobject.TYPE_STRING', False, False, False, None)]
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for n in range(1, 13):
         col = self.wids['tv_datos'].get_column(n)
         col.get_cell_renderers()[0].set_property("xalign", 1)
     col = self.wids['tv_datos'].get_column(0)
     col.set_expand(True)
     self.colorear(self.wids['tv_datos'])
Ejemplo n.º 20
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     global fin
     Ventana.__init__(self, 'consulta_vencimientos_cobro.glade', objeto, usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     utils.rellenar_lista(self.wids['cmbe_cliente'], [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy='nombre')])
     cols = (('Factura','gobject.TYPE_STRING',False,True, False,None),
             ('Fecha vto.','gobject.TYPE_STRING',False,True,False,None),
             ('Importe','gobject.TYPE_STRING',False,False,False,None),
             ('Observaciones/Forma de cobro','gobject.TYPE_STRING',False,True, False,None),
             ('Cliente', 'gobject.TYPE_STRING', False, True, True, None),
             ('id','gobject.TYPE_STRING',False,False,False,None))
     utils.preparar_listview(self.wids['tv_datos'], cols)
     self.wids['tv_datos'].connect("row-activated", self.abrir_factura)
     self.colorear(self.wids['tv_datos'])
     col = self.wids['tv_datos'].get_column(2)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     self.wids['tv_datos'].connect('button_press_event', self.button_clicked)
     self.wids['tv_datos'].set_hover_selection(True)
     cols = (('Año y mes','gobject.TYPE_STRING', False,True, True, None),
             ('Total','gobject.TYPE_STRING', False, True, False, None),
             ('nada','gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_totales'], cols)
     col = self.wids['tv_totales'].get_column(1)
     for cell in col.get_cell_renderers():
         cell.set_property("xalign", 1)
     temp = time.localtime()
     self.fin = mx.DateTime.DateTimeFrom(day = temp[2], month = temp[1], year = temp[0])
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.inicio = mx.DateTime.DateTimeFrom(day = 1, month = mx.DateTime.localtime().month, year = mx.DateTime.localtime().year)
     self.wids['e_fechainicio'].set_text(utils.str_fecha(self.inicio))
     gtk.main()
Ejemplo n.º 21
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     self.partidas_carga = {}
     Ventana.__init__(self, 'consumo_fibra_por_partida_gtx.glade', objeto,
                      usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin,
                    'e_fechainicio/focus-out-event': act_fecha,
                    'e_fechafin/focus-out-event': act_fecha,
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Partida', 'gobject.TYPE_STRING', False, True, False, None),
      ('kg consumidos', 'gobject.TYPE_STRING', False, False, False, None),
      ('kg prod. (real)', 'gobject.TYPE_STRING', False, False, False, None),
      ('kg prod. (teórico)', 'gobject.TYPE_STRING', False,False,False,None),
      ('balas cons.', 'gobject.TYPE_STRING', False, False, False, None),
      ('rollos prod.', 'gobject.TYPE_STRING', False, False, False, None),
      ('m² producidos', 'gobject.TYPE_STRING', False, False, False, None),
      ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for col in self.wids['tv_datos'].get_columns()[1:]:
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1.0)
         col.set_alignment(1.0)
     self.colorear(self.wids['tv_datos'])
     temp = time.localtime()
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     self.wids['e_fechainicio'].set_text(utils.str_fecha(
         mx.DateTime.localtime() - (7 * mx.DateTime.oneDay)))
     self.inicio = utils.parse_fecha(self.wids['e_fechainicio'].get_text())
     self.fin = utils.parse_fecha(self.wids['e_fechafin'].get_text())
     self.wids['rb_pesoreal'].child.set_property("use-markup", True)
     self.wids['rb_teorico'].child.set_property("use-markup", True)
     self.wids['rb_pesosin'].child.set_property("use-markup", True)
     self.wids['rb_pesosin'].set_active(True)
     gtk.main()
Ejemplo n.º 22
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, os.path.join("ui", 
         'consulta_clientes.glade'), objeto)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin, 
                    'b_exportar/clicked': self.exportar}
     self.add_connections(connections)
     cols = (('Cliente', 'gobject.TYPE_STRING', False, True, True, None),
             ('Producto', 'gobject.TYPE_STRING', False, True, False, None),
             ('Media precio', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('Facturación', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('% facturación', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('kg facturados', 'gobject.TYPE_STRING', 
                 False, True, False, None),
             ('id', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for i in range(2, 6):
         col = self.wids['tv_datos'].get_column(i)
         for cell in col.get_cell_renderers():
             cell.set_property("xalign", 1)
     col = self.wids['tv_datos'].get_column(1)
     self.wids['tv_datos'].set_expander_column(col)
     temp = mx.DateTime.localtime()
     self.fin = utils.abs_mxfecha(temp)
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     ops = []
     for s in pclases.SerieFacturasVenta.select():
         ops.append((s.id, s.get_info()))
     utils.rellenar_lista(self.wids['cb_serie'], ops)
     gtk.main()
Ejemplo n.º 23
0
 def __init__(self, objeto=None, usuario=None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     global fin
     Ventana.__init__(self, 'consulta_consumo.glade', objeto,
                      usuario=usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_buscar/clicked': self.buscar,
                    'b_imprimir/clicked': self.imprimir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin,
                    'e_fechainicio/focus-out-event': act_fecha,
                    'e_fechafin/focus-out-event': act_fecha,
                    "b_exportar/clicked": self.exportar}
     self.add_connections(connections)
     cols = (('Producto', 'gobject.TYPE_STRING', False, True, False, None),
             ('Cantidad consumida', 'gobject.TYPE_STRING',
              False, True, False, None),
             ('A', 'gobject.TYPE_STRING',
              False, True, False, None),
             ('B', 'gobject.TYPE_STRING',
              False, True, False, None),
             ('C', 'gobject.TYPE_STRING',
              False, True, False, None),
             ('Media diaria', 'gobject.TYPE_STRING',
              False, True, False, None),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     for ncol in range(1, 4):
         self.wids['tv_datos'].get_column(ncol).get_cell_renderers()[0].set_property("xalign", 1)
     self.fin = mx.DateTime.today()
     self.wids['e_fechafin'].set_text(utils.str_fecha(self.fin))
     self.wids['e_fechainicio'].set_text(
         utils.str_fecha(mx.DateTime.localtime()
                         - (7 * mx.DateTime.oneDay)))
     self.inicio = utils.parse_fecha(self.wids['e_fechainicio'].get_text())
     # self.wids['ch_fibra'].set_active(True)
     self.wids['ch_geotextiles'].set_active(True)
     gtk.main()
Ejemplo n.º 24
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     self.wids['b_buscar'].set_sensitive(True)
     cols = (('Característica', 'gobject.TYPE_STRING', 
                 False, True, True, lambda *a, **kw: None),
             ('Valor medio', 'gobject.TYPE_STRING', 
                 False, True, False, lambda *a, **kw: None),
             ('Valor referencia', 'gobject.TYPE_STRING', 
                 False, True, False, lambda *a, **kw: None),
             ('Valor impresión', 'gobject.TYPE_STRING', 
                 False, True, False, lambda *a, **kw: None),
             ('ID', 'gobject.TYPE_STRING', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_datos'], cols)
     tv = self.wids['tv_datos']
     tv.get_column(1).get_cell_renderers()[0].set_property('xalign', 1.0) 
     tv.get_column(2).get_cell_renderers()[0].set_property('xalign', 1.0) 
     tv.get_column(3).get_cell_renderers()[0].set_property('xalign', 1.0) 
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     cols = (('Factura', 'gobject.TYPE_STRING', False, True, True, None),
             ('Fecha', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha vencimiento', 'gobject.TYPE_STRING', False, True, False, None),
             ('Importe', 'gobject.TYPE_FLOAT', False, True, False, None),
             ('Pagaré (fecha)', 'gobject.TYPE_STRING', False, True, False, None),
             ('Fecha vto. pagaré', 'gobject.TYPE_STRING', False, True, False, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(self.wids['tv_cobros'], cols)
     self.wids['tv_cobros'].connect("row-activated", self.abrir_cobro)
     self.colorear(self.wids['tv_cobros'])
     clientes = [(0, "Todos los clientes")] + [(c.id, c.nombre) for c in pclases.Cliente.select(orderBy="nombre")]
     utils.rellenar_lista(self.wids['cbe_cliente'], clientes)
     def iter_cliente_seleccionado(completion, model, itr):
         idcliente = model[itr][0]
         utils.combo_set_from_db(self.wids['cbe_cliente'], idcliente)
     self.wids['cbe_cliente'].child.get_completion().connect('match-selected', iter_cliente_seleccionado)
Ejemplo n.º 26
0
 def __init__(self, objeto=None, usuario=None):
     self.usuario = usuario
     Ventana.__init__(self, "consulta_ventas_por_producto.glade", objeto, usuario=usuario)
     connections = {
         "b_salir/clicked": self.salir,
         "b_buscar/clicked": self.buscar,
         "b_imprimir/clicked": self.imprimir,
         "b_fecha_inicio/clicked": self.set_inicio,
         "b_fecha_fin/clicked": self.set_fin,
         "b_exportar/clicked": self.exportar,
         "e_fechainicio/focus-out-event": act_fecha,
         "e_fechafin/focus-out-event": act_fecha,
         "b_map/clicked": self.exportar_a_html,
     }
     self.add_connections(connections)
     # TreeViews de fibra y cemento
     cols = [
         ("Producto", "gobject.TYPE_STRING", False, True, True, None),
         ("kg A", "gobject.TYPE_STRING", False, True, False, None),
         ("# A", "gobject.TYPE_STRING", False, True, False, None),
         ("kg B", "gobject.TYPE_STRING", False, True, False, None),
         ("# B", "gobject.TYPE_STRING", False, True, False, None),
         ("kg C", "gobject.TYPE_STRING", False, True, False, None),
         ("# C", "gobject.TYPE_STRING", False, True, False, None),
         ("Total kg", "gobject.TYPE_STRING", False, True, False, None),
         ("Total #", "gobject.TYPE_STRING", False, True, False, None),
         ("PUID", "gobject.TYPE_STRING", False, False, False, None),
     ]
     for tv in (self.wids["tv_fibra"], self.wids["tv_cem"]):
         utils.preparar_treeview(tv, cols)
         tv.connect("row-activated", self.abrir_producto_albaran_o_abono)
         for n in range(1, 9):
             tv.get_column(n).get_cell_renderers()[0].set_property("xalign", 1)
     # TreeView de geotextiles
     cols.insert(1, ("m² A", "gobject.TYPE_STRING", False, True, False, None))
     cols.insert(4, ("m² B", "gobject.TYPE_STRING", False, True, False, None))
     cols.insert(7, ("m² C", "gobject.TYPE_STRING", False, True, False, None))
     cols.insert(10, ("Total m²", "gobject.TYPE_STRING", False, True, False, None))
     utils.preparar_treeview(self.wids["tv_gtx"], cols)
     self.wids["tv_gtx"].connect("row-activated", self.abrir_producto_albaran_o_abono)
     tv = self.wids["tv_gtx"]
     for n in range(1, 13):
         tv.get_column(n).get_cell_renderers()[0].set_property("xalign", 1)
     # TreeView de otros
     cols = [
         ("Producto", "gobject.TYPE_STRING", False, True, True, None),
         ("Cantidad", "gobject.TYPE_STRING", False, True, False, None),
         ("PUID", "gobject.TYPE_STRING", False, False, False, None),
     ]
     utils.preparar_treeview(self.wids["tv_otros"], cols)
     self.wids["tv_otros"].connect("row-activated", self.abrir_producto_albaran_o_abono)
     tv = self.wids["tv_otros"]
     tv.get_column(1).get_cell_renderers()[0].set_property("xalign", 1)
     fin = mx.DateTime.localtime()
     inicio = mx.DateTime.localtime() - mx.DateTime.oneWeek
     self.wids["e_fechainicio"].set_text(utils.str_fecha(inicio))
     self.wids["e_fechafin"].set_text(utils.str_fecha(fin))
     gtk.main()
Ejemplo n.º 27
0
 def inicializar_ventana(self):
     """
     Inicializa los controles de la ventana, estableciendo sus
     valores por defecto, deshabilitando los innecesarios,
     rellenando los combos, formateando el TreeView -si lo hay-...
     """
     # Inicialmente no se muestra NADA. Sólo se le deja al
     # usuario la opción de buscar o crear nuevo.
     self.activar_widgets(False)
     self.wids['b_actualizar'].set_sensitive(False)
     self.wids['b_guardar'].set_sensitive(False)
     self.wids['b_nuevo'].set_sensitive(True)
     self.wids['b_buscar'].set_sensitive(True)
     # Inicialización del resto de widgets:
     cols = (('Módulo/Ventana', 'gobject.TYPE_STRING',False,True,True,None),
             ('Permiso', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_permiso),
             ('Lectura', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_lectura),
             ('Modificación', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_escritura),
             ('Nuevo', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_ejecucion),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None)
            )
     utils.preparar_treeview(self.wids['tv_permisos'], cols)
     cols = (('Fecha', 'gobject.TYPE_STRING', True, True, False, 
                 self.cambiar_fechahora),
             ('Mensaje', 'gobject.TYPE_STRING', True, True, True, 
                 self.cambiar_mensaje),
             ('Leído', 'gobject.TYPE_BOOLEAN', True, True, False, 
                 self.cambiar_leido),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None)
            )
     utils.preparar_listview(self.wids['tv_mensajes'], cols)
     self.wids['tv_mensajes'].get_selection().set_mode(
         gtk.SELECTION_MULTIPLE)
     self.preparar_tab_modulos()
Ejemplo n.º 28
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     self.usuario = usuario
     Ventana.__init__(self, 'listado_rollos_defectuosos.glade', objeto,
                      usuario = usuario)
     connections = {'b_salir/clicked': self.salir,
                    'b_fecha_inicio/clicked': self.set_inicio,
                    'b_fecha_fin/clicked': self.set_fin,
                    'b_buscar/clicked': self.buscar_rollos, 
                    'b_imprimir/clicked': self.imprimir, 
                    'b_etiquetas/clicked': self.etiquetar, 
                    'b_exportar/clicked': self.exportar
                   }
     self.add_connections(connections)
     cols = (('Código rollo','gobject.TYPE_STRING',False,True,False,None),
             ('Fecha Fab.','gobject.TYPE_STRING',False,True,False,None),
             ('Fecha parte.','gobject.TYPE_STRING',False,True,False,None),
             ('Partida','gobject.TYPE_STRING',False,True,False,None),
             ('Albarán','gobject.TYPE_STRING',False,True,False,None),
             ('Metros l.', 'gobject.TYPE_STRING', False, True, False, None),
             ('Id','gobject.TYPE_INT64',False,False,False,None))
     utils.preparar_treeview(self.wids['tv_rollos'], cols)
     self.wids['tv_rollos'].get_selection().set_mode(gtk.SELECTION_MULTIPLE)
     self.wids['tv_rollos'].connect("row-activated", self.mostrar_rollo)
     self.colorear(self.wids['tv_rollos'])
     self.wids['tv_rollos'].connect("cursor-changed", self.mostrar_hora_parte)
     # self.rellenar_tabla()
     temp = time.localtime()
     self.fin = mx.DateTime.localtime()
     self.inicio = None
     self.wids['e_fechafin'].set_text(utils.str_fecha(temp))
     gtk.main()
Ejemplo n.º 29
0
 def crear_treeview(self, tv):
     cols = (('Lote y materia prima consumida', 'gobject.TYPE_STRING', False, True, True, None),
             ('ID', 'gobject.TYPE_INT64', False, False, False, None))
     utils.preparar_treeview(tv, cols)
Ejemplo n.º 30
0
 def crear_treeview(self, tv):
     cols = (
         ("Lote y materia prima consumida", "gobject.TYPE_STRING", False, True, True, None),
         ("ID", "gobject.TYPE_INT64", False, False, False, None),
     )
     utils.preparar_treeview(tv, cols)