public ActionResult Edit(UserEditModel model) { if (User.Identity.Name != model.Username && !User.IsInRole(Definitions.Roles.Administrator)) { return RedirectToAction("Unauthorized", "Home"); } if (ModelState.IsValid) { bool valid = true; if (!User.IsInRole(Definitions.Roles.Administrator) && (model.OldPassword == null && model.NewPassword != null)) { ModelState.AddModelError("OldPassword", Resources.Account_Edit_OldPasswordEmpty); valid = false; } if (model.OldPassword != null && !MembershipService.ValidateUser(model.Username, model.OldPassword)) { ModelState.AddModelError("OldPassword", Resources.Account_Edit_OldPasswordIncorrect); valid = false; } if (User.IsInRole(Definitions.Roles.Administrator) && model.Username == User.Identity.Name && !(model.Roles != null && model.Roles.Contains(Definitions.Roles.Administrator))) { ModelState.AddModelError("Roles", Resources.Account_Edit_CannotRemoveYourselfFromAdminRole); valid = false; } if (valid) { MembershipService.UpdateUser(model.Username, model.Name, model.Surname, model.Email, model.NewPassword); Roles.RemoveUserFromRoles(model.Username, Roles.GetAllRoles()); if (model.Roles != null) { Roles.AddUserToRoles(model.Username, model.Roles); } ViewBag.UpdateSuccess = true; } } PopulateRoles(); return View(model); }
public ActionResult Edit(string id) { if (!id.Equals(User.Id(), StringComparison.OrdinalIgnoreCase) && !User.IsInRole(Definitions.Roles.Administrator)) { return RedirectToAction("Unauthorized", "Home"); } if (MembershipService.IsReadOnly()) { return RedirectToAction("Detail", "Account", new { id = id }); } if (!String.IsNullOrEmpty(id)) { var user = MembershipService.GetUser(id); if (user != null) { var model = new UserEditModel { Username = user.Name, Name = user.GivenName, Surname = user.Surname, Email = user.Email, Roles = RoleProvider.GetRolesForUser(user.Name), }; PopulateRoles(); return View(model); } } return View(); }
public ActionResult Edit(string id) { if (User.Identity.Name != id && !User.IsInRole(Definitions.Roles.Administrator)) { return RedirectToAction("Unauthorized", "Home"); } if (!String.IsNullOrEmpty(id)) { var user = MembershipService.GetUser(id); if (user != null) { var roles = Roles.GetRolesForUser(id); var model = new UserEditModel { Username = id, Name = user.Name, Surname = user.Surname, Email = user.Email, Roles = roles, }; PopulateRoles(); return View(model); } } return View(); }
public ActionResult Edit(Guid id) { if (id != User.Id() && !User.IsInRole(Definitions.Roles.Administrator)) { return RedirectToAction("Unauthorized", "Home"); } if (MembershipService.IsReadOnly()) { return RedirectToAction("Detail", "Account", new { id = id }); } var user = MembershipService.GetUserModel(id); if (user != null) { var model = new UserEditModel { Id = user.Id, Username = user.Username, Name = user.GivenName, Surname = user.Surname, Email = user.Email, Roles = RoleProvider.GetAllRoles(), SelectedRoles = RoleProvider.GetRolesForUser(user.Id) }; return View(model); } return View(); }