Exemplo n.º 1
0
    def on_treeClientes_cursor_changed(self, widget):
        '''
        Se encarga de actualizar los datos segun el cliente que seleccionamos en el treeView.
        model es el modelo de la tabla de datos
        iter es el numero que identifica a la fila que marcamos
        @param widget:
        @return:
        '''
        try:
            model, iter = variables.treeclientes.get_selection().get_selected()

            variables.menslabel[0].set_text('')
            funcionescli.limpiarentry(variables.filacli)
            if iter != None:
                sdni = model.get_value(iter, 0)
                sapel = model.get_value(iter, 1)
                snome = model.get_value(iter, 2)
                sdata = model.get_value(iter, 3)
                if sdata == None:
                    sdata = ''
                cod = funcionescli.selectcli(sdni)
                variables.menslabel[1].set_text(str(cod[0]))
                variables.filacli[0].set_text(str(sdni))
                variables.filacli[1].set_text(str(sapel))
                variables.filacli[2].set_text(str(snome))
                variables.filacli[3].set_text(str(sdata))
                variables.menslabel[4].set_text(str(sdni))
                variables.menslabel[5].set_text(str(sapel))
        except:
            print("error carga cliente")
Exemplo n.º 2
0
    def on_menuBarImportar_activate(self, widget):
        """
        Gestiona el evento del botón importar de la barra de menú.
        Obtiene clientes, a partir de un fichero xlsx, y los almacena en la base de datos.
        :param widget:
        :return: No devuelve nada.

        """
        document = xlrd.open_workbook("listadoclientes.xlsx")
        clientes = document.sheet_by_index(0)
        todo = 0
        for i in range(clientes.nrows - 1):
            for j in range(clientes.ncols):
                if i != 0:
                    if j == 0:
                        dni = str(clientes.cell_value(i, 0))
                        apel = str(clientes.cell_value(i, 1))
                        nome = str(clientes.cell_value(i, 2))
                        data = float(clientes.cell_value(i, 3))
                        year, mont, d, h, m, s = xlrd.xldate_as_tuple(data, 0)
                        dia = str(d)
                        mes = str(mont)
                        ano = str(year)
                        fecha = dia.zfill(2) + '/' + mes.zfill(2) + '/' + ano
                        registro = (dni, apel, nome, fecha)
                        if (funcionescli.selectcli(dni) == None):
                            funcionescli.insertarcli(registro)
                            funcionescli.listadocli(variables.listclientes)
                            funcionescli.limpiarentry(variables.filacli)
                            todo = 1
        if todo == 1:
            variables.vendialogimportar.show()
Exemplo n.º 3
0
    def on_treeClientes_cursor_changed(self, widget):
        """
        Gestionar la accion de cuando se haga click en un cliente en el treeview.
        Carga en los entrys los datos del cliente seleccionado.
        :param widget:
        :return: No devuelve nada.

        """
        try:
            model, iter = variables.treeclientes.get_selection().get_selected()
            # model es el modelo de la tabla de datos
            # iter es el número que identifica a la fila que marcamos
            variables.menslabel[0].set_text('')
            funcionescli.limpiarentry(variables.filacli)
            if iter != None:
                sdni = model.get_value(iter, 0)
                sapel = model.get_value(iter, 1)
                snome = model.get_value(iter, 2)
                sdata = model.get_value(iter, 3)
                if sdata == None:
                    sdata = ''
                cod = funcionescli.selectcli(sdni)
                variables.menslabel[1].set_text(str(cod[0]))
                variables.filacli[0].set_text(str(sdni))
                variables.filacli[1].set_text(str(sapel))
                variables.filacli[2].set_text(str(snome))
                variables.filacli[3].set_text(str(sdata))
                variables.menslabel[4].set_text(str(sdni))
                variables.menslabel[5].set_text(str(sapel))
        except:
            print("error carga cliente")
