Add register member partial view macro template
This commit is contained in:
@@ -293,6 +293,8 @@
|
||||
<Compile Include="Configuration\WebRouting.cs" />
|
||||
<Compile Include="Editors\MediaController.cs" />
|
||||
<Compile Include="Models\ContentEditing\ContentSortOrder.cs" />
|
||||
<Compile Include="UmbracoControllers\RegisterController.cs" />
|
||||
<Compile Include="UmbracoModels\RegisterModel.cs" />
|
||||
<Compile Include="UmbracoModels\LoginModel.cs" />
|
||||
<Compile Include="Security\Providers\MembersMembershipProvider.cs" />
|
||||
<Compile Include="Security\Providers\UsersMembershipProvider.cs" />
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace Umbraco.Web.UmbracoControllers
|
||||
[HttpPost]
|
||||
public ActionResult HandleLogin([Bind(Prefix="loginModel")]LoginModel model)
|
||||
{
|
||||
// TODO: Use new Member API
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var m = Member.GetMemberFromLoginNameAndPassword(model.Username, model.Password);
|
||||
|
||||
45
src/Umbraco.Web/UmbracoControllers/RegisterController.cs
Normal file
45
src/Umbraco.Web/UmbracoControllers/RegisterController.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using System.Xml;
|
||||
using umbraco.BusinessLogic;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using Umbraco.Web.Mvc;
|
||||
using Umbraco.Web.UmbracoModels;
|
||||
|
||||
namespace Umbraco.Web.UmbracoControllers
|
||||
{
|
||||
public class RegisterController : SurfaceController
|
||||
{
|
||||
[HttpPost]
|
||||
public ActionResult HandleRegisterMember([Bind(Prefix="registerModel")]RegisterModel model)
|
||||
{
|
||||
//TODO: Use new Member API
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var user = new User(0);
|
||||
|
||||
var mt = MemberType.GetByAlias(model.MemberTypeAlias) ?? MemberType.MakeNew(user, model.MemberTypeAlias);
|
||||
|
||||
var member = Member.MakeNew(model.Email, mt, user);
|
||||
member.Email = model.Email;
|
||||
member.LoginName = model.Email;
|
||||
member.Password = model.Password;
|
||||
|
||||
foreach (var property in model.MemberProperties)
|
||||
{
|
||||
member.getProperty(property.Alias).Value = property.Value;
|
||||
}
|
||||
|
||||
member.Save();
|
||||
|
||||
member.XmlGenerate(new XmlDocument());
|
||||
|
||||
Member.AddMemberToCache(member);
|
||||
|
||||
Response.Redirect("/");
|
||||
}
|
||||
|
||||
return CurrentUmbracoPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
28
src/Umbraco.Web/UmbracoModels/RegisterModel.cs
Normal file
28
src/Umbraco.Web/UmbracoModels/RegisterModel.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
|
||||
namespace Umbraco.Web.UmbracoModels
|
||||
{
|
||||
public class RegisterModel
|
||||
{
|
||||
[Required]
|
||||
[RegularExpression(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?",
|
||||
ErrorMessage = "Please enter a valid e-mail address")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Password { get; set; }
|
||||
|
||||
public string MemberTypeAlias { get; set; }
|
||||
|
||||
public List<UmbracoProperty> MemberProperties { get; set; }
|
||||
}
|
||||
|
||||
public class UmbracoProperty
|
||||
{
|
||||
public string Alias { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user