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
|
from os.path import join
from pathlib import Path
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QAction
from src.app import (
windowAPropos, windowAdmin,
windowUserInfo, windowMissions
)
def menu_init(mainWindow: object) -> None:
""""""
logo: str = join(Path(__file__).parent, "ressources", "icon.ico")
mainWindow.setWindowIcon(QIcon(logo))
mainWindow.setWindowTitle("Alphajob")
menu: object = mainWindow.menuBar()
menu.clear() # Clear au cas où
if mainWindow.userConnected and mainWindow.userStatus == "Admin":
menuAdmin: object = menu.addMenu("Admin")
btnEmplois: object = QAction("Gestion des emplois", mainWindow)
btnUsers: object = QAction("Gestion des Utilisateurs", mainWindow)
btnMissions: object = QAction("Gestion des missions", mainWindow)
btnEmplois.triggered.connect(lambda: windowAdmin.window_admin_emplois(mainWindow))
btnUsers.triggered.connect(lambda: windowAdmin.window_admin_users(mainWindow))
btnMissions.triggered.connect(lambda: windowAdmin.window_admin_missions(mainWindow))
menuAdmin.addAction(btnEmplois)
menuAdmin.addAction(btnUsers)
menuAdmin.addAction(btnMissions)
elif mainWindow.userConnected and (
mainWindow.userStatus == "Pro" or mainWindow.userStatus == "Client"):
# Infos
menuUserInfos: object = menu.addMenu("Mes infos")
btnMesInfos: object = QAction("Gérer ses infos", mainWindow)
btnMesInfos.triggered.connect(lambda: windowUserInfo.window_main(mainWindow))
menuUserInfos.addAction(btnMesInfos)
# Missions
menuMissions: object = menu.addMenu("Mes missions")
btnPendingMission: object = QAction("Missions en attente", mainWindow)
btnOngoignMission: object = QAction("Missions en cours", mainWindow)
btnCompletedMission: object = QAction("Missions en terminées", mainWindow)
btnPendingMission.triggered.connect(lambda: windowMissions.window_main(mainWindow, "pending"))
btnOngoignMission.triggered.connect(lambda: windowMissions.window_main(mainWindow, "ongoing"))
btnCompletedMission.triggered.connect(lambda: windowMissions.window_main(mainWindow, "completed"))
menuMissions.addAction(btnPendingMission)
menuMissions.addAction(btnOngoignMission)
menuMissions.addAction(btnCompletedMission)
menuOptions: object = menu.addMenu("Options")
btnApropos: object = QAction("A propos", mainWindow)
btnApropos.triggered.connect(lambda: windowAPropos.window_main(mainWindow))
menuOptions.addAction(btnApropos)
|