From d7cf14078bdada5a76610a56a163e46ea65a15b2 Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Tue, 16 Jan 2024 23:29:00 +0100 Subject: [PATCH 1/9] travail sur le formulaire de modification --- .../formulaires/FormulaireModification.razor | 144 +++++++++++------- .../FormulaireModification.razor.cs | 16 +- .../utilisateurs/ModifierUtilisateur.razor | 10 +- 3 files changed, 97 insertions(+), 73 deletions(-) diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor index ebca44a..06b5d67 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor @@ -1,58 +1,88 @@ - - - - - -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- - - -
\ No newline at end of file + + +
+ + + Pseudo + + + + + + + + + +
+ +
+ + + Prenom + + + + + + + + + +
+ +
+ + + Nom + + + + + + + + + +
+ +
+ + + Mail + + + + + + + + + +
+ +
+ + + Mot de passe + + + + + + + + + +
+ +
+ + +
+ +
\ No newline at end of file diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs index 5b1c929..3e786e9 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs @@ -1,3 +1,4 @@ +using Blazorise; using Microsoft.AspNetCore.Components; using VeraxShield.composants.formulaires.modeles; using VeraxShield.factories; @@ -11,6 +12,9 @@ namespace VeraxShield.composants.formulaires [Parameter] public Utilisateur Utilisateur {get; set;} + [Parameter] + public Validations Validations {get; set;} + public FormulaireAjoutModele Modele {get; set;} [Inject] @@ -24,21 +28,14 @@ namespace VeraxShield.composants.formulaires if (this.Utilisateur != null) { - Console.WriteLine("Le mec encore trouvé : " + this.Utilisateur.Pseudo); Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true); this.Modele = UtilisateursFactory.toModele(this.Utilisateur); } else { - Console.WriteLine("Le mec nul cette fois..."); Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true); this.Modele = UtilisateursFactory.toModele(temp); } - - - - - Console.WriteLine("Fin du onParameterEnfant"); await base.OnParametersSetAsync(); } @@ -50,5 +47,10 @@ namespace VeraxShield.composants.formulaires this.NavigationManager.NavigateTo("/utilisateurs/liste"); } + + protected async Task OnAnnulation() + { + this.NavigationManager.NavigateTo("/utilisateurs/liste"); + } } } \ No newline at end of file diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor index 0ec628f..9472ee6 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor +++ b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor @@ -6,13 +6,5 @@ - - -
- - - - -
- + \ No newline at end of file From 3b2cf13462a5aefe848fca075fbe25221a8b232c Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Tue, 16 Jan 2024 23:40:01 +0100 Subject: [PATCH 2/9] travail sur le formulaire de modification --- .../composants/formulaires/FormulaireModification.razor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs index 3e786e9..5914d82 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor.cs @@ -28,7 +28,7 @@ namespace VeraxShield.composants.formulaires if (this.Utilisateur != null) { - Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true); + //Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true); this.Modele = UtilisateursFactory.toModele(this.Utilisateur); } else { From cd779622f0c8343a47be8f1732212b3a2cf31c5e Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Wed, 17 Jan 2024 09:25:58 +0100 Subject: [PATCH 3/9] travail sur le formulaire de modification --- .../formulaires/FormulaireModification.razor | 2 +- .../pages/utilisateurs/ModifierUtilisateur.razor | 8 ++++++-- .../utilisateurs/ModifierUtilisateur.razor.cs | 2 +- .../formulaires/FormulaireConnexion.css | 13 +++++++++++++ .../pages/utilisateurs/ModifierUtilisateur.css | 16 ++++++++++------ 5 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor index 06b5d67..246e1d8 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor @@ -6,7 +6,7 @@ Pseudo - + diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor index 9472ee6..758b4e9 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor +++ b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor @@ -6,5 +6,9 @@ - - \ No newline at end of file +
+
+ +
+ +
diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor.cs b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor.cs index ff01048..785c61e 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor.cs +++ b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor.cs @@ -14,7 +14,7 @@ namespace VeraxShield.pages.utilisateurs [Inject] private IUtilisateursDataService utilisateursDataService {get; set;} - private Utilisateur utilisateur {get; set;} + //private Utilisateur utilisateur {get; set;} protected override async Task OnInitializedAsync() { diff --git a/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css new file mode 100644 index 0000000..c85d298 --- /dev/null +++ b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css @@ -0,0 +1,13 @@ +/* .container { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* 100% de la hauteur de la vue */ +} + +.formulaire-modification { + width: 50%; + padding: 20px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ + border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ +} */ \ No newline at end of file diff --git a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css index 09b6945..f2d3b99 100644 --- a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css +++ b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css @@ -1,9 +1,13 @@ -.test { - /* background-color: white; */ - background-color: #8EC5FC; - background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%); +.container { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* 100% de la hauteur de la vue */ +} +.formulaire-modification { + width: 50%; padding: 20px; - border-radius: 10px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre légère */ + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ + border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ } \ No newline at end of file From bbdcc2715a7499d68d905388e5df9ec5ce3c5ea1 Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Wed, 17 Jan 2024 10:55:30 +0100 Subject: [PATCH 4/9] fin du design du formulaire de modification --- .../formulaires/FormulaireModification.razor | 10 +++- .../utilisateurs/ModifierUtilisateur.razor | 2 - .../formulaires/FormulaireConnexion.css | 13 ----- .../formulaires/FormulaireModification.css | 52 +++++++++++++++++++ .../utilisateurs/ModifierUtilisateur.css | 7 +-- 5 files changed, 65 insertions(+), 19 deletions(-) delete mode 100644 VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css create mode 100644 VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireModification.css diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor index 246e1d8..8290282 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor @@ -1,3 +1,10 @@ + + + + +
+ +

