def getMenu(): global ro if ro is None: try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None cursor = db.cursor() value = ((today_date - start_date).days % 14) + 1 # selection du chiffre du repas try: cursor.execute( """ SELECT menu, prix FROM Menu WHERE id=%s """, (value, )) except Exception as e: print(e) eel.afficher('Probleme inattendue survenu') return None val = cursor.fetchall() ro = f"{val[0][0]} | {val[0][1]}" return ro
def getCuisinier(): global cuisinier global users if cuisinier is None: value = (today_date - start_cuisine).days % len(users) try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None cursor = db.cursor() try: cursor.execute( """ SELECT username FROM Membre WHERE cuisinier=%s """, (value, )) except Exception as e: print(e) eel.afficher("Une erreur s'est produite") return None cuisinier = cursor.fetchall() cuisinier = cuisinier[0][0].capitalize() return cuisinier
def addCotisation(usr, somme, mois, annee): try: db = database() except: eel.afficher("Probleme au niveau de la connexion...") return None else: cursor = db.cursor() try: cursor.execute( ''' UPDATE Argent SET paye=paye+%s WHERE username=%s AND mois=%s AND annee=%s ''', (somme, usr, mois, annee)) except: db.rollback() return False try: cursor.execute( ''' INSERT INTO Transaction(username, somme, motif, date) VALUES (%s, %s, %s, %s) ''', (usr, somme, "cotisation", datetime.today())) except: db.rollback() return False else: db.commit() return True
def delUser(usr, passwd): global user val = login(user, passwd) if val == True: pass else: eel.afficher(val) return None try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() try: cursor.execute("DELETE FROM Membre Where username=%s", (usr, )) db.commit() return True except: db.rollback() return False
def assigner(usr, somme, mois, annee): try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() if usr == 'foyer': try: cursor.execute( """ SELECT 1 FROM Argent WHERE mois=%s AND annee=%s """, (mois, annee)) except: return False if len(cursor.fetchall()) == 0: sql = "INSERT INTO Argent(username, mois, annee, apayer) VALUES (%s, %s, %s, %s)" data = [] global users for user in users: data.append((user[0], mois, annee, somme)) try: cursor.executemany(sql, data) except: db.rollback() return False db.commit() return True else: try: cursor.execute( ''' UPDATE Argent SET apayer=%s WHERE mois = %s AND annee = %s ''', (somme, mois, annee)) except: db.rollback() return False db.commit() return True else: try: cursor.execute( ''' UPDATE Argent SET apayer=%s WHERE username = %s AND mois = %s AND annee = %s ''', (somme, usr, mois, annee)) except: db.rollback() return False db.commit() return True
def privilege(): global user try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() cursor.execute( ''' SELECT privilege FROM Membre WHERE username=%s ''', (user, )) return cursor.fetchall()
def getMember(): global users if users is None: try: db = database() except: eel.afficher("Probleme au niveau de la connexion...") return None else: cursor = db.cursor() cursor.execute(''' SELECT username FROM Membre; ''') users = cursor.fetchall() return users else: return users
def resteSomme(usr): usr = usr.lower() try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None cursor = db.cursor() try: cursor.execute( """ SELECT apayer - paye FROM Argent WHERE username=%s AND mois=%s AND annee=%s """, (usr, mois_globale[datetime.today().month - 1], datetime.today().year)) except: eel.afficher("Un probleme inattendue est survenue") return None return cursor.fetchall()[0]
def passwd(usr, password): # fonction pour changer de mot de passe user password = hashlib.sha1(password.encode()).hexdigest() try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() try: cursor.execute("UPDATE Membre SET password=%s WHERE username=%s", (password, usr)) db.commit() return True except: db.rollback() return False
def addDepense(usr, date, somme, motif): try: db = database() except: eel.afficher( "Une erreur s'est produite lors de la connexion au base de donnée") return None else: cursor = db.cursor() if motif.lower() == 'repas': try: cursor.execute( ''' INSERT INTO Repas(username, somme, date) VALUES(%s, %s, %s) ''', (usr, somme, date)) except: db.rollback() return False else: try: cursor.execute( ''' INSERT INTO Depense(username, somme, date, motif) VALUES(%s, %s, %s, %s) ''', (usr, somme, date, motif)) except: db.rollback() return False try: cursor.execute( ''' INSERT INTO Transaction(username, somme, motif, date) VALUES (%s, %s, %s, %s) ''', (usr, -int(somme), motif, datetime.today())) except: db.rollback() return None else: db.commit() return True
def addUser(usr, password): password = hashlib.sha1(password.encode()).hexdigest() try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() try: cursor.execute( """ INSERT INTO Membre(username, password, cuisinier, ordures) SELECT %s, %s, max(cuisinier)+1, max(ordures)+1 FROM Membre """, (usr.lower(), password)) db.commit() return True except Exception as e: print('ito ny bug >>', e) db.rollback() return False
def getHistory(): try: db = database() except: eel.afficher("Une erreur s'est produite lors de la connexion") return None else: cursor = db.cursor() try: cursor.execute(''' SELECT * FROM Transaction ORDER BY id DESC LIMIT 20 ''') except: return (False, None) else: value = cursor.fetchall() for i in range(len(value)): value = list(value) value[i] = list(value[i]) value[i][2] = value[i][2].strftime(r"%d/%m/%Y à %H:%M:%S") return (True, value)