def add_patient(self): sql_con = sqlite.sqlite_connector() if (len(self.dni.text()) < 9 ): # Major que 9 no pot ser perque està controlat a l'interfície QtWidgets.QMessageBox.critical(self, 'ERROR', "Introduce un DNI válido.") elif (self.dni_letters[int(self.dni.text()[:-1]) % 23] != self.dni.text()[-1]): QtWidgets.QMessageBox.critical(self, 'ERROR', "Letra del DNI errónea") elif (self.nom.text() == ""): QtWidgets.QMessageBox.critical( self, 'ERROR', "Es obligatorio introducir un nombre.") elif (not self.check_mail): QtWidgets.QMessageBox.critical(self, 'ERROR', "El e-mail no és correcto.") else: try: sql_con.add_patient(self.dni.text(), self.nom.text(), self.cognom.text(), self.medicos.currentText(), self.direccio.text(), self.telefon.text(), self.mail.text(), self.sip.text(), self.altura.text(), self.pes.text(), self.naiximent.text(), self.hombre.isChecked(), self.diagnostic.text(), self.fase.currentIndex(), self.imc.text(), self.grasa.text(), self.medicacio.toPlainText(), photo_to_blob(self.fotoCara.pixmap()), photo_to_blob(self.fotoCuerpo.pixmap())) QtWidgets.QMessageBox.information( self, 'Paciente añadido', "¡El paciente ha sido añadido con éxito!") if comprobation_message('Añadir otro paciente', '¿Quieres añadir otro paciente?' ): # If OK is clicked in the button self.dni.setText("") self.nom.setText("") self.cognom.setText("") else: self.close() except sqlite.sqlite3.IntegrityError as e: QtWidgets.QMessageBox.critical( self, 'ERROR', "Ya existe un paciente con este DNI") print(e) finally: sql_con.close()
def save_edit(self): self.set_editable_text(False) # Desactivem l'edició sql_con = sqlite.sqlite_connector() if (len(self.dni.text()) < 9): # Major que 9 no pot ser perque està controlat a l'interfície QtWidgets.QMessageBox.critical(self, 'ERROR', "Introduce un DNI válido.") if(self.nom.text() == ""): QtWidgets.QMessageBox.critical(self, 'ERROR', "Es obligatorio introducir un nombre.") elif(self.dni_letters[int(self.dni.text()[:-1]) % 23] != self.dni.text()[-1]): QtWidgets.QMessageBox.critical(self, 'ERROR', "Letra del DNI errónea") else: try: sql_con.edit_patient(self.dni.text(), self.nom.text(), self.cognom.text(), self.medicos.currentText(), self.direccio.text(), self.telefon.text(), self.mail.text(), self.sip.text(), self.altura.text(), self.pes.text(), self.naiximent.text(), self.hombre.isChecked(), self.diagnostic.text(), self.fase.currentIndex(), self.imc.text(), self.grasa.text(), self.medicacio.toPlainText(), photo_to_blob(self.fotoCara.pixmap()), photo_to_blob(self.fotoCuerpo.pixmap())) QtWidgets.QMessageBox.information(self, 'Paciente modificado', "¡El paciente ha sido modificado con éxito!") self.newPatientButton.show() self.guardarButton.hide() self.cancelarButton.hide() except sqlite.sqlite3.IntegrityError: QtWidgets.QMessageBox.critical(self, 'ERROR', "Ya existe un paciente con este DNI") finally: sql_con.close()