diff --git a/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/.gitignore b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/.gitignore new file mode 100644 index 0000000..f755717 --- /dev/null +++ b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.WF-WebAdmin.iml +/modules.xml +/contentModel.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/indexLayout.xml b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/vcs.xml b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/WF-WebAdmin/.idea/.idea.WF-WebAdmin/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Commentary.cs b/WF-WebAdmin/WF-WebAdmin/Model/Commentary.cs new file mode 100644 index 0000000..c3251c3 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Model/Commentary.cs @@ -0,0 +1,10 @@ +namespace WF_WebAdmin.Model +{ + public class Commentary + { + public int Id { get; set; } + public int IdUser { get; set; } + public string Text { get; set; } + public DateTime DateCreation { get; set; } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Quiz.cs b/WF-WebAdmin/WF-WebAdmin/Model/Quiz.cs new file mode 100644 index 0000000..a5ecef4 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Model/Quiz.cs @@ -0,0 +1,12 @@ +namespace WF_WebAdmin.Model; + +public class Quiz +{ + public int Id { get; set; } + public string Question { get; set; } + public string AnswerA { get; set; } + public string AnswerB { get; set; } + public string AnswerC { get; set; } + public string AnswerD { get; set; } + public string CAnswer { get; set; } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Model/User.cs b/WF-WebAdmin/WF-WebAdmin/Model/User.cs index d599e5b..05671ab 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/User.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/User.cs @@ -3,10 +3,13 @@ public class User { public int Id { get; set; } + public string Image { get; set; } public string Name { get; set; } public string Email { get; set; } public DateTime DateCreation { get; set; } + public Boolean IsAdmin { get; set; } + public List Comments { get; set; } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor index 47af991..6c180ac 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor @@ -4,9 +4,12 @@

Gestion des utilisateurs

+@if(users == null) +{ +

Aucun utilisateur présent sur le site

+} - -@if (users != null) +else {

Utilisateurs présents:

@foreach (var user in users) @@ -14,14 +17,45 @@

Identifiant d'utilisateur : @user.Id

-

Nom d'utilisateur : @user.Name

+ @if (user.IsAdmin) + { +

Nom d'utilisateur : @user.Name (Administrateur)

+ } + else + { +

Nom d'utilisateur : @user.Name

+ } +

Email de l'utilisateur : @user.Email

-

Date de création de l'utilisateur : @user.DateCreation.ToShortDateString()

+

Date de création du compte : @user.DateCreation.ToShortDateString()

+ + @if(user.Comments != null) + { + @foreach (var comment in user.Comments) + { +

Commentaire (@comment.) : @comment.Text

+ } + } + else + { +

Aucun commentaire sur le site

+ } + + + @if (!user.IsAdmin) + { + + } + else + { + + } +
} - - @if (showPopup) + + @if (showPopupDelete) {
@@ -32,12 +66,21 @@
} + + @if (showPopupAdmin) + { +
+
+

Êtes-vous sûr de vouloir changer le rôle de cet utilisateur ?

+ + +
+
+ } + } -else -{ -

Aucun utilisateurs présents sur le site

-} + @code { diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index 0743f27..e2d86dc 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -9,8 +9,11 @@ namespace WF_WebAdmin.Pages private List users; - private bool showPopup = false; + private bool showPopupDelete = false; private User userToDelete = null; + + private bool showPopupAdmin = false; + private User userToAdmin = null; [Inject] public HttpClient Http { get; set; } @@ -24,12 +27,11 @@ namespace WF_WebAdmin.Pages - + // ------- Popup remove user ------- private void ShowConfirmation(User user) { - // Afficher la modale et mémoriser l'utilisateur à supprimer userToDelete = user; - showPopup = true; + showPopupDelete = true; } @@ -45,8 +47,34 @@ namespace WF_WebAdmin.Pages private void ClosePopup() { - showPopup = false; + showPopupDelete = false; + showPopupAdmin = false; + } + + + // ------- Popup admin ------- + private void ShowConfirmationAdmin(User user) + { + userToAdmin = user; + showPopupAdmin = true; } + + + + private async Task Admin() + { + if (!userToAdmin.IsAdmin) + { + userToAdmin.IsAdmin = true; + ClosePopup(); + } + else + { + userToAdmin.IsAdmin = false; + ClosePopup(); + } + } + } } diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor new file mode 100644 index 0000000..ad96674 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor @@ -0,0 +1,11 @@ +@page "/ValidQuiz" +@using WF_WebAdmin.Model + +

Quiz à valider

+ +@if (quizzes is null) +{ +

+ Chargement des quiz +

+} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs new file mode 100644 index 0000000..c419e91 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs @@ -0,0 +1,11 @@ +using Npgsql; +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Pages + +{ + public partial class ValidQuiz + { + private List quizzes; + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor.cs index 931d835..562af21 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor.cs @@ -13,8 +13,9 @@ namespace WF_WebAdmin.Pages { // Chaîne de connexion à adapter private const string connectionString = - "pgsql:host=localhost;dbname=dbkekentin;Username=kekentin;Password=passwd"; - //"Host=localhost;Port=5432;Database=wikifantasy3;Username=postgres;Password=postgres"; + "Host=localhost;Port=5432;Database=wikifantasy3;Username=postgres;Password=postgres"; + //"pgsql:host=localhost;dbname=dbkekentin;Username=kekentin;Password=passwd"; + private List quotes; protected override async Task OnInitializedAsync() diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor index 5464a8c..d4c1b4f 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor @@ -25,6 +25,12 @@
+ +