Exemplo n.º 4
0
    def on_btnModifcli_clicked(self, widget):
        """
        Modifica el cliente seleccionado con los datos introducidos en el entry.

        Modifica los datos del cliente almacenado despues de haber seleccionado
        en el treeview el caso a modificar. Una vez alterados los datos se vuelve
        a crear el treeview para actualizarlo con los datos introducidos y se limpia
        los datos de los entries.

        :param widget:
        :return: void

        """

        try:
            cod = variables.menslabel[1].get_text()
            dni = variables.filacli[0].get_text()
            apel = variables.filacli[1].get_text()
            nome = variables.filacli[2].get_text()
            data = variables.filacli[3].get_text()
            registro = (dni, apel, nome, data)
            if dni != '':
                funcionescli.modifcli(registro, cod)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                print('falta el dni')
        except:
            print('error en botón modificar')
Exemplo n.º 5
0
    def on_btnAltacli_clicked(self, widget):
        """
        Da de alta un cliente con los datos itroducidos en los entries.

        Llama a otro metodo para registrar los datos escritos
        en los entries de la ventana correspondientes, comprobando
        el dni por medio de otro método, insertando el cliente con la funcion
        insertarcli(), tambien borra los datos de los entries y actualiza los
        treeviews con otros dos metodos.

        :param widget:
        :return: void

        """

        try:
            dni = variables.filacli[0].get_text()
            apel = variables.filacli[1].get_text()
            nome = variables.filacli[2].get_text()
            data = variables.filacli[3].get_text()
            registro = (dni, apel, nome, data)
            if funcionescli.validoDNI(dni):
                funcionescli.insertarcli(registro)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                variables.menslabel[0].set_text('ERROR DNI')
        except:
            print("Error alta cliente")
Exemplo n.º 6
0
 def on_treeClientes_cursor_changed(self, widget):
     """
     Evento que selecciona un cliente en el treeView
     :return: Void
     """
     try:
         model, iter = variables.treeclientes.get_selection().get_selected()
         # model es el modelo de la tabla de datos
         # iter es el número que identifica a la fila que marcamos
         variables.menslabel[0].set_text('')
         funcionescli.limpiarentry(variables.filacli)
         if iter != None:
             sdni = model.get_value(iter, 0)
             sapel = model.get_value(iter, 1)
             snome = model.get_value(iter, 2)
             sdata = model.get_value(iter, 3)
             if sdata == None:
                 sdata = ''
             cod = funcionescli.selectcli(sdni)
             variables.menslabel[1].set_text(str(cod[0]))
             variables.filacli[0].set_text(str(sdni))
             variables.filacli[1].set_text(str(sapel))
             variables.filacli[2].set_text(str(snome))
             variables.filacli[3].set_text(str(sdata))
             variables.menslabel[4].set_text(str(sdni))
             variables.menslabel[5].set_text(str(sapel))
     except:
         print("error carga cliente")
Exemplo n.º 7
0
 def on_treeClientes_cursor_changed(self, widget):
     """
     Evento que gestiona el treeview de clientes
     """
     try:
         funcionescli.limpiarentry(variables.filacli)
         model, iter = variables.treeclientes.get_selection().get_selected()
         if iter != None:
             sdni = model.get_value(iter, 0)
             sapel = model.get_value(iter, 1)
             snome = model.get_value(iter, 2)
             sdata = model.get_value(iter, 3)
             if (sdata == None):
                 sdata = " "
             cod = funcionescli.selectcli(sdni)
             variables.menserror[1].set_text(str(cod[0]))
             variables.filacli[0].set_text(sdni)
             variables.filares[0].set_text(sdni)
             variables.filacli[1].set_text(sapel)
             variables.filares[1].set_text(sapel)
             variables.filacli[2].set_text(snome)
             variables.filacli[3].set_text(str(sdata))
     except Exception as e:
         print(e)
         print("error carga cliente")
