Merge pull request #2065 from sbwalker/dev
Resolved issue in TenantManager resulting in "No database provider has been configured for this DbContext" error being logged during startup. Added logic to update email address in AspNetUsers when updating a User.
This commit is contained in:
@ -253,15 +253,16 @@ namespace Oqtane.Controllers
|
|||||||
public async Task<User> Put(int id, [FromBody] User user)
|
public async Task<User> Put(int id, [FromBody] User user)
|
||||||
{
|
{
|
||||||
if (ModelState.IsValid && user.SiteId == _tenantManager.GetAlias().SiteId && _users.GetUser(user.UserId, false) != null && (User.IsInRole(RoleNames.Admin) || User.Identity.Name == user.Username))
|
if (ModelState.IsValid && user.SiteId == _tenantManager.GetAlias().SiteId && _users.GetUser(user.UserId, false) != null && (User.IsInRole(RoleNames.Admin) || User.Identity.Name == user.Username))
|
||||||
{
|
|
||||||
if (user.Password != "")
|
|
||||||
{
|
{
|
||||||
IdentityUser identityuser = await _identityUserManager.FindByNameAsync(user.Username);
|
IdentityUser identityuser = await _identityUserManager.FindByNameAsync(user.Username);
|
||||||
if (identityuser != null)
|
if (identityuser != null)
|
||||||
|
{
|
||||||
|
identityuser.Email = user.Email;
|
||||||
|
if (user.Password != "")
|
||||||
{
|
{
|
||||||
identityuser.PasswordHash = _identityUserManager.PasswordHasher.HashPassword(identityuser, user.Password);
|
identityuser.PasswordHash = _identityUserManager.PasswordHasher.HashPassword(identityuser, user.Password);
|
||||||
await _identityUserManager.UpdateAsync(identityuser);
|
|
||||||
}
|
}
|
||||||
|
await _identityUserManager.UpdateAsync(identityuser);
|
||||||
}
|
}
|
||||||
user = _users.UpdateUser(user);
|
user = _users.UpdateUser(user);
|
||||||
_syncManager.AddSyncEvent(_tenantManager.GetAlias().TenantId, EntityNames.User, user.UserId);
|
_syncManager.AddSyncEvent(_tenantManager.GetAlias().TenantId, EntityNames.User, user.UserId);
|
||||||
|
@ -54,23 +54,6 @@ namespace Oqtane.Infrastructure
|
|||||||
post.PostConfigure(name, options);
|
post.PostConfigure(name, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (_validations.Length > 0)
|
|
||||||
//{
|
|
||||||
// var failures = new List<string>();
|
|
||||||
// foreach (IValidateOptions<TOptions> validate in _validations)
|
|
||||||
// {
|
|
||||||
// ValidateOptionsResult result = validate.Validate(name, options);
|
|
||||||
// if (result != null && result.Failed)
|
|
||||||
// {
|
|
||||||
// failures.AddRange(result.Failures);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (failures.Count > 0)
|
|
||||||
// {
|
|
||||||
// throw new OptionsValidationException(name, typeof(TOptions), failures);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ namespace Oqtane.Infrastructure
|
|||||||
{
|
{
|
||||||
Alias alias = null;
|
Alias alias = null;
|
||||||
|
|
||||||
if (_siteState != null && _siteState.Alias != null && _siteState.Alias.AliasId != -1)
|
if (_siteState?.Alias != null && _siteState.Alias.AliasId != -1)
|
||||||
{
|
{
|
||||||
alias = _siteState.Alias;
|
alias = _siteState.Alias;
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ namespace Oqtane.Infrastructure
|
|||||||
|
|
||||||
public Tenant GetTenant()
|
public Tenant GetTenant()
|
||||||
{
|
{
|
||||||
var alias = GetAlias();
|
var alias = _siteState?.Alias;
|
||||||
if (alias != null)
|
if (alias != null)
|
||||||
{
|
{
|
||||||
// return tenant details
|
// return tenant details
|
||||||
|
Reference in New Issue
Block a user