Update registration
This commit is contained in:
@ -1,21 +1,13 @@
|
||||
@page "/account/register"
|
||||
|
||||
@using Microsoft.AspNetCore.Identity
|
||||
@using Hcs.WebApp.Data
|
||||
@using Hcs.WebApp.Identity
|
||||
|
||||
@inject IUserStore<AppUser> UserStore
|
||||
@inject UserManager<AppUser> UserManager
|
||||
@inject NotificationService NotificationService
|
||||
@inject SignInManager<AppUser> SignInManager
|
||||
@inject IdentityRedirectManager RedirectManager
|
||||
|
||||
<PageTitle>Регистрация аккаунта</PageTitle>
|
||||
|
||||
<RadzenCard class="rz-mx-auto" Style="max-width: 420px">
|
||||
<RadzenTemplateForm TItem="InputModel" Data=@Input Method="post" Submit=@OnSubmit>
|
||||
<RadzenTemplateForm TItem="InputModel" Data=@Input Method="post" Action="@($"identity/register?returnUrl={ReturnUrl}")">
|
||||
<RadzenStack Gap="1rem" class="rz-p-sm-12">
|
||||
<RadzenText TextStyle="TextStyle.H4" TextAlign="TextAlign.Center">Регистрация</RadzenText>
|
||||
<RadzenText TextStyle="TextStyle.H5" TextAlign="TextAlign.Center">Регистрация</RadzenText>
|
||||
<RadzenFormField Text="Логин" Variant="Variant.Outlined">
|
||||
<ChildContent>
|
||||
<RadzenTextBox Name="UserName" @bind-Value=@Input.UserName AutoCompleteType="AutoCompleteType.Username" />
|
||||
@ -42,7 +34,7 @@
|
||||
</ChildContent>
|
||||
<Helper>
|
||||
<RadzenRequiredValidator Component="ConfirmPassword" Text="Поле 'Пароль' обязательно к заполнению" />
|
||||
<RadzenCompareValidator Visible=@(!string.IsNullOrEmpty(Input.ConfirmPassword)) Value=@Input.Password Component="ConfirmPassword" Text="Пароли должны совпадать" />
|
||||
<RadzenCompareValidator Value=@Input.Password Component="ConfirmPassword" Text="Пароли должны совпадать" />
|
||||
</Helper>
|
||||
</RadzenFormField>
|
||||
<RadzenButton ButtonType="ButtonType.Submit" Text="Зарегистрировать"></RadzenButton>
|
||||
@ -63,28 +55,28 @@
|
||||
[SupplyParameterFromForm]
|
||||
InputModel Input { get; set; } = new();
|
||||
|
||||
[SupplyParameterFromQuery]
|
||||
string? Errors { get; set; }
|
||||
|
||||
[SupplyParameterFromQuery]
|
||||
string? ReturnUrl { get; set; }
|
||||
|
||||
async Task OnSubmit(InputModel mode)
|
||||
protected override void OnAfterRender(bool firstRender)
|
||||
{
|
||||
var user = Activator.CreateInstance<AppUser>();
|
||||
await UserStore.SetUserNameAsync(user, Input.UserName, CancellationToken.None);
|
||||
base.OnAfterRender(firstRender);
|
||||
|
||||
var result = await UserManager.CreateAsync(user, Input.Password);
|
||||
if (!result.Succeeded)
|
||||
if (firstRender)
|
||||
{
|
||||
NotificationService.Notify(new NotificationMessage()
|
||||
if (!string.IsNullOrEmpty(Errors))
|
||||
{
|
||||
Severity = NotificationSeverity.Error,
|
||||
Summary = "Ошибка",
|
||||
Detail = string.Join(", ", result.Errors.Select(error => error.Description))
|
||||
});
|
||||
return;
|
||||
NotificationService.Notify(new NotificationMessage()
|
||||
{
|
||||
Severity = NotificationSeverity.Error,
|
||||
Summary = "Ошибка",
|
||||
Detail = Errors,
|
||||
Duration = -1d
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await SignInManager.SignInAsync(user, isPersistent: false);
|
||||
|
||||
RedirectManager.RedirectTo(ReturnUrl);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
@page "/test/export"
|
||||
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Hcs.Broker
|
||||
@using Hcs.Broker.Logger
|
||||
@using Hcs.Broker.MessageCapturer
|
||||
@using Hcs.Service.Async.Nsi
|
||||
@using Hcs.WebApp.Config
|
||||
@using Hcs.WebApp.Utils
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@implements IDisposable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user