* Changed views to have them in the same layout

* Added Authorization
This commit is contained in:
2025-02-28 13:33:01 +01:00
parent aedb5810c2
commit b8fbb789ad
35 changed files with 1605 additions and 1306 deletions

View File

@@ -0,0 +1,87 @@
@page "/register"
@using OrdersManagement.Models
@using OrdersManagementDataModel.Dtos
@using Syncfusion.Blazor.Inputs
@using Syncfusion.Blazor.Buttons
@using Syncfusion.Blazor.Cards
@inject UserService UserService
@inject NavigationManager NavigationManager
<div class="h-100 d-flex flex-column">
<h5>Rejestracja</h5>
<br/>
<SfCard>
<CardHeader Title="Zarejestruj się"/>
<CardContent>
<EditForm Model="@RegisterModel" OnValidSubmit="HandleRegister">
<DataAnnotationsValidator/>
<ValidationSummary/>
<div class="form-group">
<label for="login">Login</label>
<SfTextBox ID="login" @bind-Value="RegisterModel.Login" Placeholder="Wprowadź login"
CssClass="e-outline"/>
<ValidationMessage For="@(() => RegisterModel.Login)"/>
</div>
<div class="form-group">
<label for="email">Email</label>
<SfTextBox ID="email" @bind-Value="RegisterModel.Email" Placeholder="Wprowadź email"
CssClass="e-outline"/>
<ValidationMessage For="@(() => RegisterModel.Email)"/>
</div>
<div class="form-group">
<label for="firstName">Imię</label>
<SfTextBox ID="firstName" @bind-Value="RegisterModel.FirstName" Placeholder="Wprowadź imię"
CssClass="e-outline"/>
<ValidationMessage For="@(() => RegisterModel.FirstName)"/>
</div>
<div class="form-group">
<label for="lastName">Nazwisko</label>
<SfTextBox ID="lastName" @bind-Value="RegisterModel.LastName" Placeholder="Wprowadź nazwisko"
CssClass="e-outline"/>
<ValidationMessage For="@(() => RegisterModel.LastName)"/>
</div>
<div class="form-group mt-3">
<SfButton CssClass="e-primary" IsPrimary="true" Type="submit">Zarejestruj</SfButton>
</div>
</EditForm>
</CardContent>
</SfCard>
</div>
@code {
private RegisterModel RegisterModel { get; set; } = new();
private async Task HandleRegister()
{
var temporaryPassword = Guid.NewGuid().ToString().Substring(0, 8);
var passwordHash = BCrypt.Net.BCrypt.HashPassword(temporaryPassword);
var user = new UserDto
{
Login = RegisterModel.Login,
PasswordHash = passwordHash,
IsTemporaryPassword = true,
IsActive = true,
ActiveFrom = DateTime.Now,
Email = RegisterModel.Email,
FirstName = RegisterModel.FirstName,
LastName = RegisterModel.LastName,
CreatedDate = DateTime.Now,
RowPointer = Guid.NewGuid()
};
var result = await UserService.AddUserAsync(user);
if (result.IsSuccessStatusCode)
{
NavigationManager.NavigateTo($"/login?tempPassword={Uri.EscapeDataString(temporaryPassword)}");
}
}
}