Merge branch 'v15/dev' into v16/dev
# Conflicts: # src/Umbraco.Cms.Api.Management/Factories/RelationTypePresentationFactory.cs # src/Umbraco.Core/Services/PropertyValidationService.cs # src/Umbraco.Web.UI.Client/utils/all-umb-consts/imports.ts
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
using System.Globalization;
|
||||
using Examine;
|
||||
using Umbraco.Cms.Core;
|
||||
using Umbraco.Cms.Core.Scoping;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Infrastructure.Scoping;
|
||||
using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Infrastructure.Examine;
|
||||
@@ -15,7 +15,7 @@ public class ContentValueSetValidator : ValueSetValidator, IContentValueSetValid
|
||||
private const string PathKey = "path";
|
||||
private static readonly IEnumerable<string> ValidCategories = new[] { IndexTypes.Content, IndexTypes.Media };
|
||||
private readonly IPublicAccessService? _publicAccessService;
|
||||
private readonly Scoping.IScopeProvider? _scopeProvider;
|
||||
private readonly IScopeProvider? _scopeProvider;
|
||||
|
||||
// used for tests
|
||||
internal ContentValueSetValidator(bool publishedValuesOnly, int? parentId = null, IEnumerable<string>? includeItemTypes = null, IEnumerable<string>? excludeItemTypes = null)
|
||||
@@ -27,11 +27,13 @@ public class ContentValueSetValidator : ValueSetValidator, IContentValueSetValid
|
||||
bool publishedValuesOnly,
|
||||
bool supportProtectedContent,
|
||||
IPublicAccessService? publicAccessService,
|
||||
Scoping.IScopeProvider? scopeProvider,
|
||||
int? parentId,
|
||||
IEnumerable<string>? includeItemTypes,
|
||||
IEnumerable<string>? excludeItemTypes)
|
||||
: base(includeItemTypes, excludeItemTypes, null, null)
|
||||
IScopeProvider? scopeProvider,
|
||||
int? parentId = null,
|
||||
IEnumerable<string>? includeItemTypes = null,
|
||||
IEnumerable<string>? excludeItemTypes = null,
|
||||
IEnumerable<string>? includeFields = null,
|
||||
IEnumerable<string>? excludeFields = null)
|
||||
: base(includeItemTypes, excludeItemTypes, includeFields, excludeFields)
|
||||
{
|
||||
PublishedValuesOnly = publishedValuesOnly;
|
||||
SupportProtectedContent = supportProtectedContent;
|
||||
|
||||
@@ -91,8 +91,8 @@ internal sealed class MemberEditingService : IMemberEditingService
|
||||
return IdentityMemberCreationFailed(createResult, status);
|
||||
}
|
||||
|
||||
IMember member = _memberService.GetByEmail(createModel.Email)
|
||||
?? throw new InvalidOperationException("Member creation succeeded, but member could not be found by email.");
|
||||
IMember member = _memberService.GetByUsername(createModel.Username)
|
||||
?? throw new InvalidOperationException("Member creation succeeded, but member could not be found by username.");
|
||||
|
||||
var updateRolesResult = await UpdateRoles(createModel.Roles, identityMember);
|
||||
if (updateRolesResult is false)
|
||||
@@ -258,10 +258,13 @@ internal sealed class MemberEditingService : IMemberEditingService
|
||||
return MemberEditingOperationStatus.DuplicateUsername;
|
||||
}
|
||||
|
||||
IMember? byEmail = _memberService.GetByEmail(model.Email);
|
||||
if (byEmail is not null && byEmail.Key != memberKey)
|
||||
if (_securitySettings.MemberRequireUniqueEmail)
|
||||
{
|
||||
return MemberEditingOperationStatus.DuplicateEmail;
|
||||
IMember? byEmail = _memberService.GetByEmail(model.Email);
|
||||
if (byEmail is not null && byEmail.Key != memberKey)
|
||||
{
|
||||
return MemberEditingOperationStatus.DuplicateEmail;
|
||||
}
|
||||
}
|
||||
|
||||
return MemberEditingOperationStatus.Success;
|
||||
|
||||
Reference in New Issue
Block a user