getting email invite working and with identity apis

This commit is contained in:
Shannon
2017-06-13 18:38:16 +02:00
parent 3fac1b05ae
commit f09f17e496
17 changed files with 952 additions and 924 deletions

View File

@@ -16,31 +16,16 @@ using Umbraco.Core.Services;
using UserProfile = Umbraco.Web.Models.ContentEditing.UserProfile;
namespace Umbraco.Web.Models.Mapping
{
{
internal class UserModelMapper : MapperConfiguration
{
public override void ConfigureMappings(IConfiguration config, ApplicationContext applicationContext)
{
//Used for merging existing UserSave to an existing IUser instance - this will not create an IUser instance!
config.CreateMap<UserSave, IUser>()
.IgnoreAllUnmapped()
.ForMember(user => user.Language, expression => expression.MapFrom(save => save.Culture))
.ForMember(user => user.Avatar, expression => expression.Ignore())
.ForMember(user => user.SessionTimeout, expression => expression.Ignore())
.ForMember(user => user.SecurityStamp, expression => expression.Ignore())
.ForMember(user => user.ProviderUserKey, expression => expression.Ignore())
.ForMember(user => user.RawPasswordValue, expression => expression.Ignore())
.ForMember(user => user.PasswordQuestion, expression => expression.Ignore())
.ForMember(user => user.RawPasswordAnswerValue, expression => expression.Ignore())
.ForMember(user => user.Comments, expression => expression.Ignore())
.ForMember(user => user.IsApproved, expression => expression.Ignore())
.ForMember(user => user.IsLockedOut, expression => expression.Ignore())
.ForMember(user => user.LastLoginDate, expression => expression.Ignore())
.ForMember(user => user.LastPasswordChangeDate, expression => expression.Ignore())
.ForMember(user => user.LastLockoutDate, expression => expression.Ignore())
.ForMember(user => user.FailedPasswordAttempts, expression => expression.Ignore())
.ForMember(user => user.DeletedDate, expression => expression.Ignore())
.ForMember(user => user.CreateDate, expression => expression.Ignore())
.ForMember(user => user.UpdateDate, expression => expression.Ignore())
.AfterMap((save, user) =>
{
user.ClearGroups();
@@ -53,31 +38,11 @@ namespace Umbraco.Web.Models.Mapping
config.CreateMap<UserInvite, IUser>()
.ConstructUsing(invite => new User(invite.Name, invite.Email, invite.Email, Guid.NewGuid().ToString("N")))
//generate a token for the invite
.IgnoreAllUnmapped()
//generate a new token
.ForMember(user => user.SecurityStamp, expression => expression.MapFrom(x => (DateTime.Now + x.Email).ToSHA1()))
//all invited users will not be approved, completing the invite will approve the user
.ForMember(user => user.IsApproved, expression => expression.UseValue(false))
.ForMember(user => user.Id, expression => expression.Ignore())
.ForMember(user => user.Avatar, expression => expression.Ignore())
.ForMember(user => user.SessionTimeout, expression => expression.Ignore())
.ForMember(user => user.StartContentIds, expression => expression.Ignore())
.ForMember(user => user.StartMediaIds, expression => expression.Ignore())
.ForMember(user => user.Language, expression => expression.Ignore())
.ForMember(user => user.ProviderUserKey, expression => expression.Ignore())
.ForMember(user => user.Username, expression => expression.Ignore())
.ForMember(user => user.RawPasswordValue, expression => expression.Ignore())
.ForMember(user => user.PasswordQuestion, expression => expression.Ignore())
.ForMember(user => user.RawPasswordAnswerValue, expression => expression.Ignore())
.ForMember(user => user.Comments, expression => expression.Ignore())
.ForMember(user => user.IsApproved, expression => expression.Ignore())
.ForMember(user => user.IsLockedOut, expression => expression.Ignore())
.ForMember(user => user.LastLoginDate, expression => expression.Ignore())
.ForMember(user => user.LastPasswordChangeDate, expression => expression.Ignore())
.ForMember(user => user.LastLockoutDate, expression => expression.Ignore())
.ForMember(user => user.FailedPasswordAttempts, expression => expression.Ignore())
.ForMember(user => user.DeletedDate, expression => expression.Ignore())
.ForMember(user => user.CreateDate, expression => expression.Ignore())
.ForMember(user => user.UpdateDate, expression => expression.Ignore())
.ForMember(user => user.IsApproved, expression => expression.UseValue(false))
.AfterMap((invite, user) =>
{
user.ClearGroups();