Registration and password reset updates
This commit is contained in:
@@ -10,7 +10,7 @@ NOTES:
|
||||
* Compression/Combination/Minification is not enabled unless debug="false" is specified on the 'compiliation' element in the web.config
|
||||
* A new version will invalidate both client and server cache and create new persisted files
|
||||
-->
|
||||
<clientDependency version="1230030195" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
|
||||
<clientDependency version="1232230195" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
|
||||
|
||||
<!--
|
||||
This section is used for Web Forms only, the enableCompositeFiles="true" is optional and by default is set to true.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System.Web.Mvc;
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Security;
|
||||
using Hangfire;
|
||||
using LeafWeb.WebCms.Models;
|
||||
using LeafWeb.WebCms.Services;
|
||||
@@ -47,11 +49,12 @@ namespace LeafWeb.WebCms.Controllers
|
||||
// remove the verification
|
||||
member.SetValue(LeafWebMemberProperties.VerificationToken, string.Empty);
|
||||
memberService.Save(member);
|
||||
|
||||
TempData["StatusMessage"] = "Thank you! Your email is now verified at " + member.Email;
|
||||
|
||||
TempData["StatusMessage"] =
|
||||
$"Thank you! Your email is now verified at {member.Email}, use your password to login.";
|
||||
TempData["StatusMessage-Type"] = "alert-success";
|
||||
|
||||
// TODO: change redirectUrl to their own page
|
||||
redirectUrl = "membership/login";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,16 +176,28 @@ namespace LeafWeb.WebCms.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
memberService.SavePassword(member, form.Password);
|
||||
try
|
||||
{
|
||||
memberService.SavePassword(member, form.Password);
|
||||
|
||||
// remove the token
|
||||
member.SetValue(LeafWebMemberProperties.PasswordResetToken, string.Empty);
|
||||
memberService.Save(member);
|
||||
// remove the token
|
||||
member.SetValue(LeafWebMemberProperties.PasswordResetToken, string.Empty);
|
||||
memberService.Save(member);
|
||||
|
||||
TempData["StatusMessage"] = "Password updated for " + member.Email + ", use your new password to login.";
|
||||
TempData["StatusMessage-Type"] = "alert-success";
|
||||
TempData["StatusMessage"] =
|
||||
$"Password updated for {member.Email}, use your new password to login.";
|
||||
TempData["StatusMessage-Type"] = "alert-success";
|
||||
|
||||
redirectUrl = "membership/login";
|
||||
redirectUrl = "/membership/login";
|
||||
}
|
||||
catch (MembershipPasswordException)
|
||||
{
|
||||
ModelState.AddModelError("Password", "Please choose a stronger password");
|
||||
|
||||
form.Password = form.PasswordVerify = string.Empty;
|
||||
return CurrentUmbracoPage();
|
||||
//return PartialView(form);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,9 @@ namespace LeafWeb.WebCms.Models
|
||||
|
||||
[Required(ErrorMessage = "A new password is required")]
|
||||
[DataType(DataType.Password)]
|
||||
[RegularExpression(
|
||||
@"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$",
|
||||
ErrorMessage = "Minimum 8 characters and at least one letter and one number")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[Display(Name = "Verify New Password")]
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
<div class="col-lg-6 card card-body bg-light">
|
||||
@if (success || (!user?.IsApproved ?? false))
|
||||
{
|
||||
<p><span class="fa fa-check text-primary"></span> Registration succeeded. Please check your email to verify your account.</p>
|
||||
<h2 class="text-center"><span class="fa fa-check text-primary"></span> </h2>
|
||||
<p>Registration succeeded. Please check your email to verify your account.</p>
|
||||
}
|
||||
else if (user != null)
|
||||
{
|
||||
@@ -43,39 +44,11 @@ else
|
||||
@Html.EditorFor(m => registerModel.Name)
|
||||
@Html.EditorFor(m => registerModel.Email, new { type = "email"})
|
||||
@Html.EditorFor(m => registerModel.Password, "Password")
|
||||
@*<div class="form-group">
|
||||
@Html.LabelFor(m => registerModel.Name)
|
||||
@Html.TextBoxFor(m => registerModel.Name, new { @class = "form-control" })
|
||||
@Html.ValidationMessageFor(m => registerModel.Name, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(m => registerModel.Email)
|
||||
@Html.TextBoxFor(m => registerModel.Email, new { @class = "form-control" })
|
||||
@Html.ValidationMessageFor(m => registerModel.Email, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(m => registerModel.Password)
|
||||
@Html.PasswordFor(m => registerModel.Password, new { @class = "form-control" })
|
||||
@Html.ValidationMessageFor(m => registerModel.Password, "", new { @class = "text-danger" })
|
||||
</div>*@
|
||||
<div class="form-group verifyPassword">
|
||||
@Html.Label("VerifyPassword")
|
||||
@Html.Password("VerifyPassword", null, new { @class = "form-control" })
|
||||
@Html.ValidationMessage("VerifyPassword", "", new { @class = "text-danger" })
|
||||
</div>
|
||||
|
||||
@*if (registerModel.MemberProperties != null)
|
||||
{
|
||||
for (var i = 0; i < registerModel.MemberProperties.Count; i++)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(m => registerModel.MemberProperties[i].Value, registerModel.MemberProperties[i].Name)
|
||||
@Html.EditorFor(m => registerModel.MemberProperties[i].Value, new { @class = "form-control" })
|
||||
@Html.HiddenFor(m => registerModel.MemberProperties[i].Alias)
|
||||
</div>
|
||||
}
|
||||
}*@
|
||||
|
||||
@Html.HiddenFor(m => registerModel.MemberTypeAlias)
|
||||
@Html.HiddenFor(m => registerModel.RedirectUrl)
|
||||
@Html.HiddenFor(m => registerModel.UsernameIsEmail)
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
$(function () {
|
||||
$("#register-member").validate();
|
||||
$("#registerModel_Password")
|
||||
.rules("add",
|
||||
{
|
||||
regex: "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$",
|
||||
messages: {
|
||||
regex: "Minimum 8 characters and at least one letter and one number"
|
||||
}
|
||||
}
|
||||
);
|
||||
$('#VerifyPassword')
|
||||
.rules("add",
|
||||
{
|
||||
@@ -15,8 +24,10 @@
|
||||
.rules("add",
|
||||
{
|
||||
required: true,
|
||||
regex: "^[A-Za-z().]+(\\s+[A-Za-z().]+)+$",
|
||||
messages: {
|
||||
required: "Name is required"
|
||||
required: "Name is required",
|
||||
regex: "Please provide your full name"
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user