Modifier l'utilisateur

@@ -85,4 +92,5 @@ Annuler
- \ No newline at end of file + + \ No newline at end of file diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor index 758b4e9..9253661 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor +++ b/VeraxShield/VeraxShield/pages/utilisateurs/ModifierUtilisateur.razor @@ -1,7 +1,5 @@ @page "/utilisateurs/modifier/{pseudo}" -

Modifier l'utilisateur

- diff --git a/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css deleted file mode 100644 index c85d298..0000000 --- a/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireConnexion.css +++ /dev/null @@ -1,13 +0,0 @@ -/* .container { - display: flex; - justify-content: center; - align-items: center; - height: 100vh; /* 100% de la hauteur de la vue */ -} - -.formulaire-modification { - width: 50%; - padding: 20px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ - border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ -} */ \ No newline at end of file diff --git a/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireModification.css b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireModification.css new file mode 100644 index 0000000..dd5ea0e --- /dev/null +++ b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireModification.css @@ -0,0 +1,52 @@ +/* Ajoutez ces styles à votre fichier CSS associé au composant (FormulaireModification.css) */ + +.formulaire-conteneur { + + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ + border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ + + /* background-color: black; */ + background-color: #8BC6EC; + background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%); + + color: white; /* Définit la couleur du texte à blanc */ + padding: 20px; /* Ajoute une marge intérieure pour plus de lisibilité */ +} + +.title-spacing { + margin-bottom: 20px; /* Ajoute une séparation entre le titre et le reste du contenu */ +} + +.field-container { + margin-bottom: 15px; /* Ajoute une séparation entre chaque champ */ +} + +/* Rend les labels en gras et blancs */ +.field-label { + font-weight: bold; + color: white; +} + +.btn-container { + display: flex; + justify-content: center; + margin-top: 20px; /* Ajoute une séparation entre les champs et les boutons */ +} + +.btn-se-connecter { + /* background-color: darkblue; */ + + /*background: #F3904F; fallback for old browsers */ + /*background: -webkit-linear-gradient(to right, #3B4371, #F3904F); Chrome 10-25, Safari 5.1-6 */ + /*background: linear-gradient(to right, #3B4371, #F3904F); W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ + + background: white; + color: black; + margin-right: 10px; /* Ajoute un espace entre les deux boutons */ +} + +.btn-s-inscrire { + background-color: white; + /* color: white; */ + color: black; +} diff --git a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css index f2d3b99..6f3b0c0 100644 --- a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css +++ b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/ModifierUtilisateur.css @@ -7,7 +7,8 @@ .formulaire-modification { width: 50%; - padding: 20px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ - border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ + /* background-color: green; + padding: 20px; */ + /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); Ajoute une ombre au formulaire */ + /* border-radius: 10px; Ajoute des bords arrondis au formulaire */ } \ No newline at end of file From e88de6c2f49c324bb699dd81a3331cc18120c39f Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Wed, 17 Jan 2024 11:20:54 +0100 Subject: [PATCH 5/9] correction d'un bug sur la modification d'utilisateurs --- .../formulaires/FormulaireModification.razor | 8 ++++++++ .../formulaires/FormulaireModification.razor.cs | 17 ++++++++++++++--- .../modeles/FormulaireAjoutModele.cs | 5 +++++ .../IUtilisateursDataService.cs | 1 + .../UtilisateursDataServiceFactice.cs | 6 ++++++ 5 files changed, 34 insertions(+), 3 deletions(-) diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor index 8290282..8cecd9f 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor @@ -83,6 +83,14 @@ +
+ + Utilisateur banni + +
+ + +
diff --git a/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor.cs b/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor.cs index 905e2f8..65a4551 100644 --- a/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor.cs +++ b/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor.cs @@ -20,7 +20,7 @@ namespace VeraxShield.composants.affichages.utilisateurs [Inject] private DonneurEtat DonneurEtat {get; set;} - private Utilisateur? utilisateurSelectionne; + public static Utilisateur? UtilisateurSelectionne; [Parameter] public ModalSuppressionUtilisateur Modal {get; set;} @@ -29,7 +29,7 @@ namespace VeraxShield.composants.affichages.utilisateurs { //await this.utilisateursDataService.resetDataUtilisateurs(); - this.utilisateurSelectionne = null; + DatagridUtilisateurs.UtilisateurSelectionne = null; DatagridUtilisateurs.Utilisateurs = await this.utilisateursDataService.getAllUtilisateurs(); await base.OnInitializedAsync(); } @@ -43,7 +43,7 @@ namespace VeraxShield.composants.affichages.utilisateurs public async Task fermetureModal(bool val) { if (val) { - await this.supprimerUtilisateur(this.utilisateurSelectionne); + await this.supprimerUtilisateur(DatagridUtilisateurs.UtilisateurSelectionne); } } @@ -64,16 +64,16 @@ namespace VeraxShield.composants.affichages.utilisateurs public void modifierUtilisateur() { - if (this.utilisateurSelectionne != null) + if (DatagridUtilisateurs.UtilisateurSelectionne != null) { - this.NavigationManager.NavigateTo("/utilisateurs/modifier/" + utilisateurSelectionne.Pseudo); + this.NavigationManager.NavigateTo("/utilisateurs/modifier/" + DatagridUtilisateurs.UtilisateurSelectionne.Pseudo); } } public async Task onClickBoutonSuppression(String Pseudo) { - this.utilisateurSelectionne = await this.utilisateursDataService.getUtilisateurFromPseudo(Pseudo); - if (this.DonneurEtat._utilisateurCourant.Pseudo != this.utilisateurSelectionne.Pseudo) + DatagridUtilisateurs.UtilisateurSelectionne= await this.utilisateursDataService.getUtilisateurFromPseudo(Pseudo); + if (this.DonneurEtat._utilisateurCourant.Pseudo != DatagridUtilisateurs.UtilisateurSelectionne.Pseudo) { await this.afficherModal(); } @@ -81,7 +81,7 @@ namespace VeraxShield.composants.affichages.utilisateurs public async Task onClickBoutonModification(String Pseudo) { - this.utilisateurSelectionne = await this.utilisateursDataService.getUtilisateurFromPseudo(Pseudo); + DatagridUtilisateurs.UtilisateurSelectionne = await this.utilisateursDataService.getUtilisateurFromPseudo(Pseudo); this.modifierUtilisateur(); } diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor index 8cecd9f..91182fd 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireModification.razor @@ -68,6 +68,21 @@ +
+ + + Role + + + + + + + + + +
+
diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs index f3c4c5f..ad7082f 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs @@ -29,10 +29,11 @@ namespace VeraxShield.composants.formulaires.modeles public String Mail { get; set; } [Required] - [RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le pseudo doit contenir uniquement des caractères alphanumériques.")] + [RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le mot de passe doit contenir uniquement des caractères alphanumériques.")] public String Mdp { get; set; } [Required] + [RoleExistant] public String Role { get; set; } [Required] diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs index a9cbea9..2e64ccd 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs @@ -16,17 +16,12 @@ namespace VeraxShield.composants.formulaires.modeles.attributsValidationCustoms foreach (Utilisateur u in DatagridUtilisateurs.Utilisateurs) { - if (u.Pseudo == pseudo) + if (u.Pseudo == pseudo && pseudo != DatagridUtilisateurs.UtilisateurSelectionne.Pseudo) { - pseudoExisteDeja = true; + return new ValidationResult("Le pseudo existe deja, choississez en un autre."); } } - if (pseudoExisteDeja) - { - return new ValidationResult("Le pseudo existe deja, choississez en un autre."); - } - return ValidationResult.Success; } } diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/RoleExistantAttribute.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/RoleExistantAttribute.cs new file mode 100644 index 0000000..e15f863 --- /dev/null +++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/RoleExistantAttribute.cs @@ -0,0 +1,33 @@ +using System.ComponentModel.DataAnnotations; + +namespace VeraxShield.composants.formulaires.modeles.attributsValidationCustoms +{ + public class RoleExistantAttribute : ValidationAttribute + { + private List RolesExistants {get; set;} + + public RoleExistantAttribute() + { + this.RolesExistants = new List(); + this.RolesExistants.Add("admin"); + this.RolesExistants.Add("modo"); + this.RolesExistants.Add("invite"); + this.RolesExistants.Add("redacteur"); + } + + protected override ValidationResult? IsValid(object? value, ValidationContext validationContext) + { + var role = (string)value; + + foreach (string roleListe in this.RolesExistants) + { + if (roleListe == role) + { + return ValidationResult.Success;; + } + } + + return new ValidationResult("Le role n'existe pas."); + } + } +} \ No newline at end of file From cfbcc7558c502bf0ed0780ba65c3f0267cfd92ea Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Wed, 17 Jan 2024 14:51:39 +0100 Subject: [PATCH 9/9] fin du travail sur le formulaire d'ajout --- .../modele/RequeteInscription.cs | 10 + .../formulaires/FormulaireAjout.razor | 173 ++++++++++++------ .../formulaires/FormulaireAjout.razor.cs | 37 ++-- .../modeles/FormulaireAjoutModele.cs | 2 +- .../utilisateurs/AjouterUtilisateur.razor | 13 +- .../utilisateurs/ListeUtilisateurs.razor | 2 +- .../formulaires/FormulaireAjout.css | 51 ++++++ .../pages/utilisateurs/AjouterUtilisateur.css | 14 ++ .../pages/utilisateurs/listeUtilisateurs.css | 7 +- 9 files changed, 228 insertions(+), 81 deletions(-) create mode 100644 VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireAjout.css create mode 100644 VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/AjouterUtilisateur.css diff --git a/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs b/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs index 9d99d90..d731368 100644 --- a/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs +++ b/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs @@ -1,10 +1,12 @@ using System.ComponentModel.DataAnnotations; +using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms; namespace VeraxShield.composants.formulaires.modeles { public class RequeteInscription { [Required] + [RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le mot de passe doit contenir uniquement des caractères alphanumériques.")] public string MotDePasse { get; set; } [Required] @@ -12,15 +14,23 @@ namespace VeraxShield.composants.formulaires.modeles public string MotDePasseConfirmation { get; set; } [Required] + [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le nom doit contenir uniquement des lettres.")] + [StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")] public string Nom { get; set; } [Required] + [StringLength(20, ErrorMessage = "Le prénom ne doit pas dépasser 20 caractères !")] + [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")] public string Prenom {get; set;} [Required] + [StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")] + [RegularExpression("^[a-zA-Z0-9_]+$", ErrorMessage = "Le pseudo contient des caractères interdits.")] + [PseudoCorrect] public string Pseudo { get; set; } [Required] + [EmailAddress(ErrorMessage = "Veuillez entrer une adresse email valide.")] public string Mail { get; set;} } } diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor index a2b4552..7073900 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor @@ -1,58 +1,115 @@ - - - - - - -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- -

