Moved controllers and models as per Shannon's suggestion
Added LoginStatus and updated Register Updated to use CDF instead of <script> tags
This commit is contained in:
28
src/Umbraco.Web/Controllers/LoginController.cs
Normal file
28
src/Umbraco.Web/Controllers/LoginController.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using Umbraco.Web.Models;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
namespace Umbraco.Web.Controllers
|
||||
{
|
||||
public class LoginController : SurfaceController
|
||||
{
|
||||
[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);
|
||||
if (m != null)
|
||||
{
|
||||
Member.AddMemberToCache(m);
|
||||
return Redirect("/");
|
||||
}
|
||||
}
|
||||
|
||||
return CurrentUmbracoPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
30
src/Umbraco.Web/Controllers/LoginStatusController.cs
Normal file
30
src/Umbraco.Web/Controllers/LoginStatusController.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using Umbraco.Web.Models;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
namespace Umbraco.Web.Controllers
|
||||
{
|
||||
public class LoginStatusController : SurfaceController
|
||||
{
|
||||
[HttpPost]
|
||||
public ActionResult HandleLogout([Bind(Prefix = "loginStatusModel")]LoginStatusModel model)
|
||||
{
|
||||
// TODO: Use new Member API
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
if (Member.IsLoggedOn())
|
||||
{
|
||||
var memberId = Member.CurrentMemberId();
|
||||
Member.RemoveMemberFromCache(memberId);
|
||||
Member.ClearMemberFromClient(memberId);
|
||||
}
|
||||
|
||||
return Redirect("/");
|
||||
}
|
||||
|
||||
return CurrentUmbracoPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
45
src/Umbraco.Web/Controllers/RegisterController.cs
Normal file
45
src/Umbraco.Web/Controllers/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.Models;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
namespace Umbraco.Web.Controllers
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user