Exemplo n.º 8
0
 def on_btnRefresh_clicked(self, widget):
     try:
         funcioneshab.limpiarentry(variables.filahab)
         funcionescli.limpiarentry(variables.filacli)
         funcionesreser.limpiarentry(variables.filareserva)
         funcionesvar.limpiarlinfact(variables.linefactura)
     except:
         print('error referes')
Exemplo n.º 9
0
 def on_btnRefresh_clicked(self, widget):
     """
     Evento que limpia todas las entrys
     """
     funcionescli.limpiarentry(variables.filacli)
     funcioneshabi.limpiarentry(variables.filahabi)
     funcionesreserva.limpiarres(variables.filares)
     facturacion.limpiar_labels_factura(variables.labels_factura)
Exemplo n.º 10
0
 def on_btnBajacli_clicked(self, widget):
     try:
         dni = variables.filacli[0].get_text()
         if dni != '':
             funcionescli.bajacli(dni)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             print('falta dni u otro error')
     except:
         print("error en botón baja cliente")
Exemplo n.º 11
0
 def on_btnRefresh_clicked(self, widget):
     """
     evento que vacia todos valores de los widget de entrada
     :return: Void
     """
     try:
         funcioneshab.limpiarentry(variables.filahab)
         funcionescli.limpiarentry(variables.filacli)
         funcionesreser.limpiarentry(variables.filareserva)
     except:
         print('error referes')
Exemplo n.º 12
0
 def on_btnRefresh_clicked(self, widget):
     '''
     Se encarga de limpiar todas las entradas de datos
     @param widget:
     @return:
     '''
     try:
         funcioneshab.limpiarentry(variables.filahab)
         funcionescli.limpiarentry(variables.filacli)
         funcionesreser.limpiarentry(variables.filareserva)
         funcionesservicios.limpiarlbls()
     except:
         print('error refresh')
Exemplo n.º 13
0
 def on_btnClitool_clicked(self, widget):
     """
     Evento que gestiona el botón para moverse a clientes desde el toolbar.
     """
     try:
         panelactual = variables.panel.get_current_page()
         if panelactual != 0:
             variables.panel.set_current_page(0)
         else:
             funcionescli.limpiarentry(variables.filacli)
     except Exception as e:
         print(e)
         print("error botón cliente barra herramientas")
Exemplo n.º 14
0
 def on_btnBajacli_clicked(self, widget):
     """
     Evento que gestiona el botón para dar de baja un cliente
     """
     try:
         dni = variables.filacli[0].get_text()
         if dni != ' ':
             funcionescli.bajacli(dni)
             funcionescli.listarcli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             print('falta dni u otro error')
     except:
         print('error en boton baja cliente')
Exemplo n.º 15
0
    def on_btnRefresh_clicked(self, widget):
        """
        Vacia todos los entries.

        :param widget:
        :return:
        """
        try:
            funcioneshab.limpiarentry(variables.filahab)
            funcionescli.limpiarentry(variables.filacli)
            funcionesreser.limpiarentry(variables.filareserva)
            funcionesvar.limpiarlinfact(variables.linefactura)
        except:
            print('error referes')
