From d25d4861f9e321e084da46870d90d7d453d232d1a83a66a36fc6cae08882b023 Mon Sep 17 00:00:00 2001 From: Daniel Stoppek Date: Tue, 10 Dec 2024 11:44:34 +0100 Subject: [PATCH] add Btype --- Gui/AddCustomer.qml | 2 ++ lib/DB/AddressModel.py | 4 ++-- lib/DB/BTypeDAO.py | 12 ++++++++++++ lib/DB/BTypeModel.py | 19 +++++++++++++++++++ main.py | 10 +++++++--- pyqcrm.pyproject | 4 +++- 6 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 lib/DB/BTypeDAO.py create mode 100644 lib/DB/BTypeModel.py diff --git a/Gui/AddCustomer.qml b/Gui/AddCustomer.qml index faff464..cb0a74b 100644 --- a/Gui/AddCustomer.qml +++ b/Gui/AddCustomer.qml @@ -189,6 +189,8 @@ ColumnLayout id: typeid Layout.fillWidth: true editable: false + model: btm + textRole: "display" } diff --git a/lib/DB/AddressModel.py b/lib/DB/AddressModel.py index 4478b89..aecd12f 100644 --- a/lib/DB/AddressModel.py +++ b/lib/DB/AddressModel.py @@ -14,10 +14,10 @@ class AddressModel(QAbstractListModel): def data(self, index, role = Qt.DisplayRole): row = index.row() if role == Qt.DisplayRole: - data= self.__address_data[row][2] + data = self.__address_data[row][2] return data elif role == PyqcrmDataRoles.CITY_ROLE: - data= self.__address_data[row][3] + data = self.__address_data[row][3] return data return None diff --git a/lib/DB/BTypeDAO.py b/lib/DB/BTypeDAO.py new file mode 100644 index 0000000..ae5bc97 --- /dev/null +++ b/lib/DB/BTypeDAO.py @@ -0,0 +1,12 @@ +from .DbManager import DbManager + + +class BTypeDAO: + def __init__(self): + self.__con = DbManager().getConnection() + self.__cur = self.__con.cursor() + + def getBType(self): + self.__cur.callproc("getBType") + data = self.__cur.fetchall() + return(data) diff --git a/lib/DB/BTypeModel.py b/lib/DB/BTypeModel.py new file mode 100644 index 0000000..246dd66 --- /dev/null +++ b/lib/DB/BTypeModel.py @@ -0,0 +1,19 @@ +from PySide6.QtCore import QAbstractListModel, Qt, QModelIndex +from .BTypeDAO import BTypeDAO + + +class BTypeModel(QAbstractListModel): + def __init__(self): + super().__init__() + self.__btype_data = BTypeDAO().getBType() + + def rowCount(self, parent = QModelIndex()): + return len(self.__btype_data) + + def data(self, index, role = Qt.DisplayRole): + row = index.row() + if role == Qt.DisplayRole: + data= self.__btype_data[row][1] + return data + return None + diff --git a/main.py b/main.py index f8079eb..2037222 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 +# from pathlib import Path from PySide6.QtGui import QGuiApplication from PySide6.QtQml import QQmlApplicationEngine #from PySide6.QtCore import QResource @@ -11,6 +11,7 @@ import rc_qml from lib.DB.DbManager import DbManager from lib.DB.UserManager import UserManager from lib.DB.AddressModel import AddressModel +from lib.DB.BTypeModel import BTypeModel @@ -29,11 +30,12 @@ from lib.DB.AddressModel import AddressModel bad_config = False am = None bm = None +btm = None user = None def initializeProgram(): # print(f"In {__file__} file, initializeProgram()") - global am, bad_config, bm, user + global am, bad_config, bm, user, btm if not bad_config: dbconf = config.getConfig()['database'] DbManager(dbconf) @@ -41,15 +43,17 @@ def initializeProgram(): bm = BusinessModel() user = UserManager() am = AddressModel() + btm = BTypeModel() publishContext() def publishContext(): # print(f"In {__file__} file, publishContext()") - global engine, am, bad_config, bm, user + global engine, am, bad_config, bm, user, btm engine.rootContext().setContextProperty("loggedin_user", user) engine.rootContext().setContextProperty("bm", bm) engine.rootContext().setContextProperty("am", am) + engine.rootContext().setContextProperty("btm", btm) if __name__ == "__main__": #QResource.registerResource("rc_qml.py") diff --git a/pyqcrm.pyproject b/pyqcrm.pyproject index 3734ab6..44578c9 100644 --- a/pyqcrm.pyproject +++ b/pyqcrm.pyproject @@ -31,6 +31,8 @@ "lib/DB/BusinessDAO.py", "lib/DB/AddressModel.py", "lib/DB/AddressDAO.py", - "lib/PyqcrmDataRoles.py" + "lib/PyqcrmDataRoles.py", + "lib/DB/BTypeModel.py", + "lib/DB/BTypeDAO.py" ] }