V10: Migrate member properties to columns on the member table (#12205)

* Add new columns to the member table

* Add missing IsApproved column

* Add joins with nested query

* Add query for selecting new column values from existing members

* Update the member data from the same query

* Make escapes work for sqlite

* Use GetFieldNameForUpdate instead of GetFieldName

* Left join on memberDto

* Remove the now unused property types and data

* Don't create member columns as properties anymore

* Store old properties in fields on member

Also switch the dates to nullable since they can be null

* Map columns when mapping from DTO to Member object

* Display columns in the member content app

* Fix null exception when creating new user

* Hide value if user doesn't have access to sensitive data

* Remove hardcoded member properties

* Obsolete old member alias constants

* Map and persist member properties

* Correctly update LastLogin when member logs in

* Map IsApproved and IsLockedOut when saving member in backoffice

* Update the query mappers for members

* Fix member service tracks dirty changes test

* Remove no longer existing property types from member type builder

* Fix null error in UpdateMemberProperties

* Fix builder tests

* Fix SetupMemberTestData in MemberControllerUnitTests

* Let LastLoginDate be null and handle check in controller

There's no reason to default a perfectly nullable property to default(DateTime)

* Add translation key for is approved and use that instead of constant

* Obsolete old label constants

* Fix whitespace post merge

* Fix up test comments

* Apply suggestions from code review

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Fix member properties always being sensitive

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
This commit is contained in:
Mole
2022-04-21 14:47:27 +02:00
committed by GitHub
parent 6d0a0fff9c
commit 7df4f84247
36 changed files with 744 additions and 489 deletions

View File

@@ -594,7 +594,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.BackOffice.Controllers
Path = member.Path
};
memberDisplay = new MemberDisplay()
memberDisplay = new MemberDisplay
{
Id = memberId,
SortOrder = member.SortOrder,
@@ -609,33 +609,57 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.BackOffice.Controllers
ContentTypeName = member.ContentType.Name,
Icon = fakeMemberData.Icon,
Path = member.Path,
Tabs = new List<Tab<ContentPropertyDisplay>>()
Tabs = new List<Tab<ContentPropertyDisplay>>
{
new Tab<ContentPropertyDisplay>()
new()
{
Alias = "test",
Id = 77,
Properties = new List<ContentPropertyDisplay>()
Properties = new List<ContentPropertyDisplay>
{
new ContentPropertyDisplay()
new()
{
Alias = "_umb_login"
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}login",
},
new ContentPropertyDisplay()
new()
{
Alias= "_umb_email"
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}email",
},
new ContentPropertyDisplay()
new()
{
Alias = "_umb_password"
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}password",
},
new ContentPropertyDisplay()
new()
{
Alias = "_umb_membergroup"
}
}
}
}
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}membergroup",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}failedPasswordAttempts",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}approved",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}lockedOut",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}lastLockoutDate",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}lastLoginDate",
},
new()
{
Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}lastPasswordChangeDate",
},
},
},
},
};
return member;