diff --git a/Gui/AddCustomer.qml b/Gui/AddCustomer.qml index 4dcd783..b0373c8 100644 --- a/Gui/AddCustomer.qml +++ b/Gui/AddCustomer.qml @@ -116,7 +116,7 @@ ColumnLayout popup.height: 300 popup.y: postcode.y + 5 - (postcode.height * 2) currentIndex: -1 - onCurrentIndexChanged: postcode.currentIndex = city.currentIndex + // onCurrentIndexChanged: postcode.currentIndex = city.currentIndex } Label @@ -246,10 +246,14 @@ ColumnLayout } else { + console.log("Contact available") + var contact_id = 0 new_business = JsLib.addBusiness(businessGrid) var new_contact = JsLib.addBusiness(addContactLayout) - bm.addBusiness(new_business) - bm.setContact(new_contact) + // bm.setContact(new_contact, contact_id) + // bm.addBusiness(new_business, contact_id) + contact_model.getContacts() + appLoader.source = "CustomerTables.qml" } } diff --git a/lib/DB/ContactDAO.py b/lib/DB/ContactDAO.py new file mode 100644 index 0000000..a188e63 --- /dev/null +++ b/lib/DB/ContactDAO.py @@ -0,0 +1,13 @@ +from .DbManager import DbManager +import json +import mariadb + + +class ContactDAO: + def __init__(self): + print(f"*** File: {__file__}, __init__()") + self.__con = DbManager().getConnection() + self.__cur = self.__con.cursor() + + def getContacts(self): + print(f"*** File: {__file__}, getContacts()") diff --git a/lib/DB/ContactModel.py b/lib/DB/ContactModel.py new file mode 100644 index 0000000..0368a78 --- /dev/null +++ b/lib/DB/ContactModel.py @@ -0,0 +1,23 @@ +from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot +from .ContactDAO import ContactDAO +import logging + +logger = logging.getLogger() +print(__name__) + +class ContactModel: + def __init__(self): + print(f"*** File: {__file__}, __init__()") + super().__init__() + self.__data = self.__getData() + + + def getContacts(self): + print(f"*** File: {__file__}, getContacts()") + logger.debug("A debug message") + return self.__data + + def __getData(self): + print(f"*** File: {__file__}, __getData()") + ContactDAO().getContacts() + diff --git a/main.py b/main.py index 2037222..4035195 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ # This Python file uses the following encoding: utf-8 import sys -# from pathlib import Path +import logging from PySide6.QtGui import QGuiApplication from PySide6.QtQml import QQmlApplicationEngine #from PySide6.QtCore import QResource @@ -12,7 +12,7 @@ from lib.DB.DbManager import DbManager from lib.DB.UserManager import UserManager from lib.DB.AddressModel import AddressModel from lib.DB.BTypeModel import BTypeModel - +from lib.DB.ContactModel import ContactModel # [pyqcrm] @@ -26,16 +26,19 @@ from lib.DB.BTypeModel import BTypeModel # password="" # name="" # type="" +logger = logging.getLogger(__name__) +logging.basicConfig(level=logging.DEBUG) bad_config = False am = None bm = None btm = None +contact_model = None user = None def initializeProgram(): # print(f"In {__file__} file, initializeProgram()") - global am, bad_config, bm, user, btm + global am, bad_config, bm, user, btm, contact_model if not bad_config: dbconf = config.getConfig()['database'] DbManager(dbconf) @@ -44,16 +47,18 @@ def initializeProgram(): user = UserManager() am = AddressModel() btm = BTypeModel() + contact_model = ContactModel() publishContext() def publishContext(): # print(f"In {__file__} file, publishContext()") - global engine, am, bad_config, bm, user, btm + global engine, am, bad_config, bm, user, btm, contact_model engine.rootContext().setContextProperty("loggedin_user", user) engine.rootContext().setContextProperty("bm", bm) engine.rootContext().setContextProperty("am", am) engine.rootContext().setContextProperty("btm", btm) + engine.rootContext().setContextProperty("contact_model", contact_model) if __name__ == "__main__": #QResource.registerResource("rc_qml.py") diff --git a/pyqcrm.pyproject b/pyqcrm.pyproject index 44578c9..a3a77b8 100644 --- a/pyqcrm.pyproject +++ b/pyqcrm.pyproject @@ -33,6 +33,8 @@ "lib/DB/AddressDAO.py", "lib/PyqcrmDataRoles.py", "lib/DB/BTypeModel.py", - "lib/DB/BTypeDAO.py" + "lib/DB/BTypeDAO.py", + "lib/DB/ContactDAO.py", + "lib/DB/ContactModel.py" ] }