def delete(self): """ Funcion que elimina un cliente, validando que no tenga ventas asociadas """ data = self.ui.table.model() index = self.ui.table.currentIndex() if index.row() == -1: # No se ha seleccionado una fila self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage(u"Debe seleccionar una fila") return False else: #Confirmacion eliminar quit_msg = "¿esta seguro que desea eliminar el cliente?" reply = QtGui.QMessageBox.question(self, 'Message', quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: rut = data.index(index.row(), 0, QtCore.QModelIndex()).data() if db_model.obtener_TotalVenta(rut)==0: if (db_model.borrar(rut)): self.load_data() msgBox = QtGui.QMessageBox() msgBox.setText(u"EL registro fue eliminado.") msgBox.exec_() return True else: self.ui.errorMessageDialog = QtGui.QErrorMessage(self) self.ui.errorMessageDialog.showMessage( u"Error al eliminar el registro") return False else: msgBox = QtGui.QMessageBox() msgBox.setText(u"Cliente posee ventas") msgBox.exec_()
def load_data(self): """ Función que carga la información de clientes en la grilla """ clientes = db_model.obtener_rut() #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(clientes), 6) self.data.setHorizontalHeaderItem( 0, QtGui.QStandardItem(u"RUT")) self.data.setHorizontalHeaderItem( 1, QtGui.QStandardItem(u"Nombres")) self.data.setHorizontalHeaderItem( 2, QtGui.QStandardItem(u"Apellidos")) self.data.setHorizontalHeaderItem( 3, QtGui.QStandardItem(u"Correo")) self.data.setHorizontalHeaderItem( 4, QtGui.QStandardItem(u"TotalVentas")) self.data.setHorizontalHeaderItem( 5, QtGui.QStandardItem(u"TotalIngreso")) for r, row in enumerate(clientes): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['rut']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['nombres']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['apellidos']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['correo']) index = self.data.index(r, 4, QtCore.QModelIndex()) self.data.setData(index, db_model.obtener_TotalVenta(row['rut'])) index = self.data.index(r, 5, QtCore.QModelIndex()) self.data.setData(index, db_model.obtener_TotalIngreso(row['rut'])) self.ui.table.setModel(self.data) # Para que las columnas 1 y 2 se estire o contraiga cuando # se cambia el tamaño de la pantalla self.ui.table.horizontalHeader().setResizeMode( 1, self.ui.table.horizontalHeader().Stretch) self.ui.table.horizontalHeader().setResizeMode( 2, self.ui.table.horizontalHeader().Stretch) self.ui.table.setColumnWidth(0, 100) self.ui.table.setColumnWidth(1, 210) self.ui.table.setColumnWidth(2, 210) self.ui.table.setColumnWidth(3, 220)
def load_data(self): """ Función que carga la información de clientes en la grilla """ clientes = db_model.obtener_rut() #Creamos el modelo asociado a la tabla self.data = QtGui.QStandardItemModel(len(clientes), 6) self.data.setHorizontalHeaderItem(0, QtGui.QStandardItem(u"RUT")) self.data.setHorizontalHeaderItem(1, QtGui.QStandardItem(u"Nombres")) self.data.setHorizontalHeaderItem(2, QtGui.QStandardItem(u"Apellidos")) self.data.setHorizontalHeaderItem(3, QtGui.QStandardItem(u"Correo")) self.data.setHorizontalHeaderItem(4, QtGui.QStandardItem(u"TotalVentas")) self.data.setHorizontalHeaderItem(5, QtGui.QStandardItem(u"TotalIngreso")) for r, row in enumerate(clientes): index = self.data.index(r, 0, QtCore.QModelIndex()) self.data.setData(index, row['rut']) index = self.data.index(r, 1, QtCore.QModelIndex()) self.data.setData(index, row['nombres']) index = self.data.index(r, 2, QtCore.QModelIndex()) self.data.setData(index, row['apellidos']) index = self.data.index(r, 3, QtCore.QModelIndex()) self.data.setData(index, row['correo']) index = self.data.index(r, 4, QtCore.QModelIndex()) self.data.setData(index, db_model.obtener_TotalVenta(row['rut'])) index = self.data.index(r, 5, QtCore.QModelIndex()) self.data.setData(index, db_model.obtener_TotalIngreso(row['rut'])) self.ui.table.setModel(self.data) # Para que las columnas 1 y 2 se estire o contraiga cuando # se cambia el tamaño de la pantalla self.ui.table.horizontalHeader().setResizeMode( 1, self.ui.table.horizontalHeader().Stretch) self.ui.table.horizontalHeader().setResizeMode( 2, self.ui.table.horizontalHeader().Stretch) self.ui.table.setColumnWidth(0, 100) self.ui.table.setColumnWidth(1, 210) self.ui.table.setColumnWidth(2, 210) self.ui.table.setColumnWidth(3, 220)
def delete(self): """ Funcion que elimina un cliente, validando que no tenga ventas asociadas """ data = self.ui.table.model() index = self.ui.table.currentIndex() if index.row() == -1: # No se ha seleccionado una fila self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage(u"Debe seleccionar una fila") return False else: #Confirmacion eliminar quit_msg = "¿esta seguro que desea eliminar el cliente?" reply = QtGui.QMessageBox.question(self, 'Message', quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: rut = data.index(index.row(), 0, QtCore.QModelIndex()).data() if db_model.obtener_TotalVenta(rut) == 0: if (db_model.borrar(rut)): self.load_data() msgBox = QtGui.QMessageBox() msgBox.setText(u"EL registro fue eliminado.") msgBox.exec_() return True else: self.ui.errorMessageDialog = QtGui.QErrorMessage(self) self.ui.errorMessageDialog.showMessage( u"Error al eliminar el registro") return False else: msgBox = QtGui.QMessageBox() msgBox.setText(u"Cliente posee ventas") msgBox.exec_()