diff --git a/lib/ConfigLoader.py b/lib/ConfigLoader.py index f26ed9a..aae5ce6 100644 --- a/lib/ConfigLoader.py +++ b/lib/ConfigLoader.py @@ -34,6 +34,7 @@ class ConfigLoader(QObject): # print(f"In {__file__} file, __init__()") self.config_dir = user_config_dir() + '/pyqcrm' config_dir = Path(self.config_dir) + if config_dir.exists(): self.__configLoad() if self.__config: @@ -41,6 +42,7 @@ class ConfigLoader(QObject): else: config_dir.mkdir(0o750, True, True) + @Slot(dict, result= bool) def setConfig(self, app_config): # print(f"In {__file__} file, setConfig()") @@ -212,3 +214,7 @@ class ConfigLoader(QObject): self.__config['pyqcrm']['ENCRYPTION_KEY'] = enc_key self.__saveConfig() + def getKey(self): + + return self.__config['pyqcrm']['ENCRYPTION_KEY'] + diff --git a/lib/DB/BusinessDAO.py b/lib/DB/BusinessDAO.py index 2680fdb..4836d3e 100644 --- a/lib/DB/BusinessDAO.py +++ b/lib/DB/BusinessDAO.py @@ -8,14 +8,14 @@ class BusinessDAO: self.__con = DbManager().getConnection() self.__cur = self.__con.cursor() - def getBusiness(self, criterion = "Alle"): - self.__cur.callproc("getCustomerView", (criterion,)) + def getBusiness(self, key, criterion = "Alle"): + self.__cur.callproc("getCustomerView", (key, criterion,)) self.__all_cols = [desc[0] for desc in self.__cur.description] return self.__cur.fetchall(), self.__all_cols - def addBusiness(self, data, contact_id): + def addBusiness(self, key, data, contact_id): try: - self.__cur.callproc("addBusiness", (json.dumps(data), contact_id)) + self.__cur.callproc("addBusiness", (key, json.dumps(data), contact_id)) self.__con.commit() except mariadb.Error as e: diff --git a/lib/DB/BusinessModel.py b/lib/DB/BusinessModel.py index 701b176..640a6d7 100644 --- a/lib/DB/BusinessModel.py +++ b/lib/DB/BusinessModel.py @@ -2,6 +2,7 @@ from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot, Signal from .BusinessDAO import BusinessDAO from ..PyqcrmFlags import PyqcrmFlags +from ..ConfigLoader import ConfigLoader # USERS TABLE # CUSTOMER_COLUMN_NAMES = \ @@ -66,11 +67,15 @@ class BusinessModel(QAbstractTableModel): def __init__(self): super().__init__() + self.__key = ConfigLoader().getKey() self.__getData() + def __getData(self, criterion = "Alle"): self.beginResetModel() - rows, self.__visible_columns = BusinessDAO().getBusiness(criterion) + rows, self.__visible_columns = BusinessDAO().getBusiness(self.__key, criterion) + + print(rows) self.__data = rows self.endResetModel() @@ -78,17 +83,21 @@ class BusinessModel(QAbstractTableModel): return len (self.__data) def columnCount(self, parent= QModelIndex()): - return len(self.__visible_columns) - 1 + #return len(self.__visible_columns) - 1 + return len(self.__visible_columns) + def data(self, index, role= Qt.DisplayRole): if role == Qt.DisplayRole: row = self.__data[index.row()] - return row[index.column() + 1] + #return row[index.column() + 1] + return row[index.column()] return None def headerData(self, section, orientation, role= Qt.DisplayRole): if orientation == Qt.Horizontal and role ==Qt.DisplayRole: - self.__col_name = self.__visible_columns[section + 1] + #self.__col_name = self.__visible_columns[section + 1] + self.__col_name = self.__visible_columns[section] return self.__col_name return super().headerData(section, orientation, role) @@ -116,7 +125,7 @@ class BusinessModel(QAbstractTableModel): @Slot(dict, int) def addBusiness(self, business, contact_id): - BusinessDAO().addBusiness(business, contact_id) + BusinessDAO().addBusiness(self.__key, business, contact_id) self.__getData() @Slot(dict) diff --git a/lib/DB/ContactDAO.py b/lib/DB/ContactDAO.py index 6d055f2..3c9377d 100644 --- a/lib/DB/ContactDAO.py +++ b/lib/DB/ContactDAO.py @@ -12,9 +12,9 @@ class ContactDAO: def getContacts(self): print(f"*** File: {__file__}, getContacts()") - def addContact(self, contact): + def addContact(self, key, contact): try: - self.__cur.callproc("addContactPerson", (json.dumps(contact),)) + self.__cur.callproc("addContactPerson", (key, json.dumps(contact),)) self.__con.commit() self.__cur.callproc("getLastInsertId") contact_id = self.__cur.fetchone() diff --git a/lib/DB/ContactModel.py b/lib/DB/ContactModel.py index e3ffb59..aeb0420 100644 --- a/lib/DB/ContactModel.py +++ b/lib/DB/ContactModel.py @@ -1,5 +1,6 @@ from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot, QObject, Signal from .ContactDAO import ContactDAO +from ..ConfigLoader import ConfigLoader import logging class ContactModel(QObject): @@ -7,6 +8,7 @@ class ContactModel(QObject): def __init__(self): super().__init__() #self.logger = logging.getLogger() + self.__key = ConfigLoader().getKey() print(f"*** File: {__file__}, __init__()") self.__data = self.__getData() @@ -21,7 +23,9 @@ class ContactModel(QObject): @Slot(dict) def addContact(self, contact): - i = ContactDAO().addContact(contact) + print(len(self.__key)) + print(self.__key) + i = ContactDAO().addContact(self.__key, contact) self.contactIdReady.emit(i)