Added choice if you want to create a default database or not
This commit is contained in:
parent
a57ec51965
commit
4d1a49bee8
3 changed files with 17 additions and 9 deletions
18
main.py
18
main.py
|
@ -1,16 +1,22 @@
|
|||
# Tkinter
|
||||
from tkinter import IntVar, Checkbutton, LabelFrame, PhotoImage, Scrollbar, Listbox, Entry, Button, Label, Frame, Tk, Toplevel
|
||||
from tkinter.ttk import Combobox
|
||||
from tkinter.messagebox import showerror, showinfo, showwarning, askyesno
|
||||
from tkinter.filedialog import askopenfile
|
||||
# Regex
|
||||
from re import sub
|
||||
|
||||
from users import Utilisateurs # import de mon fichier pour gérer la base de donnée
|
||||
# Import des fichiers pour gérer la base de donnée
|
||||
from users import Utilisateurs
|
||||
from stock import Stock
|
||||
|
||||
class GesMag:
|
||||
"""Programme de Gestion d'une caise de magasin."""
|
||||
def __init__(self) -> None:
|
||||
def __init__(self, presentation: bool = False) -> None:
|
||||
"""Instancie quelques variables pour plus de clareté."""
|
||||
Utilisateurs().creationTable(presentation) # on créer la table utilisateurs si elle n'existe pas déjà
|
||||
Stock().creationTable(presentation) # on créer la table du stock si elle n'existe pas déjà
|
||||
|
||||
self.parent = Tk() # fenêtre affiché à l'utilisateur
|
||||
self.parent.resizable(False, False) # empêche la fenêtre d'être redimensionnée
|
||||
self.f = Frame(self.parent) # `Frame` affiché à l'écran
|
||||
|
@ -20,8 +26,6 @@ class GesMag:
|
|||
def demarrer(self) -> None:
|
||||
"""Lance le programme GesMag."""
|
||||
self.font = ("Comfortaa", 14) # police par défaut
|
||||
Utilisateurs().creationTable() # on créer la table utilisateurs si elle n'existe pas déjà
|
||||
Stock().creationTable() # on créer la table du stock si elle n'existe pas déjà
|
||||
|
||||
self._interfaceConnexion() # on créer la variable `self.f` qui est la frame a affiché
|
||||
self.f.grid() # on affiche la frame
|
||||
|
@ -730,4 +734,8 @@ class GesMag:
|
|||
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")
|
||||
GesMag().demarrer()
|
||||
"""
|
||||
si presentation = True alors une base de donnée par défaut sera généré.
|
||||
si presentation = False ou n'est même pas mentionné, alors aucune base de donnée par défaut ne sera généré.
|
||||
"""
|
||||
GesMag(presentation = True).demarrer()
|
||||
|
|
4
stock.py
4
stock.py
|
@ -7,7 +7,7 @@ class Stock(BaseDeDonnees):
|
|||
def __init__(self):
|
||||
super().__init__(r"db.sqlite3")
|
||||
|
||||
def creationTable(self) -> None:
|
||||
def creationTable(self, presentation: bool = False) -> None:
|
||||
"""Créer la table qui stocker les stocks."""
|
||||
requete = """
|
||||
CREATE TABLE IF NOT EXISTS stocks (
|
||||
|
@ -21,7 +21,7 @@ class Stock(BaseDeDonnees):
|
|||
"""
|
||||
self.requete(requete)
|
||||
# Ajout d'un stock par défaut si aucun stock n'existe dans la base de donnée
|
||||
if len(self.listeStocks()) == 0:
|
||||
if len(self.listeStocks()) == 0 and presentation:
|
||||
# Créer un dictionnaire d'éléments pour mieux voir ce que l'on ajoute à la base de donnée
|
||||
defaut = {
|
||||
"fruits legumes": [
|
||||
|
|
4
users.py
4
users.py
|
@ -5,7 +5,7 @@ class Utilisateurs(BaseDeDonnees):
|
|||
def __init__(self):
|
||||
super().__init__(r"db.sqlite3")
|
||||
|
||||
def creationTable(self) -> None:
|
||||
def creationTable(self, presentation: bool = False) -> None:
|
||||
"""Créer la table qui stocker les utilisateurs."""
|
||||
requete = """
|
||||
CREATE TABLE IF NOT EXISTS utilisateurs (
|
||||
|
@ -24,7 +24,7 @@ class Utilisateurs(BaseDeDonnees):
|
|||
"""
|
||||
self.requete(requete)
|
||||
# Ajout d'un utilisateur par défaut si aucun utilisateur n'existe dans la base de donnée
|
||||
if len(self.listUtilisateurs()) == 0:
|
||||
if len(self.listUtilisateurs()) == 0 and presentation:
|
||||
self.ajoutUtilisateur(
|
||||
pseudo="admin",
|
||||
passe="P@ssword",
|
||||
|
|
Reference in a new issue