[CustomeAuthorizeForAjaxAndNonAjax(Roles = "ResetCMSUserPassword")] //This method is called using ajax requests so authorize it with the custome attribute we created for the logged in users with the appropriate role. public async Task <IActionResult> ResetPasswordByAdmin(ResetPasswordByAdmin model) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(model.Email); //if nothing was found: if (user == null) { return(NotFound()); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, model.Password); if (result.Succeeded) { //After the successfull Create or Edit, we do not return a view because we already did the Create or Edit using Ajax request, //which means we did not reload the page, so return the _ViewAll.cshtml which has the html table, return it as serialized html in json file, to be rendered in Index.cshtml as a partial view: return(Json(new { isValid = true, html = SerializeHtmlElemtnsToString.RenderRazorViewToString(this, "_ViewAll", _userManager.Users) })); //return NotFound(); } // If there are any errors, add them to the ModelState object // which will be displayed by the validation summary tag helper foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } //if the model submitted is not valid according to the Attriburtes in [] in the model file in Models folder: return(Json(new { isValid = false, html = SerializeHtmlElemtnsToString.RenderRazorViewToString(this, "ResetPasswordByAdmin", model) })); }
[CustomeAuthorizeForAjaxAndNonAjax(Roles = "ResetCMSUserPassword")] //This method is called using ajax requests so authorize it with the custome attribute we created for the logged in users with the appropriate role. public async Task <IActionResult> ResetPasswordByAdmin(string Email) { var user = await _userManager.FindByEmailAsync(Email); if (user == null) { return(NotFound()); } var ResetPasswordByAdmin = new ResetPasswordByAdmin { Email = user.Email, Password = "", ConfirmPassword = "" }; return(View(ResetPasswordByAdmin)); }