1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
from PyQt5.QtWidgets import (
QGroupBox, QPushButton,
QComboBox, QLineEdit,
QHBoxLayout, QWidget,
QVBoxLayout, QLabel
)
from src.database import dbsearch
from src.gui import pageLogin, pageRegister, globalMenu
from src.core.coreSearch import core_search_id, core_search_name
from src.core.coreUser import core_logout
def main(mainWindow, reloadMenu = False) -> None:
if reloadMenu:
globalMenu.init(mainWindow)
classSearch = dbsearch.DbSearch(mainWindow)
if not mainWindow.userConnected:
connexionState = QLabel("Non connecté.")
else:
connexionState = QLabel(f"Connecté: {mainWindow.userEmail} - {mainWindow.userStatus}")
if not mainWindow.userConnected:
btnConnexion = QPushButton("Connexion")
btnConnexion.clicked.connect(lambda: pageLogin.main(mainWindow))
else:
btnDeconnexion = QPushButton("Déconnexion")
btnDeconnexion.clicked.connect(lambda: core_logout(mainWindow))
btnInscription = QPushButton("Inscription")
btnInscription.clicked.connect(lambda: pageRegister.main(mainWindow))
layoutUser = QHBoxLayout()
layoutUser.addStretch()
layoutUser.addWidget(btnInscription)
if not mainWindow.userConnected:
layoutUser.addWidget(btnConnexion)
else:
layoutUser.addWidget(btnDeconnexion)
grpUtilisateur = QGroupBox("Gestion de l'utilisateur")
grpUtilisateur.setLayout(layoutUser)
inputRechercheNom = QLineEdit("Nom d'un pro")
btnRechercheNom = QPushButton("Rechercher")
btnRechercheNom.clicked.connect(
lambda:
core_search_name(
mainWindow,
inputRechercheNom.text()
)
)
comboRechercheCat = QComboBox()
alljobs = classSearch.get_job_all()
for i in alljobs:
comboRechercheCat.addItem("{0}".format(i[2]), i[0])
btnRechercheCat = QPushButton("Rechercher")
btnRechercheCat.clicked.connect(
lambda:
core_search_id(
mainWindow,
comboRechercheCat.currentData()
)
)
layoutRechercheNom = QVBoxLayout()
layoutRechercheNom.addWidget(inputRechercheNom)
layoutRechercheNom.addWidget(btnRechercheNom)
layoutRechercheCat = QVBoxLayout()
layoutRechercheCat.addWidget(comboRechercheCat)
layoutRechercheCat.addWidget(btnRechercheCat)
layoutRecherche = QHBoxLayout()
layoutRecherche.addStretch()
layoutRecherche.addLayout(layoutRechercheNom)
layoutRecherche.addStretch()
layoutRecherche.addLayout(layoutRechercheCat)
layoutRecherche.addStretch()
grpRecherche = QGroupBox("Recherche par nom ou emploi")
grpRecherche.setLayout(layoutRecherche)
layoutMain = QVBoxLayout()
layoutMain.addWidget(connexionState)
layoutMain.addWidget(grpUtilisateur)
layoutMain.addStretch()
layoutMain.addWidget(grpRecherche)
layoutMain.addStretch()
if hasattr(mainWindow, "mainWidget"):
mainWindow.mainWidget.deleteLater()
mainWindow.mainWidget = QWidget()
mainWindow.mainWidget.setLayout(layoutMain)
mainWindow.setCentralWidget(mainWindow.mainWidget)
|