diff options
| author | Debulois <quentin@debulois.fr> | 2022-05-05 16:17:58 +0200 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-05-05 16:17:58 +0200 |
| commit | d12ff4871844043e7a9e06a63a79c6e415ade936 (patch) | |
| tree | 490625d179de9b754b5056d29b8726143098e61c /src/app/mainLogin.py | |
| parent | 809f5c2c7ce0bdf05287c6f1b5ec1330efb0c469 (diff) | |
Tous les fichiers sont commentés
Diffstat (limited to 'src/app/mainLogin.py')
| -rw-r--r-- | src/app/mainLogin.py | 65 |
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) |