Exemplo n.º 16
0
    def on_btnelegirRutaAceptar_clicked(self, widget):
        """
        Importa el archivo seleccionado en el filechooser.

        Importa el archivo que se haya seleccionado en el filechooser,
        lo introduce en la base de datos y actuliza los treeviews.
        Tambien cierra la ventana en cuestion.

        :param widget:
        :return: void
        """
        try:
            destino = variables.filechooserRuta.get_filename()
            print(str(destino))

            document = xlrd.open_workbook(str(destino))
            # Abrimos el fichero excel
            clientes = document.sheet_by_index(0)
            book_datemode = document.datemode
            for i in range(clientes.nrows - 1):
                # Ignoramos la primera fila, que indica los campos
                for j in range(clientes.ncols):
                    if i != 0:
                        if j == 0:
                            dni = str(clientes.cell_value(i, 0))
                            apel = str(clientes.cell_value(i, 1))
                            nome = str(clientes.cell_value(i, 2))
                            data = float(clientes.cell_value(i, 3))
                            year, mont, d, h, m, s = xlrd.xldate_as_tuple(
                                data, 0)
                            dia = str(d)
                            mes = str(mont)
                            año = str(year)
                            fecha = dia.zfill(2) + '/' + mes.zfill(
                                2) + '/' + año
                            registro = (dni, apel, nome, fecha)
                            if (funcionescli.selectcli(dni) == None):
                                funcionescli.insertarcli(registro)
                                funcionescli.listadocli(variables.listclientes)
                                funcionescli.limpiarentry(variables.filacli)

        except Exception as e:
            print(e)

        try:
            variables.filechooserRuta.connect('delete-event',
                                              lambda w, e: w.hide() or True)
            variables.filechooserRuta.hide()
        except:
            print('error cerrar file chooser')
Exemplo n.º 17
0
 def on_btnAltacli_clicked(self, widget):
     try:
         dni = variables.filacli[0].get_text()
         apel = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apel, nome, data)
         if funcionescli.validoDNI(dni):
             funcionescli.insertarcli(registro)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             variables.menslabel[0].set_text('ERROR DNI')
     except:
         print("Error alta cliente")
Exemplo n.º 18
0
 def on_btnModifcli_clicked(self, widget):
     try:
         cod = variables.menslabel[1].get_text()
         dni = variables.filacli[0].get_text()
         apel = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apel, nome, data)
         if dni != '':
             funcionescli.modifcli(registro, cod)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             print('falta el dni')
     except:
         print('error en botón modificar')
Exemplo n.º 19
0
    def on_btnRefresh_clicked(self, widget):
        """
        Gestiona el evento de refresh.
        Limpia todos los entry y los label.
        :param widget:
        :return: No devuelve nada.

        """
        try:
            funcioneshab.limpiarentry(variables.filahab)
            funcionescli.limpiarentry(variables.filacli)
            funcionesreser.limpiarentry(variables.filareserva)
            facturacion.limpiarfactura()
            facturacion.limpiardatosclifactura()
        except:
            print('error referes')
Exemplo n.º 20
0
 def on_btnBajacli_clicked(self, widget):
     '''
     Se encarga de recoger el dni, mandar a buscarlo en la base de datos y eliminar al cliente que tenga ese dni.
     Despues llama a listado para actualizar la lista del treeview y vacia los datos de entrada para bajas clientes
     @param widget:
     @return:
     '''
     try:
         dni = variables.filacli[0].get_text()
         if dni != '':
             funcionescli.bajacli(dni)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             print('falta dni u otro error')
     except:
         print("error en boton baja cliente")
Exemplo n.º 21
0
 def on_btnModifcli_clicked(self, widget):
     """
     Evento que gestiona el botón para modificar un cliente
     """
     try:
         cod = variables.menserror[1].get_text()
         dni = variables.filacli[0].get_text()
         apel = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apel, nome, data)
         if dni != ' ':
             funcionescli.modifcli(registro, cod)
             funcionescli.listarcli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
     except Exception as e:
         print(e)
         print("error boton modificar")
Exemplo n.º 22
0
    def on_btnBajacli_clicked(self, widget):
        """
        Gestiona el evento del botón de baja cliente.
        Da de baja un cliente.
        :param widget:
        :return: No devuelve nada.

        """
        try:
            dni = variables.filacli[0].get_text()
            if dni != '':
                funcionescli.bajacli(dni)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                print('falta dni u otro error')
        except:
            print("error en botón baja cliente")
