Use ORM for applicants

This commit is contained in:
Yuri Becker
2025-04-21 23:45:33 +02:00
parent 0ae153617b
commit 45f19d80d0
45 changed files with 388 additions and 354 deletions

62
main.py
View File

@@ -1,44 +1,35 @@
# # !/home/linuxero/proj/tero/pyqcrm/.qtcreator/venv-3.13.1/bin/python3
import os
import sys
import logging
from PySide6.QtNetwork import QLocalServer, QLocalSocket
from PySide6.QtWidgets import QSystemTrayIcon
from PySide6.QtGui import QGuiApplication, QIcon
from PySide6.QtQml import QQmlApplicationEngine
from PySide6.QtCore import QIODevice
from lib.ConfigLoader import ConfigLoader
from lib.DB.BusinessModel import BusinessModel
# noinspection PyUnresolvedReferences
import rc_pyqcrm
# noinspection PyUnresolvedReferences
import rc_qml
from lib.DB.DbManager import DbManager
from lib.DB.UserManager import UserManager
from PySide6.QtCore import QIODevice
from PySide6.QtGui import QGuiApplication, QIcon
from PySide6.QtNetwork import QLocalServer, QLocalSocket
from PySide6.QtQml import QQmlApplicationEngine
from PySide6.QtWidgets import QSystemTrayIcon
from lib.ConfigLoader import ConfigLoader
from lib.DB.AddressModel import AddressModel
from lib.DB.ApplicantModel import ApplicantModel
from lib.DB.BTypeModel import BTypeModel
from lib.DB.BusinessModel import BusinessModel
from lib.DB.ContactModel import ContactModel
from lib.DB.EmployeeModel import EmployeeModel
from lib.DB.ObjectModel import ObjectModel
from lib.DB.UserManager import UserManager
from lib.Printers import Printers
from lib.domain.BaseModel import database
os.environ['QML_XHR_ALLOW_FILE_READ'] = '1'
# [pyqcrm]
# program-name=""
# version=
# [database]
# server=""
# port=
# user=""
# password=""
# name=""
# type=""
bad_config = False
db_con = False
address_model = None
applicant_model = None
business_model = None
business_type = None
contact_model = None
@@ -49,17 +40,26 @@ user = None
def initializeProgram():
print(f"In {__file__} file, initializeProgram()")
global address_model, bad_config, business_model, user, business_type, contact_model, employee_model, object_model, db_con, printers
global address_model, applicant_model, bad_config, business_model, user, business_type, contact_model, employee_model, object_model, db_con, printers
if not bad_config:
dbconf = config.getConfig()['database']
DbManager(dbconf)
database.init(
host=dbconf['DB_HOST'],
user=dbconf['DB_USER'],
password=dbconf['DB_PASS'],
database=dbconf['DB_NAME'],
port=int(dbconf['DB_PORT']),
connect_timeout=5,
)
database.connect()
printers = Printers()
if DbManager().getConnection():
if not database.is_closed():
db_con = True
user = UserManager()
business_model = BusinessModel()
address_model = AddressModel()
applicant_model = ApplicantModel()
business_type = BTypeModel()
contact_model = ContactModel()
employee_model = EmployeeModel()
@@ -74,11 +74,11 @@ def configReady():
def publishContext():
# print(f"In {__file__} file, publishContext()")
global engine, address_model, bad_config, business_model, user, business_type, contact_model, object_model, employee_model, printers
global engine, address_model, applicant_model, bad_config, business_model, user, business_type, contact_model, object_model, employee_model, printers
engine.rootContext().setContextProperty("loggedin_user", user)
engine.rootContext().setContextProperty("business_model", business_model)
engine.rootContext().setContextProperty("address_model", address_model)
engine.rootContext().setContextProperty("applicantModel", applicant_model)
engine.rootContext().setContextProperty("business_type", business_type)
engine.rootContext().setContextProperty("contact_model", contact_model)
engine.rootContext().setContextProperty("employee_model", employee_model)
@@ -105,7 +105,7 @@ if __name__ == "__main__":
qml_file = "qrc:/Gui/main.qml"
icon = QIcon(":/images/tero.jpg")
icon = QIcon("qrc:/images/tero.jpg")
app.setWindowIcon(icon)
tray = QSystemTrayIcon()