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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| import sys
from PyQt5.uic import loadUi
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication, QWidget
import sqlite3
class WelcomeScreen(QDialog):
def __init__(self):
super(WelcomeScreen, self).__init__()
loadUi("welcomescreen.ui", self)
self.login.clicked.connect(self.gotologin)
self.create.clicked.connect(self.gotocreate)
def gotologin(self):
login = LoginScreen()
widget.addWidget(login)
widget.setCurrentIndex(widget.currentIndex()+1)
def gotocreate(self):
create = CreateAccScreen()
widget.addWidget(create)
widget.setCurrentIndex(widget.currentIndex() + 1)
class LoginScreen(QDialog):
def __init__(self):
super(LoginScreen, self).__init__()
loadUi("login.ui", self)
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.login.clicked.connect(self.loginfunction)
def loginfunction(self):
user = self.usernamefield.text()
password = self.passwordfield.text()
bookkeeping = BookKeepingScreen()
def gotobookkeeping(self):
BookKeepingScreen = BookKeepingScreen()
widget.addWidget(BookKeepingScreen)
widget.setCurrentIndex(widget.currentIndex() + 1)
if len(user)==0 or len(password)==0:
self.error.setText("Veuillez remplir tous les champs")
else :
conn = sqlite3.connect("logindata.db")
cur = conn.cursor()
query = 'SELECT password FROM login_info WHERE username =\''+user+"\'"
cur.execute(query)
result_pass = cur.fetchone()[0]
if result_pass == password:
print("Authentification réussie !")
self.error.setText("")
self.bookkeeping.connect(self.gotobookkeeping)
else :
self.error.setText("nom d'utilisateur ou mot de passe invalide...")
class BookKeepingScreen(QDialog):
def __init__(self):
super(BookKeepingScreen, self).__init__()
loadUi("bookkeeping.ui", self)
def BookKeepingfunction(self):
def loginfunction(self):
compte = self.case_compte_1.text()
libelle = self.case_libelle_1.text()
debit = self.case_debit_1.text()
credit = self.case_credit_1.text()
if len(compte)==401:
self.error.setText("Ce n'est pas le bon compte")
else :
conn = sqlite3.connect("logindata.db")
cur = conn.cursor()
query = 'SELECT libelle FROM pcg WHERE compte = "401"'
cur.execute(query)
result_validation = cur.fetchone()[0]
if result_validation == compte:
print("+1")
conn = sqlite3.connect("logindata.db")
cur = conn.cursor()
user_info = [user, info, level]
cur.execute('INSERT INTO login_info (username, password, level) VALUES (+1)', user_info)
conn.commit()
conn.close()
class CreateAccScreen(QDialog):
def __init__(self):
super(CreateAccScreen, self).__init__()
loadUi("createacc.ui", self)
self.passwordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.confirmpasswordfield.setEchoMode(QtWidgets.QLineEdit.Password)
self.senregistrerButton.clicked.connect(self.senregistrerButtonfunction)
def senregistrerButtonfunction(self):
user = self.usernamefield.text()
password = self.passwordfield.text()
confirmpassword = self.confirmpasswordfield.text()
if len(user)==0 or len(password)==0 or len(confirmpassword)==0:
self.error.setText("Veuillez remplir tous les champs")
elif password!=confirmpassword:
self.error.setText("Les mots de passes ne correspondent pas")
else :
conn = sqlite3.connect("logindata.db")
cur = conn.cursor()
user_info = [user, password]
cur.execute('INSERT INTO login_info (username, password) VALUES (?,?)', user_info)
conn.commit()
conn.close()
app = QApplication(sys.argv)
welcome = WelcomeScreen()
widget = QtWidgets.QStackedWidget()
widget.addWidget(welcome)
widget.setFixedHeight(800)
widget.setFixedHeight(1200)
widget.show()
try:
sys.exit(app.exec_())
except:
print("Exiting") |
Partager