diff --git a/LanAdeptAdmin/Views/User/Details.cshtml b/LanAdeptAdmin/Views/User/Details.cshtml
index 41b9a23..eca7620 100644
--- a/LanAdeptAdmin/Views/User/Details.cshtml
+++ b/LanAdeptAdmin/Views/User/Details.cshtml
@@ -1,43 +1,58 @@
@model LanAdeptData.Model.User
@{
- ViewBag.Title = "Details";
+ ViewBag.Title = "Détails d'un utilisateur";
ViewBag.Sidebar = "_Sidebar_User";
}
-
Details
+
+ Détails - @Model.CompleteName
+
+ @Html.ActionLink("Modifier", "Edit", new { id = Model.UserID }, new { @class = "btn btn-primary" })
+ @Html.ActionLink("Retour", "Index", null, new { @class = "btn btn-default" })
+
+
+
+
+
+@if (!string.IsNullOrWhiteSpace(TempData["Error"] as string))
+{
+
+ @Html.Raw(TempData["Error"])
+
+}
+@if (!string.IsNullOrWhiteSpace(TempData["Success"] as string))
+{
+
+ @Html.Raw(TempData["Success"])
+
+}
-
User
-
-
- -
- @Html.DisplayNameFor(model => model.Role.Name)
-
-
- -
- @Html.DisplayFor(model => model.Role.Name)
-
-
- -
- @Html.DisplayNameFor(model => model.Email)
-
-
- -
- @Html.DisplayFor(model => model.Email)
-
-
- -
- @Html.DisplayNameFor(model => model.CompleteName)
-
-
- -
- @Html.DisplayFor(model => model.CompleteName)
-
-
-
+
+
+ -
+ Nom complet
+
+
+ -
+ @Html.DisplayFor(model => model.CompleteName)
+
+
+ -
+ Email
+
+
+ -
+ @Html.DisplayFor(model => model.Email)
+
+
+ -
+ Rôle
+
+
+ -
+ @Html.DisplayFor(model => model.Role.Name)
+
+
-
- @Html.ActionLink("Edit", "Edit", new { id = Model.UserID }) |
- @Html.ActionLink("Back to List", "Index")
-
diff --git a/LanAdeptAdmin/Views/User/Edit.cshtml b/LanAdeptAdmin/Views/User/Edit.cshtml
index 17f5e0d..5da932c 100644
--- a/LanAdeptAdmin/Views/User/Edit.cshtml
+++ b/LanAdeptAdmin/Views/User/Edit.cshtml
@@ -1,11 +1,11 @@
@model LanAdeptAdmin.Views.Users.ModelController.EditModel
@{
- ViewBag.Title = "Edit";
+ ViewBag.Title = "Modifier un utilisateur";
ViewBag.Sidebar = "_Sidebar_User";
}
-Edit
+Modifier un utilisateur
@using (Html.BeginForm())
{
@@ -20,8 +20,7 @@
diff --git a/LanAdeptAdmin/Views/User/Index.cshtml b/LanAdeptAdmin/Views/User/Index.cshtml
index 4f8ff0d..c764856 100644
--- a/LanAdeptAdmin/Views/User/Index.cshtml
+++ b/LanAdeptAdmin/Views/User/Index.cshtml
@@ -11,6 +11,19 @@
Liste des utilisateurs
+@if (!string.IsNullOrWhiteSpace(TempData["Error"] as string))
+{
+
+ @Html.Raw(TempData["Error"])
+
+}
+@if (!string.IsNullOrWhiteSpace(TempData["Success"] as string))
+{
+
+ @Html.Raw(TempData["Success"])
+
+}
+
diff --git a/LanAdeptAdmin/Views/User/ModelController/EditModel.cs b/LanAdeptAdmin/Views/User/ModelController/EditModel.cs
index 178d4aa..e5c7ad7 100644
--- a/LanAdeptAdmin/Views/User/ModelController/EditModel.cs
+++ b/LanAdeptAdmin/Views/User/ModelController/EditModel.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
@@ -18,9 +19,11 @@ public class EditModel
public string Email { get; set; }
[Required]
+ [DisplayName("Nom complet")]
public string CompleteName { get; set; }
[Required]
+ [DisplayName("Rôle")]
public int RoleID { get; set; }
public SelectList RoleList { get; set; }
@@ -28,6 +31,7 @@ public class EditModel
public EditModel() { }
public EditModel(User user)
{
+ UserID = user.UserID;
Email = user.Email;
CompleteName = user.CompleteName;
RoleID = user.RoleID;
diff --git a/LanAdeptAdmin/Views/User/ModelController/UserController.cs b/LanAdeptAdmin/Views/User/ModelController/UserController.cs
index 970c10d..bd4fe54 100644
--- a/LanAdeptAdmin/Views/User/ModelController/UserController.cs
+++ b/LanAdeptAdmin/Views/User/ModelController/UserController.cs
@@ -15,6 +15,8 @@ namespace LanAdeptAdmin.Controllers
{
public class UserController : Controller
{
+ private const string ERROR_INVALID_ID = "Désolé, une erreur est survenue. Merci de réessayer dans quelques instants";
+
UnitOfWork uow = UnitOfWork.Current;
[Authorize]
@@ -63,18 +65,38 @@ public ActionResult Edit(int? id)
[HttpPost]
[Authorize]
[ValidateAntiForgeryToken]
- public ActionResult Edit([Bind(Include = "UserID,Email,Password,Salt,CompleteName,RoleID")] User user)
+ public ActionResult Edit([Bind(Include = "UserID,CompleteName,RoleID")] EditModel model)
{
+ User user = uow.UserRepository.GetByID(model.UserID);
+ if (user == null)
+ {
+ TempData["Error"] = ERROR_INVALID_ID;
+ return RedirectToAction("Index");
+ }
+ Role role = uow.RoleRepository.GetByID(model.RoleID);
+ if (role == null)
+ {
+ TempData["Error"] = ERROR_INVALID_ID;
+ return RedirectToAction("Details", new { id = user.UserID });
+ }
+
if (ModelState.IsValid)
{
+ user.CompleteName = model.CompleteName;
+ user.Role = role;
+
uow.UserRepository.Update(user);
uow.Save();
- return RedirectToAction("Index");
+
+ TempData["Success"] = "Les changements ont bien été enregistré";
+ return RedirectToAction("Details", new { id = user.UserID });
}
- ViewBag.RoleID = new SelectList(uow.RoleRepository.Get(), "RoleID", "Name", user.RoleID);
+
+ ViewBag.RoleID = new SelectList(uow.RoleRepository.Get(), "RoleID", "Name", model.RoleID);
return View(user);
}
+#if DEBUG
[Authorize]
public ActionResult Delete(int? id)
{
@@ -101,5 +123,6 @@ public ActionResult DeleteConfirmed(int id)
return RedirectToAction("Index");
}
+#endif
}
}