- - - -
\ No newline at end of file +@using Blazorise.Components +@using System.ComponentModel.DataAnnotations; + + + + + +
+ +

Ajouter un utilisateur

+ + + +
+ + + Pseudo + + + + + + + + + +
+ +
+ + + Prenom + + + + + + + + + +
+ +
+ + + Nom + + + + + + + + + +
+ +
+ + + Mail + + + + + + + + + +
+ +
+ + + Role + + + + + + + + + +
+ +
+ + + Mot de passe + + + + + + + + + +
+ +
+ + +
+ +
+ +
diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs index 1eaf185..5f49787 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs @@ -1,7 +1,6 @@ -using System.Runtime.InteropServices; +using Blazorise; using Microsoft.AspNetCore.Components; using VeraxShield.composants.formulaires.modeles; -using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms; using VeraxShield.factories; using VeraxShield.modele.utilisateurs; using VeraxShield.services.UtilisateursDataService; @@ -10,36 +9,38 @@ namespace VeraxShield.composants.formulaires { public partial class FormulaireAjout { - [Inject] - private NavigationManager NavigationManager { get; set; } + + [Parameter] + public Validations Validations {get; set;} - public FormulaireAjoutModele Modele { get; set; } + public FormulaireAjoutModele Modele {get; set;} [Inject] - private IUtilisateursDataService utilisateursDataService { get; set; } + private NavigationManager NavigationManager {get; set;} - public FormulaireAjout() - { + [Inject] + private IUtilisateursDataService utilisateursDataService { get; set; } - } protected override async Task OnInitializedAsync() { - //PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs()); this.Modele = new FormulaireAjoutModele(); - this.Modele.IsBan = false; - await base.OnInitializedAsync(); } - public async void ajouterUtilisateur() + public async Task OnSubmit() { - Utilisateur nouvelUtilisateur = UtilisateursFactory.toUtilisateur(this.Modele); - await this.utilisateursDataService.AjouterUtilisateur(nouvelUtilisateur); - - //Console.WriteLine("Utilisateur bien ajouté !"); + if (await this.Validations.ValidateAll()) + { + Utilisateur nouvelUtilisateur = UtilisateursFactory.toUtilisateur(this.Modele); + await this.utilisateursDataService.AjouterUtilisateur(nouvelUtilisateur); + this.NavigationManager.NavigateTo("/utilisateurs/liste"); + } + } + public async Task OnAnnulation() + { this.NavigationManager.NavigateTo("/utilisateurs/liste"); } } -} +} \ No newline at end of file diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs index ad7082f..a4e247c 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs @@ -16,7 +16,7 @@ namespace VeraxShield.composants.formulaires.modeles [Required] [StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")] - [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")] + [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le nom doit contenir uniquement des lettres.")] public String Nom { get; set; } [Required] diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor b/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor index 30e0fef..928fcf2 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor +++ b/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor @@ -1,9 +1,18 @@ @using VeraxShield.composants.formulaires @page "/utilisateurs/ajouter" -

Ajouter un utilisateur

- + + + + +
+
+ +
+ +
+ diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/ListeUtilisateurs.razor b/VeraxShield/VeraxShield/pages/utilisateurs/ListeUtilisateurs.razor index 5806529..337ea3a 100644 --- a/VeraxShield/VeraxShield/pages/utilisateurs/ListeUtilisateurs.razor +++ b/VeraxShield/VeraxShield/pages/utilisateurs/ListeUtilisateurs.razor @@ -9,7 +9,7 @@ -
+

Utilisateurs de Verax

Vous retrouverez ici les utilisateurs de Verax ainsi que les actions associées

diff --git a/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireAjout.css b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireAjout.css new file mode 100644 index 0000000..558a99e --- /dev/null +++ b/VeraxShield/VeraxShield/wwwroot/css/composants/formulaires/FormulaireAjout.css @@ -0,0 +1,51 @@ + +.formulaire-conteneur { + + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Ajoute une ombre au formulaire */ + border-radius: 10px; /* Ajoute des bords arrondis au formulaire */ + + /* background-color: black; */ + background-color: #8BC6EC; + background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%); + + color: white; /* Définit la couleur du texte à blanc */ + padding: 20px; /* Ajoute une marge intérieure pour plus de lisibilité */ +} + +.title-spacing { + margin-bottom: 20px; /* Ajoute une séparation entre le titre et le reste du contenu */ +} + +.field-container { + margin-bottom: 15px; /* Ajoute une séparation entre chaque champ */ +} + +/* Rend les labels en gras et blancs */ +.field-label { + font-weight: bold; + color: white; +} + +.btn-container { + display: flex; + justify-content: center; + margin-top: 20px; /* Ajoute une séparation entre les champs et les boutons */ +} + +.btn-se-connecter { + /* background-color: darkblue; */ + + /*background: #F3904F; fallback for old browsers */ + /*background: -webkit-linear-gradient(to right, #3B4371, #F3904F); Chrome 10-25, Safari 5.1-6 */ + /*background: linear-gradient(to right, #3B4371, #F3904F); W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ + + background: white; + color: black; + margin-right: 10px; /* Ajoute un espace entre les deux boutons */ +} + +.btn-s-inscrire { + background-color: white; + /* color: white; */ + color: black; +} \ No newline at end of file diff --git a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/AjouterUtilisateur.css b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/AjouterUtilisateur.css new file mode 100644 index 0000000..6f3b0c0 --- /dev/null +++ b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/AjouterUtilisateur.css @@ -0,0 +1,14 @@ +.container { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* 100% de la hauteur de la vue */ +} + +.formulaire-modification { + width: 50%; + /* background-color: green; + padding: 20px; */ + /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); Ajoute une ombre au formulaire */ + /* border-radius: 10px; Ajoute des bords arrondis au formulaire */ +} \ No newline at end of file diff --git a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/listeUtilisateurs.css b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/listeUtilisateurs.css index bd50371..5ce7ab9 100644 --- a/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/listeUtilisateurs.css +++ b/VeraxShield/VeraxShield/wwwroot/css/pages/utilisateurs/listeUtilisateurs.css @@ -12,7 +12,12 @@ margin: 20px auto; text-align: center; border-radius: 10px; - background-color: #afc1db; + + + /* background-color: #afc1db; */ + + background-color: #8BC6EC; + background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%); width: 80%; }