68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
# -*-coding:utf8 -*
|
|
|
|
import DB.dbLink as db
|
|
|
|
class User:
|
|
"""Modèle utilisateur. Contient un objet utilisateur"""
|
|
|
|
def __init__(self, id):
|
|
"""Constructeur créant utilisateur à partir d'un ID"""
|
|
self.identifiant = id
|
|
|
|
#On va chercher l'user en base de données
|
|
link = db.DBLink()
|
|
query = "SELECT u.IDUtil AS id_bdd, u.Nom AS nom, u.Prénom AS prenom, u.Identifiant AS identifiant, u.MdP AS mdp, u.SalaireBrut AS cout, u.IDFonc AS id_fonc, f.Intitulé AS fonction, p.Libelle AS pole \
|
|
FROM utilisateur AS u \
|
|
JOIN fonction AS f ON f.IDFonc = u.IDFonc \
|
|
JOIN pole AS p ON p.IDPole = p.IDPole \
|
|
WHERE u.identifiant = %s"
|
|
result = link.query(query, [self.identifiant, ])
|
|
|
|
#On remplit l'objet à partir des éléments récupérés en BDD
|
|
for id_bdd, nom, prenom, identifiant, mdp, cout, id_fonc, fonction, pole in result:
|
|
self._id_table = id_bdd
|
|
self.fonction = fonction
|
|
self.pole = pole
|
|
self.nom = nom
|
|
self.prenom = prenom
|
|
self.identifiant = identifiant
|
|
self._mdp = mdp
|
|
self.cout = cout
|
|
self.id_fonc = id_fonc
|
|
|
|
|
|
def hydrate(self, nom, prenom, identifiant, mdp, cout, idfonc, fonction, pole):
|
|
"""Hydratation de l'objet"""
|
|
self.id_fonc = idfonc
|
|
self.fonction = fonction
|
|
self.pole = pole
|
|
self.nom = nom
|
|
self.prenom = prenom
|
|
self.identifiant = identifiant
|
|
self._mdp = mdp
|
|
self.cout = cout
|
|
|
|
def register(self):
|
|
"""Enregistrement de l'utilisateur"""
|
|
link = db.DBLink()
|
|
query = "INSERT INTO utilisateur \
|
|
(IDFonc, Nom, Prénom, Identifiant, MdP, SalaireBrut) \
|
|
VALUES (%s, %s, %s, %s, %s, %s)"
|
|
link.commit(query, [self.id_fonc, self.nom, self.prenom, self.identifiant, self._mdp, self.cout])
|
|
|
|
|
|
def update(self):
|
|
"""Mise à jour de l'utilisateur"""
|
|
link = db.DBLink()
|
|
query = "UPDATE utilisateur \
|
|
SET Nom = %s, Prénom = %s, Identifiant = %s, MdP = %s, IDFonc = %s, SalaireBrut = %s \
|
|
WHERE IDUtil = %s"
|
|
link.commit(query, [self.nom, self.prenom, self.identifiant, self._mdp, self.id_fonc, self.cout, self._id_table])
|
|
|
|
def delete(self):
|
|
"""supprimer un utilisateur"""
|
|
|
|
|
|
def getRoles(self):
|
|
"""liste des roles de l'utilisateur"""
|