ISSUE 14: Ajouter un support graphique pour gérer les utilisateurs
Ajout d'utilisateur via support graphique
Cet issue n'est pour le moment résolu que sous la forme d'ébauche, pour mettre en place une interaction entre le support graphique et l'ajout au sein d'UserManager
de nouveaux utilisateurs.
Support graphique
La scène est créée au travers d'un fichier userManageView.fxml, un document écrit en XML permettant de décrire les différents aspects graphiques affichés sur la scène. (voir ticket #15)
Sur la scène, on retrouve des champs pour y entrer le nom d'utilisateur et mot de passe, et des boutons radio permettant de choisir entre un rôle d'Admin ou d'Agent. Dans une version ultérieur, on supprimerait ce choix car on estime qu'une personne lambda ne peut s'inscrire en tant qu'administrateur du logiciel qu'il utilise.
Néanmoins, le formulaire actuel a pour but de s'assurer que, lors de l'ajout d'un nouvel utilisateur, qu'il soit Admin ou Agent, cet ajout s'effectue et et bien. On aura par ailleurs des informations dans l'invite de commande pour confirmer que l'ajout s'est bien effectué.
Classe ManagingUserController
Comme pour la classe LoginController
, on a les différentes méthodes inter-réagissant avec ce que l'utilisateur fait sur la scène. Cette classe comporte les méthodes suivantes:
- handleButtonClick: La méthode s'active lorsqu'on clique sur le bouton Inscription. Elle récupère alors les différentes valeurs entrées par l'utilisateur, ainsi que les informations sur le rôle qu'aura cet utilisateur avant de les vérifier. Dans le cas où les différents champs sont bien remplis ou que le nom d'utilisateur n'existe pas déjà, on entre dans la fonction addNewUser( ) et à sa sortie, on retourne un message à l'utilisateur attestant son ajout.
-
addNewUser: Cette méthode récupère les informations entrées dans le formulaire et s'en sert pour ajouter un nouvel utilisateur au sein de
UserManager
- handleAgentButtonClick et handleAdminButtonClick: Ces deux méthodes fonctionnent en miroir: si on sélectionne le bouton radio "Admin", alors le bouton "Agent" se désélectionne et vice-versa. Cette méthode permet d'empêcher l'utilisateur de s'attribuer plusieurs rôle, ou un rôle inexistant au sein du programme.
- HandleBackButtonClick: Cette méthode permet, lorsqu'on clique sur le bouton Retour de changer de scène pour retourner sur la page de connexion d'origine.(voir ticket #15)
- buttonIsPressed et buttonIsReleased: Ces deux méthodes ont un but esthétique. Lorsque l'utilisateur appuie sur le bouton Login, celui-ci deviens plus foncé lors de la pression, et lorsqu'on le relâche, retrouve sa couleur normal. Ces méthodes ont été rapidement implémenté pour s'assurer qu'il y avait bien interaction avec le bouton.
- setGraphicUserInterface: Fait une association entre la classe courante et le GUI