summaryrefslogtreecommitdiff
path: root/src/app/mainLogin.py
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-05-05 16:17:58 +0200
committerDebulois <quentin@debulois.fr>2022-05-05 16:17:58 +0200
commitd12ff4871844043e7a9e06a63a79c6e415ade936 (patch)
tree490625d179de9b754b5056d29b8726143098e61c /src/app/mainLogin.py
parent809f5c2c7ce0bdf05287c6f1b5ec1330efb0c469 (diff)
Tous les fichiers sont commentés
Diffstat (limited to 'src/app/mainLogin.py')
-rw-r--r--src/app/mainLogin.py65
1 files changed, 43 insertions, 22 deletions
diff --git a/src/app/mainLogin.py b/src/app/mainLogin.py
index 617df73..bd3f916 100644
--- a/src/app/mainLogin.py
+++ b/src/app/mainLogin.py
@@ -1,4 +1,11 @@
+############################################################################
+# #
+# Description: Fenêtre principale avec les éléments pour se connecter #
+# #
+############################################################################
+
+# Import des éléments de PyQt5
from PyQt5.QtWidgets import (
QPushButton, QHBoxLayout,
QGroupBox, QLabel,
@@ -6,24 +13,32 @@ from PyQt5.QtWidgets import (
QVBoxLayout, QGridLayout,
QMessageBox
)
+# Import des éléments locals
from src.app import mainHome, mainRegister
from src.database.dbuser import DbUser
from src.database.dbsearch import DbSearch
def core_login(mainWindow: object, email: str, password: str) -> None:
- """"""
+ """
+ Fait appel aux methodes de DbUser et DbSearch pour vérifier si
+ les informations de connections fournies sont correctes et auquel cas
+ modifie les variables de la classe principale de l'app afin de
+ valider la connection de l'utilisateur.
+ """
+ # Instanciation des classes permettant d'accéder à la BDD
dbuser: object = DbUser(mainWindow)
dbsearch: object = DbSearch(mainWindow)
+ # Si l'email exist
if dbuser.check_exist_email(email):
+ # On vérifi l'assiocation email - pass
userId = dbuser.check_user_credential(email, password)
+ # Si ça match, on a l'userId associé
if userId:
+ # On récupère les infos de l'utilisateur
userAccount = dbsearch.get_user_account_by_userid(userId)[0]
- QMessageBox.information(
- mainWindow,
- "Connexion",
- "Vous êtes connecté"
- )
+ # On associe ces valeur au variable de la classe principale
+ # pour connecter l'utilisateur
mainWindow.userConnected = True
mainWindow.userId = userId
mainWindow.userEmail = userAccount[1]
@@ -34,12 +49,19 @@ def core_login(mainWindow: object, email: str, password: str) -> None:
mainWindow.userStatus = "Pro"
elif userAccount[3] == 2:
mainWindow.userStatus = "Client"
+ # Un Qmessage pour prévenir que c'est OK
+ QMessageBox.information(
+ mainWindow,
+ "Connexion",
+ "Vous êtes connecté"
+ )
+ # On redirige à l'accueil
mainHome.window_main(mainWindow, True)
else:
QMessageBox.warning(
mainWindow,
"Connexion",
- "Mauvaise combinaison mail & mot de passe"
+ "Mauvais mot de passe"
)
else:
QMessageBox.warning(
@@ -50,26 +72,24 @@ def core_login(mainWindow: object, email: str, password: str) -> None:
def window_main(mainWindow: object) -> None:
- """"""
- if not mainWindow.userConnected:
- connState: object = QLabel("Non connecté.")
- else:
- connState: object = QLabel(
- f"Connecté: {mainWindow.userEmail} - {mainWindow.userStatus}"
- )
-
+ """
+ Page principale de l'app d'où l'on peut se connecter
+ """
+ #Création du widget info sur la connection
+ connState: object = QLabel("Non connecté.")
+ # Widgets des boutons de navigation
btnAccueil: object = QPushButton("Accueil")
btnAccueil.clicked.connect(lambda: mainHome.window_main(mainWindow))
btnInscription: object = QPushButton("Inscription")
btnInscription.clicked.connect(lambda: mainRegister.window_main(mainWindow))
- #
+ # Partie layout des boutons de navigation
layUser: object = QHBoxLayout()
layUser.addWidget(btnAccueil)
layUser.addStretch()
layUser.addWidget(btnInscription)
grpUtilisateur: object = QGroupBox("Gestion de l'utilisateur")
grpUtilisateur.setLayout(layUser)
- #
+ # Widgets du menu de conenxion
labMail: object = QLabel("Email")
inpMail: object = QLineEdit(maxLength=128)
labPassword: object = QLabel("Mot de passe")
@@ -84,29 +104,30 @@ def window_main(mainWindow: object) -> None:
inpPassword.text()
)
)
- #
+ # Grid layout du menu de connexion
layGrid: object = QGridLayout()
layGrid.addWidget(labMail, 0, 0)
layGrid.addWidget(inpMail, 0, 1)
layGrid.addWidget(labPassword, 1, 0)
layGrid.addWidget(inpPassword, 1, 1)
layGrid.addWidget(btnConnexion, 2, 1)
- #
+ # Layout du menu de connecion accueillant le QGridLayout
layLogin: object = QHBoxLayout()
layLogin.addStretch()
layLogin.addLayout(layGrid)
layLogin.addStretch()
- #
+ # GroupBox du menu de connexion
grpLogin: object = QGroupBox("Connexion")
grpLogin.setLayout(layLogin)
- #
+ # Layout du widget principal
layMain: object = QVBoxLayout()
layMain.addWidget(connState)
layMain.addWidget(grpUtilisateur)
layMain.addStretch()
layMain.addWidget(grpLogin)
layMain.addStretch()
- #
+ # On supprime l'ancien QWidget et on en crée un nouveau
+ # avec les éléments et la lyout de cette de la fonction
mainWindow.mainWidget.deleteLater()
mainWindow.mainWidget = QWidget()
mainWindow.mainWidget.setLayout(layMain)