Commit c3246614 authored by Matthieu Solan's avatar Matthieu Solan
Browse files

interface/.idea/.gitignore

parent f8304d23
from DataMapper import *
class AdherentDataMapper(DataMapper):
def selectAdherents(self):
connection = self.connect()
try:
cursor : psycopg2.extensions.cursor = connection.cursor()
cursor.execute("SELECT * FROM public.adherent")
data = cursor.fetchall()
print(data)
except Exception as err:
print(err)
finally:
conn.close()
datamapper = AdherentDataMapper()
datamapper.selectAdherents()
\ No newline at end of file
import psycopg2
import psycopg2.extensions
class DataMapper:
# Chaîne de connexion
host = "localhost"
user = "python_client"
password = "python_client"
database = "ai23-projet"
def connect(self) -> psycopg2.extensions.connection:
res = None
try:
res = psycopg2.connect(
host=self.host,
database=self.database,
user=self.user,
password=self.password)
except psycopg2.OperationalError:
print("Database connection error ")
return res
dataMapper = DataMapper()
conn = dataMapper.connect()
print(type(conn))
\ No newline at end of file
from typing import Dict, Tuple
import psycopg2
from DataMapper import DataMapper
class RessourceDataMapper(DataMapper):
def getAvailableExemplaires(self) -> Dict[str, Tuple[str, str]]:
pass
\ No newline at end of file
from enum import Enum
import psycopg2
from DataMapper import DataMapper
class Roles(Enum):
UNAUTHORIZED = -1
BLACKLISTED = -2
ADHERENT = 1
PERSONNEL = 2
class UserDataMapper(DataMapper):
def checkUser(self, login : str, password: str) -> Roles:
connection = self.connect()
try:
cursor: psycopg2.extensions.cursor = connection.cursor()
cursor.execute(f"SELECT * FROM utilisateur WHERE login = '{login}' AND motDePasse = '{password}'")
data = cursor.fetchone()
print(data)
if data is None:
return Roles.UNAUTHORIZED
cursor.execute(f"SELECT * FROM personnel WHERE login = '{login}'")
data = cursor.fetchone()
if data is not None:
return Roles.PERSONNEL
cursor.execute(f"SELECT * FROM adherent WHERE login = '{login}'")
data = cursor.fetchone()
if data is not None:
if data[5]: # If Blacklisted
return Roles.BLACKLISTED
return Roles.ADHERENT
except Exception as err:
print(err)
finally:
connection.close()
dataMapper = UserDataMapper()
role = dataMapper.checkUser("lbernard", "47FEADQ665D788")
print(role)
\ No newline at end of file
from AdherentDataMapper import *
from UserDataMapper import UserDataMapper, Roles
def UserConnection():
#permet à l'utilisateur de saisir ces identifiants de connexion
print("---------Bonjour, bienvenue à la bibliothéque!!!----------")
login = input("Entrer votre login:")
mdp = input("Entrer votre mot de passe:")
return (login,mdp)
def addAdherent():
print("--------------Ajout d'un adherent--------------------------")
login = input("Entrer un nouveaux login:")
mdp = input("Entrer un nouveaux mot de passse:")
nom = input("Entrer votre nom:")
prenom = input("Entrer votre prenom:")
adresse = input("Entrer votre adresse:")
adressemail = input("Entrer votre adresse mail:")
tel = input("Entrer votre numéro de téléphone")
dateNaissance = input("Entrer votre date de naissance:")
def actionAdherent():
print("------------------------MENU--------------------------------")
print("1 : Voir les exemplaires disponibles")
print("2 : Voir les explaires que vous avez emprunté")
action = int(input("veuillez saisir le numéro de votre action:"))
return(action)
def actionMember():
print("------------------------MENU--------------------------------")
print("1 : Gérer les emprunts.")
print("2 : Gérer les sanctions.")
print("3 : Gérer les resources.")
print("4 : Voir les statistiques de la bibliothèque." )
print("5 : Gérer les utilisateurs.")
action = int(input("veuillez saisir le numéro de votre action:"))
return (action)
def loaning():
print("---------------------Gérer les emprunts---------------------------")
print("1 : Faire un prêt.")
print("2 : Faire une réservation.")
print("3 : Faire un retour.")
action = int(input("veuillez saisir le numéro de votre action:"))
return (action)
def sanction():
print("---------------------Gérer les sanctions---------------------------")
print("1 : Saisir une sanction.")
print("2 : Blacklister un adhérent.")
print("3 : Historique des sanctions.")
action = int(input("veuillez saisir le numéro de votre action:"))
return (action)
def userManager():
print("---------------------Gérer les utilisateurs---------------------------")
print("1 : Ajouter un adhérent.")
print("2 : Ajouter un membre du personnel.")
print("3 : Supprimer un adhérent.")
print("4 : Supprimer un membre du personnel.")
action = int(input("veuillez saisir le numéro de votre action:"))
return (action)
def Menu():
login, mdp = UserConnection()
print(login , mdp)
dataMapper = UserDataMapper()
role = dataMapper.checkUser(login,mdp)
if(role==Roles.ADHERENT):
action=actionAdherent()
if(action==1):
else if(action==2):
else if(role==Roles.PERSONNEL):
# actionMember()
else if(role==Roles.UNAUTHORIZED):
print("Vous n'êtes pas enregistré à la bibliothéque.")
else if(role==Roles.BLACKLISTED)
print("Vous faites partie de la liste noir de la bibliothéque.\nVous ne pouvez donc plus faire d'emprunt")
Menu()
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment