示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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()
示例#7
0
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
示例#8
0
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]
示例#9
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
示例#10
0
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
示例#11
0
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
示例#12
0
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)