Use ORM for applicants
This commit is contained in:
@@ -10,7 +10,6 @@ class EmployeeModel(QAbstractTableModel):
|
||||
addedNewEmployee = Signal(bool)
|
||||
__data = None
|
||||
__employee_dao = None
|
||||
__visible_index = None
|
||||
__visible_columns = None
|
||||
__col_name = ""
|
||||
__col_skip = 2
|
||||
@@ -18,7 +17,7 @@ class EmployeeModel(QAbstractTableModel):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.__employee_dao = EmployeeDAO()
|
||||
self.__employee_dao = EmployeeDAO()
|
||||
self.__employee_dao.newEmployeeAdded.connect(self.__refreshView)
|
||||
self.__conf = ConfigLoader().getConfig()
|
||||
self.__key = self.__conf['pyqcrm']['ENCRYPTION_KEY']
|
||||
@@ -29,11 +28,11 @@ class EmployeeModel(QAbstractTableModel):
|
||||
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, False)
|
||||
self.__employee_dao.addApplicant(new_employee, self.__key, False)
|
||||
|
||||
@Slot(QJSValue)
|
||||
def addApplicant(self, applicant: QJSValue):
|
||||
self.__employee_dao.addEmployee({
|
||||
self.__employee_dao.addApplicant({
|
||||
"city": applicant.property("city").toString(),
|
||||
"email": applicant.property("email").toString(),
|
||||
"firstname": applicant.property("firstname").toString(),
|
||||
@@ -72,29 +71,21 @@ class EmployeeModel(QAbstractTableModel):
|
||||
self.__col_skip = 2
|
||||
self.__getData(criterion, criterion == 'Erledigt', False, criterion == 'Alle')
|
||||
|
||||
def data(self, index, role=Qt.DisplayRole):
|
||||
if role == Qt.DisplayRole:
|
||||
def data(self, index, role=Qt.ItemDataRole.DisplayRole):
|
||||
if role == Qt.ItemDataRole.DisplayRole:
|
||||
row = self.__data[index.row()]
|
||||
applicant_col = index.column() + self.__col_skip
|
||||
tr = row[
|
||||
applicant_col] # if type(row[index.column() + 2]) is str else str(row[index.column() + 2], "utf-8")
|
||||
tr = row[applicant_col]
|
||||
if applicant_col == 2 and self.__everyone:
|
||||
tr = 'Ja' if tr == 1 else 'Nein'
|
||||
else:
|
||||
if tr:
|
||||
tr = re.sub("Keine Angabe ", "", tr)
|
||||
# print(f"Data: {tr}")
|
||||
# return row[index.column() + 2]
|
||||
return tr
|
||||
return None
|
||||
|
||||
def headerData(self, section, orientation, role=Qt.DisplayRole):
|
||||
if orientation == Qt.Horizontal and role == Qt.DisplayRole:
|
||||
def headerData(self, section, orientation, role=Qt.ItemDataRole.DisplayRole):
|
||||
if orientation == Qt.Orientation.Horizontal and role == Qt.ItemDataRole.DisplayRole:
|
||||
self.__col_name = self.__visible_columns[section + self.__col_skip]
|
||||
return self.__col_name
|
||||
return super().headerData(section, orientation, role)
|
||||
|
||||
@Slot(int, result=dict)
|
||||
def fetchApplicant(self, row) -> dict:
|
||||
employee_id = self.__data[row][0]
|
||||
return self.__employee_dao.fetchApplicant(employee_id, self.__key)
|
||||
|
||||
Reference in New Issue
Block a user