finalizing manager gui :
- adding buttons and label
This commit is contained in:
parent
2c8189d651
commit
5a6bf1bf19
1 changed files with 27 additions and 6 deletions
33
main.py
33
main.py
|
@ -1,6 +1,6 @@
|
|||
import tkinter.messagebox as messagebox
|
||||
|
||||
from tkinter import IntVar, Checkbutton, Scrollbar, Listbox, Entry, Button, Label, Frame, Tk, Toplevel
|
||||
from tkinter import IntVar, Checkbutton, LabelFrame, Scrollbar, Listbox, Entry, Button, Label, Frame, Tk, Toplevel
|
||||
from re import sub
|
||||
|
||||
from users import Utilisateurs # import de mon fichier pour gérer la base de donnée
|
||||
|
@ -76,7 +76,8 @@ class GesMag:
|
|||
"""Détermine si une date de naissance suit la politique du programme ou non."""
|
||||
if len(naissance) == 0:
|
||||
return False
|
||||
if sub(r"\d{4}\/\d{2}\/\d{2}", '', naissance) != '':
|
||||
# lien pour mieux comprendre ce qui se passe : https://www.debuggex.com/r/hSD-6BfSqDD1It5Z
|
||||
if sub(r"[0-9]{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[1-2][0-9]|3[0-1])", '', naissance) != '':
|
||||
return False
|
||||
return True
|
||||
|
||||
|
@ -197,7 +198,7 @@ class GesMag:
|
|||
"""Affiche l'interface du manager."""
|
||||
manager = Utilisateurs().recuperationUtilisateur(id=id)
|
||||
self.parent.title(f"Manager {manager['nom']} {manager['prenom']}")
|
||||
self.dimensionsFenetre(self.parent, 530, 720)
|
||||
self.dimensionsFenetre(self.parent, 580, 310)
|
||||
|
||||
# Suppresssion de la dernière Frame
|
||||
self.f.destroy()
|
||||
|
@ -387,12 +388,22 @@ class GesMag:
|
|||
utilisateur = Utilisateurs().recuperationUtilisateur(pseudo=listeUtilisateurs.get(element[0]).split('(')[0][:-1])
|
||||
enfant = Toplevel(self.f) # cf. l'explication dans `__ajouterUtilisateur`
|
||||
enfant.title(f"{utilisateur['nom']} {utilisateur['prenom']}")
|
||||
|
||||
# Informations sur l'utilisateur
|
||||
frameInfos = LabelFrame(enfant, text="Informations utilisateur", font=self.font)
|
||||
frameInfos.grid(column=0, row=0, sticky='n', padx=5)
|
||||
utilisateur["metier"] = "Manager" if utilisateur["metier"] == 0 else "Caissier"
|
||||
del utilisateur["passe"] # le manager ne doit pas connaître le mot de passe de l'utilisateur
|
||||
for idx, cle in enumerate(utilisateur):
|
||||
Label(enfant, text=f"{cle.capitalize()} :").grid(column=0, row=idx, sticky='e')
|
||||
Label(enfant, text=utilisateur[cle]).grid(column=1, row=idx, sticky='w')
|
||||
Button(enfant, text="Quitter", command=enfant.destroy).grid(column=3, row=0, sticky='w')
|
||||
Label(frameInfos, text=f"{cle.capitalize()} :").grid(column=0, row=idx + 1, sticky='e')
|
||||
Label(frameInfos, text=utilisateur[cle]).grid(column=1, row=idx + 1, sticky='w')
|
||||
|
||||
|
||||
frameSuivi = LabelFrame(enfant, text="Suivi des ventes", font=self.font)
|
||||
frameSuivi.grid(column=1, row=0, sticky='n', padx=5)
|
||||
Label(frameSuivi, text="Aucun résultat récemment enrengistré").grid()
|
||||
|
||||
Button(enfant, text="Quitter", command=enfant.destroy).grid(column=0, row=1, columnspan=2)
|
||||
|
||||
Button(self.f, text="Ajouter un caissier", font=self.font, command=lambda: __ajouterUtilisateur(1)).grid(column=0, row=2)
|
||||
Button(self.f, text="Retirer un caissier", font=self.font, command=lambda: __retirerUtilisateur(1)).grid(column=1, row=2)
|
||||
|
@ -441,6 +452,14 @@ class GesMag:
|
|||
else: # ce cas est là au cas où mais n'est pas sensé être appellé
|
||||
raise NameError("Métier inconnu.")
|
||||
|
||||
# Label d'information
|
||||
Label(self.f, text="""
|
||||
Double-cliquez sur un
|
||||
utilisateur de la liste
|
||||
pour obtenir des informations
|
||||
supplémentaire sur son sujet.
|
||||
""", justify="right").grid(column=1, row=4, rowspan=2, sticky="e")
|
||||
|
||||
Label(self.f, text="Liste des utilisateurs", font=self.font).grid(column=0, row=4) # titre
|
||||
# On définit une barre pour pouvoir scroller dans la liste
|
||||
scroll = Scrollbar(self.f, orient="vertical")
|
||||
|
@ -460,6 +479,8 @@ class GesMag:
|
|||
Checkbutton(filtres, text="Manager", variable=managerVerif, command=lambda: __ajouterUtilisateursListe(listeUtilisateurs)).grid(sticky='w')
|
||||
Checkbutton(filtres, text="Caissier", variable=caissierVerif, command=lambda: __ajouterUtilisateursListe(listeUtilisateurs)).grid(sticky='w')
|
||||
|
||||
Button(self.f, text="Passer en mode caissier", font=self.font).grid(column=0, row=6, columnspan=3, pady=10)
|
||||
|
||||
if __name__ == "__main__":
|
||||
"""Application "GesMag" pour le module de Programmation d'interfaces (2021-2022)"""
|
||||
print("-- Compte par défaut --\nNom d'utilisateur: admin\nMot de passe: P@ssword")
|
||||
|
|
Reference in a new issue