summaryrefslogtreecommitdiff
path: root/src/gui/pageHome.py
blob: 03f8d812aab3a1d2caa6067719bb901bd2301064 (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
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
98
99
100
101

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)

    labRechercheNom = QLabel("Par nom")
    inputRechercheNom = QLineEdit()
    btnRechercheNom = QPushButton("Rechercher")
    btnRechercheNom.clicked.connect(
        lambda:
            core_search_name(
                mainWindow,
                inputRechercheNom.text()
            )
    )
    labRechercheCat = QLabel("Par emploi")
    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(labRechercheNom)
    layoutRechercheNom.addWidget(inputRechercheNom)
    layoutRechercheNom.addWidget(btnRechercheNom)
    layoutRechercheCat = QVBoxLayout()
    layoutRechercheCat.addWidget(labRechercheCat)
    layoutRechercheCat.addWidget(comboRechercheCat)
    layoutRechercheCat.addWidget(btnRechercheCat)

    layoutRecherche = QHBoxLayout()
    layoutRecherche.addStretch()
    layoutRecherche.addLayout(layoutRechercheNom)
    layoutRecherche.addStretch()
    layoutRecherche.addLayout(layoutRechercheCat)
    layoutRecherche.addStretch()

    grpRecherche = QGroupBox("Recherche")
    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)