-
Notifications
You must be signed in to change notification settings - Fork 0
/
login.py
85 lines (83 loc) · 3.72 KB
/
login.py
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
import sys
from PyQt5 import QtCore, QtGui, QtWidgets, uic
import conn
import mainInt as m
class Login(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.ui = uic.loadUi("login.ui", self)
self.connexion = conn.Connexion(host="localhost", username="root", password="", database="Location_voiture")
self.ui.connectButton.clicked.connect(self.connect_to_database)
self.ui.login.setText("a")
self.ui.mdp.setText("12345")
self.admin_o_n = False #switch this to False to view normal demonstration this is just for test :)
def getLoginPassword(self,login,password,admin_o_n):
message = QtWidgets.QMessageBox()
if(login != "" and password != ""):
flag = True
req = f"select admin from super_utilisateur su join utilisateur u on su.idUser = u.idUser where login='{login}' and mdp='{password}' "
try:
self.connexion.cursor.execute(req)
users = self.connexion.cursor.fetchall()
if (len(users) != 0):
print(admin_o_n)
if (admin_o_n == 'Admin' and users[0][0] == 0):
print("ceci est un compte d'un employé : ")
message.setIcon(QtWidgets.QMessageBox.Critical)
message.setText("ceci est un compte d'un employé : ")
message.exec_()
return False
elif (admin_o_n == 'Admin' and users[0][0] == 1):
message.setText("Connexion reussie")
message.exec_()
self.admin_o_n = True
if (admin_o_n == 'Employé' and users[0][0] == 1):
print("ceci est un compte d'un admin")
message.setIcon(QtWidgets.QMessageBox.Critical)
message.setText("ceci est un compte d'un admin")
message.exec_()
return False
elif (admin_o_n == 'Employé' and users[0][0] == 0):
message.setText("Connexion reussie")
message.exec_()
else:
message.setText("Login ou mot de passe sont incorrecte")
message.exec_()
return False
except Exception as e:
print(f"An error occurred during SQL query execution: {e}")
return False
elif(login == "" and password != ""):
message.setText("Login est vide")
message.exec_()
return False
elif(login != "" and password == ""):
message.setText("mot de passe est vide")
message.exec_()
return False
else:
message.setText("Login et mot de passe sont vide")
message.exec_()
return False
return flag
def connect_to_database(self):
try:
if(self.connexion.connect()):
login = self.ui.login.text()
mdp = self.ui.mdp.text()
choix = self.ui.choix_admin.currentText()
check = self.getLoginPassword(login,mdp,choix)
# giving access to the main :
if(check == True):
print("everything is good")
main_window = m.MainWindow(login,choix,self.admin_o_n)
main_window.show()
print("setPlaceholderText")
self.hide()
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Login()
window.show()
sys.exit(app.exec_())