def deleteUserAccount(self, previous_menu): """ Fonction permetant à l'administrateur de supprimer un compte utilisateur à partir de son pseudo Args : previous_menu : Menu précédent dans lequel l'utilisateur est renvoyé à la fin de la fonction """ if not self.connecte: input("Vous n'êtes pas connecté ") else: # la view va aller demander à l'utilisateur quel compte il veut supprimer à partir de son username username = AdminView.displayDeleteUserAccount() # la fonction de adminDAO va aller supprimer ce compte dans la base AdminDAO.deleteUserAccount(username) input("Le compte a bien été supprimé \n Appuyez sur Entrer pour continuer ") return MenuInterface(previous_menu)
def resetDatabase(self, previous_menu): """ Fonction permetant à l'administrateur de réinitialiser la base de données en conservant uniquement les comptes utilisateurs Args : previous_menu : Menu précédent dans lequel l'utilisateur est renvoyé à la fin de la fonction """ if not self.connecte: input("Vous n'êtes pas connecté ") else: confirm = AdminView.displayResetDataBase() if confirm == 'SUPPRIMER': AdminDAO.initDatabase() users = AdminDAO.getAllUserData() for user in users: print("• Nom : "+user[1]+", Administrateur : " + str(user[3]) + ", Scores : " + str(user[5]) + "\n") input(" \n Suppression terminée ") else: input("La suppression n'a pas abouti ") return MenuInterface(previous_menu)
def seeUserData(self, previous_menu): """ Fonction permetant à l'administrateur de visualiser l'ensemble des comptes utilisateurs Args : previous_menu : Menu précédent dans lequel l'utilisateur est renvoyé à la fin de la fonction """ if not self.connecte: input("Vous n'êtes pas connecté ") else: users = AdminDAO.getAllUserData() for user in users: print("• Nom : "+user[1]+" || Administrateur : " + str(user[3]) + "\n") input(" \n Affichage terminé ") return MenuInterface(previous_menu)
def connexion(self): """ Fonction de connexion propre à l'administrateur """ (username, motdepasse) = GuestView.displayConnexion() # code pour hasher le mdp hash_mdp = hashlib.sha256(motdepasse.encode()).hexdigest() # on demande à GuestDAO de créer l'instance de l'objet admin = AdminDAO.checkAccounttoData(username, hash_mdp) if admin: input("Vous êtes connecté en tant qu'admin ! ") self.connecte = True else: input("Vous ne possédez pas les droits d'administrateur ") return admin
def seeGameData(self, previous_menu): """ Fonction permetant à l'administrateur de visualiser l'ensemble des parties de jeu, terminées ou non Args : previous_menu : Menu précédent dans lequel l'utilisateur est renvoyé à la fin de la fonction """ if not self.connecte: input("Vous n'êtes pas connecté ") else: games = AdminDAO.getAllGameData() for game in games: print("• Nom du Jeu : "+game[1]+"|| Joueurs : " + str(game[2]) + "|| Scores : " + str(game[3]) + "\n") input(" \n Affichage terminé ") return MenuInterface(previous_menu)
def testDeleteUserAccount(self): self.assertEqual("Le compte a bien été supprimé", AdminDAO.DeleteUserAccount( "chloé", "3107")) #mettre des valeurs
def testSeeUserAccount(self): self.assertEqual("Le compte a bien été supprimé", AdminDAO.getAllUserData("chloé"))
def testAddAccounttoData(self): GuestDAO.addAccounttoData("chloé", "3107") users = GuestDAO.addAccounttoData("chloé", "3107") AdminDAO.deleteUserAccount("chloé") self.assertIsNotNone(users)
def testCheckAccounttoData(self): GuestDAO.addAccounttoData("chloé", "3107") idUser = GuestDAO.checkAccounttoData("chloé", "3107") AdminDAO.deleteUserAccount("chloé") self.assertIsNotNone(idUser)