Files
pyqcrm/lib/DB/ContactModel.py
2025-04-24 01:37:09 +02:00

68 lines
2.7 KiB
Python

from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot, QObject, Signal
from .ContactDAO import ContactDAO
from ..ConfigLoader import ConfigLoader
import logging
class ContactModel(QObject):
contactIdReady = Signal(int)
objectContactAdded = Signal(bool)
__contact = None
__contact_dict = {'contact':{}}
def __init__(self):
super().__init__()
# print(f"*** File: {__file__}, __init__()")
#self.logger = logging.getLogger()
self.__conf = ConfigLoader().get_config()
self.__key = self.__conf['pyqcrm']['ENCRYPTION_KEY']
self.__contact_dao = ContactDAO()
self.__contact_dao.newObjectContactAdded.connect(self.objectContactAdded)
self.__data = self.__getData()
def getContacts(self):
# print(f"*** File: {__file__}, getContacts()")
logging.debug("No debug message")
return self.__data
def __getData(self):
# print(f"*** File: {__file__}, __getData()")
ContactDAO().getContacts()
@Slot(dict)
def addContact(self, contact):
i = ContactDAO().addContact(contact, self.__key)
self.contactIdReady.emit(i)
@Slot(dict, int)
def addObjectContact(self, contact, objectid):
ContactDAO().addObjectContact(contact, objectid, self.__key)
#self.contactIdReady.emit(i)
def __getContact(self, contact):
self.__contact = ContactDAO().getContact(contact, self.__key)
self.__getContactInfo()
@Slot(int, result = dict)
def getContactDetails(self, contact):
self.__getContact(contact)
#print(self.__contact_dict)
return self.__contact_dict
def __getContactInfo(self):
self.__contact_dict['contact']['id'] = self.__contact[0][0]
self.__contact_dict['contact']['salute'] = self.__contact[0][1]
self.__contact_dict['contact']['fname'] = self.__contact[0][2].decode("utf-8")
self.__contact_dict['contact']['lname'] = self.__contact[0][3].decode("utf-8")
self.__contact_dict['contact']['phone'] = self.__contact[0][4].decode("utf-8")
self.__contact_dict['contact']['cell'] = self.__contact[0][5].decode("utf-8")
self.__contact_dict['contact']['position'] = self.__contact[0][6]
self.__contact_dict['contact']['email'] = self.__contact[0][7].decode("utf-8")
self.__contact_dict['contact']['birthday'] = self.__contact[0][8].decode("utf-8")
self.__contact_dict['contact']['priority'] = "Ja" if self.__contact[0][9] else "Nein"
self.__contact_dict['contact']['invoice'] = "Ja" if self.__contact[0][10] else "Nein"
self.__contact_dict['contact']['reminder'] = "Ja" if self.__contact[0][11] else "Nein"