summaryrefslogtreecommitdiff
path: root/src/app/mainMenuBar.py
blob: 3ab0090559b3000ce45032c4c25bc50d866826d3 (plain)
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)