From 3738bf1c6e75238c2c60a7dbb5d805f23966a5b912dbe49f4957623dfbe16381 Mon Sep 17 00:00:00 2001 From: Marco Gatzen Date: Wed, 26 Feb 2025 10:33:01 +0100 Subject: [PATCH] Mitarbeiter anlegen funktioniert --- Gui/AddApplicant.qml | 13 +++++++++++++ lib/DB/EmployeeDAO.py | 5 +++-- lib/DB/EmployeeModel.py | 14 +++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Gui/AddApplicant.qml b/Gui/AddApplicant.qml index c8ab042..b14861c 100644 --- a/Gui/AddApplicant.qml +++ b/Gui/AddApplicant.qml @@ -145,8 +145,21 @@ ColumnLayout } } } + Component.onCompleted: + { + employee_model.addedNewEmployee.connect(onAddNewEmployee) + } + // } // } // ScrollView + function onAddNewEmployee(added) + { + if (added) + console.log('addedsuccesfully') + else + console.log('failedtoadd') + appLoader.source = 'EmployeeTable.qml' + } function checkFields() { diff --git a/lib/DB/EmployeeDAO.py b/lib/DB/EmployeeDAO.py index 1f8b6f3..34de9af 100644 --- a/lib/DB/EmployeeDAO.py +++ b/lib/DB/EmployeeDAO.py @@ -6,7 +6,7 @@ from ..PyqcrmFlags import PyqcrmAppliEmpyFlags class EmployeeDAO(QObject): - newEmployeeAdded = Signal() + newEmployeeAdded = Signal(bool) __cur = None __all_cols = None @@ -44,7 +44,8 @@ class EmployeeDAO(QObject): if self.__cur: self.__cur.callproc("addApplicant", (json.dumps(data), applicant, enc_key,)) self.__con.commit() - self.newEmployeeAdded.emit() + self.newEmployeeAdded.emit(True) except mariadb.Error as e: print(str(e)) + self.newEmployeeAdded.emit(False) diff --git a/lib/DB/EmployeeModel.py b/lib/DB/EmployeeModel.py index 821218c..d1c3862 100644 --- a/lib/DB/EmployeeModel.py +++ b/lib/DB/EmployeeModel.py @@ -6,6 +6,7 @@ import re class EmployeeModel(QAbstractTableModel): + addedNewEmployee = Signal(bool) __data = None __employee_dao = None __visible_index = None @@ -26,17 +27,20 @@ class EmployeeModel(QAbstractTableModel): @Slot(dict, bool) def addEmployee(self, new_employee, applicant = True): - new_employee['worklicense'] = int(new_employee['worklicense']) - new_employee['residencetype'] = int(new_employee['residencetype']) + if 'worklicense' in new_employee: + new_employee['worklicense'] = int(new_employee['worklicense']) + new_employee['residencetype'] = int(new_employee['residencetype']) self.__employee_dao.addEmployee(new_employee, self.__key, applicant) @Slot(str) def viewCriterion(self, criterion, processed = False, fired = False): self.__getData(criterion, processed, fired) - @Slot() - def __refreshView(self): - self.__getData() + @Slot(bool) + def __refreshView(self, added): + if added: + self.__getData() + self.addedNewEmployee.emit(added) def __getData(self, criterion = "Alle", processed = False, fired = False, every_state = True): self.beginResetModel()