Exemplo n.º 23
0
 def on_btnAltacli_clicked(self, widget):
     """
     Evento que gestiona el botón para dar de alta un cliente
     """
     try:
         dni = variables.filacli[0].get_text()
         apelidos = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apelidos, nome, data)
         if funcionescli.validoDNI(dni):
             funcionescli.insertarcli(registro)
             funcionescli.listarcli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
             #variables.menserror[3].set_text("Cliente dado de alta correctamente")
     except Exception as e:
         print(e)
         print("Error alta cliente")
Exemplo n.º 24
0
 def on_btnAltacli_clicked(self, widget):
     '''
     Se encarga de recoger los datos de los clientes y meterlos en una lista, manda a validar el dni recogido e inserta el cliente.
     Despues llama a listado para actualizar la lista del treeview y vacia los datos de entrada para altas clientes
     @param widget:
     @return:
     '''
     try:
         dni = variables.filacli[0].get_text()
         apel = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apel, nome, data)
         if funcionescli.validoDNI(dni):
             funcionescli.insertarcli(registro)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             variables.menslabel[0].set_text('ERROR DNI')
     except:
         print("Error alta cliente")
Exemplo n.º 25
0
 def on_btnModifcli_clicked(self, widget):
     '''
     Se encarga de recoger los datos actualizados para modificar un cliente.
     Despues llama a listado para actualizar la lista del treeview y vacia los datos de entrada para modificar clientes
     @param widget:
     @return:
     '''
     try:
         cod = variables.menslabel[1].get_text()
         dni = variables.filacli[0].get_text()
         apel = variables.filacli[1].get_text()
         nome = variables.filacli[2].get_text()
         data = variables.filacli[3].get_text()
         registro = (dni, apel, nome, data)
         if dni != '':
             funcionescli.modifcli(registro, cod)
             funcionescli.listadocli(variables.listclientes)
             funcionescli.limpiarentry(variables.filacli)
         else:
             print('falta el dni')
     except:
         print('error en boton modificar')
Exemplo n.º 26
0
    def on_btnAltacli_clicked(self, widget):
        """
        Gestiona el evento del botón de alta cliente.
        Da de alta un cliente
        :param widget:
        :return: No devuelve nada

        """
        try:
            dni = variables.filacli[0].get_text()
            apel = variables.filacli[1].get_text()
            nome = variables.filacli[2].get_text()
            data = variables.filacli[3].get_text()
            registro = (dni, apel, nome, data)
            if funcionescli.validoDNI(dni):
                funcionescli.insertarcli(registro)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                variables.menslabel[0].set_text('ERROR DNI')
        except:
            print("Error alta cliente")
Exemplo n.º 27
0
    def on_btnBajacli_clicked(self, widget):
        """
        Borra el cliente seleccionado en el treeview correspondiente.

        Recoje el dni en el entry del dni en la pestaña clientes
        que se puede meter a mano o dando click en uno de los clientes
        del treeview, y lo usa para borrar los datos del mismo para
        darle de baja.

        :param widget:
        :return: void

        """
        try:
            dni = variables.filacli[0].get_text()
            if dni != '':
                funcionescli.bajacli(dni)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                print('falta dni u otro error')
        except:
            print("error en botón baja cliente")
Exemplo n.º 28
0
    def on_btnModifcli_clicked(self, widget):
        """
        Gestiona el evento del botón modificar de la ventana de clientes.
        Modifica un cliente
        :param widget:
        :return: No devuelve nada.

        """
        try:
            cod = variables.menslabel[1].get_text()
            dni = variables.filacli[0].get_text()
            apel = variables.filacli[1].get_text()
            nome = variables.filacli[2].get_text()
            data = variables.filacli[3].get_text()
            registro = (dni, apel, nome, data)
            if dni != '':
                funcionescli.modifcli(registro, cod)
                funcionescli.listadocli(variables.listclientes)
                funcionescli.limpiarentry(variables.filacli)
            else:
                print('falta el dni')
        except:
            print('error en botón modificar')