def __init__(self, tipo, datos): super(EditarDocumentoModal, self).__init__() self.setWindowFlags(QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint) self.ui=Ui_Dialog_editarDocumento() self.ui.setupUi(self) # Tipo de documento self.tipo = tipo titulo = "" if(tipo==0): titulo = "Editar Documento Compra" self.ui.cuentaProveedoresClienteLabel.setText("Cuenta Proveedor") elif(tipo==1): titulo = "Editar Documento Venta" self.ui.cuentaProveedoresClienteLabel.setText("Cuenta Cliente") self.setWindowTitle(titulo) #Fecha actual self.f = fac = DBController.getFactura(datos, tipo) rx = QtCore.QRegExp("[0-9]*") qr = QtGui.QRegExpValidator(rx) self.ui.nDocumentoLineEdit.setValidator( qr ) self.ui.sucursalLineEdit.setValidator( qr) self.ui.correlativoLineEdit.setValidator( qr ) self.ui.cuentaProveedoresClienteLineEdit.setValidator( qr ) self.ui.contracuentaLineEdit.setValidator( qr ) self.datos = datos self.llenarDatos() self.resultado = False self.exec_()
class EditarDocumentoModal(QtGui.QDialog): def __init__(self, tipo, datos): super(EditarDocumentoModal, self).__init__() self.setWindowFlags(QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint) self.ui=Ui_Dialog_editarDocumento() self.ui.setupUi(self) # Tipo de documento self.tipo = tipo titulo = "" if(tipo==0): titulo = "Editar Documento Compra" self.ui.cuentaProveedoresClienteLabel.setText("Cuenta Proveedor") elif(tipo==1): titulo = "Editar Documento Venta" self.ui.cuentaProveedoresClienteLabel.setText("Cuenta Cliente") self.setWindowTitle(titulo) #Fecha actual self.f = fac = DBController.getFactura(datos, tipo) rx = QtCore.QRegExp("[0-9]*") qr = QtGui.QRegExpValidator(rx) self.ui.nDocumentoLineEdit.setValidator( qr ) self.ui.sucursalLineEdit.setValidator( qr) self.ui.correlativoLineEdit.setValidator( qr ) self.ui.cuentaProveedoresClienteLineEdit.setValidator( qr ) self.ui.contracuentaLineEdit.setValidator( qr ) self.datos = datos self.llenarDatos() self.resultado = False self.exec_() def accept(self): self.datos["Numero Documento"] = unicode(self.ui.nDocumentoLineEdit.text()) self.datos["RS Emisor"] = unicode(self.ui.emisorLineEdit.text()) self.datos["RS Receptor"] = unicode(self.ui.receptorLineEdit.text()) self.datos["Fecha"] = unicode(self.ui.fechaDateEdit.text()) self.datos["Sucursal"] =unicode( self.ui.sucursalLineEdit.text()) self.datos["Glosa"] = unicode(self.ui.glosaLineEdit.text()) self.datos["Monto Exento"] = unicode(self.ui.montoExcentoSpinBox.value()) self.datos["Cuenta"] = unicode(self.ui.cuentaProveedoresClienteLineEdit.text()) self.datos["Contracuenta"] = unicode(self.ui.contracuentaLineEdit.text()) self.datos["Correlativo"] = unicode(self.ui.correlativoLineEdit.text()) if(self.ui.activoFijoCheckBox.checkState () == QtCore.Qt.Checked): self.datos["Activo Fijo"] = 1 else: self.datos["Activo Fijo"] = 0 # Si uno de los datos esta vacio # TODO: Cambiar color al encontrar error fallas = [] for key, value in self.datos.items(): if(not ("%s"%value)): fallas.append(key) error = "" for i in fallas: error = error+"%s\n"%i if(len(fallas)!=0): QtGui.QMessageBox.about(self, "Datos incompletos", "Faltan datos a ingresar en los siguientes campos:\n%s"%error) else: # Guardando DBController.modificarFactura(self.f, self.datos, self.tipo) self.resultado = True self.close() def llenarDatos(self): self.ui.montoExcentoSpinBox.setMaximum(2**53) self.ui.correlativoLineEdit.setText(self.datos["Correlativo"]) self.ui.cuentaProveedoresClienteLineEdit.setText(self.datos["Cuenta"]) self.ui.nDocumentoLineEdit.setText(self.datos["Numero Documento"]) self.ui.emisorLineEdit.setText(self.datos["RS Emisor"]) self.ui.receptorLineEdit.setText(self.datos["RS Receptor"]) self.ui.fechaDateEdit.setDisabled(False) if(self.datos["Fecha"] == None): self.ui.fechaDateEdit.setDateTime(QtCore.QDateTime.currentDateTime()) self.ui.fechaDateEdit.setDisabled(False) else: self.ui.fechaDateEdit.setDate(QtCore.QDate.fromString(self.datos["Fecha"], "yyyy-MM-dd")) self.ui.sucursalLineEdit.setText(self.datos["Sucursal"]) self.ui.glosaLineEdit.setText(self.datos["Glosa"]) self.ui.montoExcentoSpinBox.setValue(float(self.datos["Monto Exento"])) self.ui.contracuentaLineEdit.setText(self.datos["Contracuenta"]) self.ui.activoFijoCheckBox.setCheckState(QtCore.Qt.Unchecked) if(self.datos["Activo Fijo"] == "Si"): self.ui.activoFijoCheckBox.setCheckState(QtCore.Qt.Checked) self.ui.montoTotalLabel.setText("$ %s"%self.datos["Monto Total"]) self.ui.montoExcentoSpinBox.setMaximum(int(self.datos["Monto Total"]))