WIP: supervisor

This commit is contained in:
Frede Hundewadt 2023-03-24 15:44:42 +01:00
parent 4d321f480f
commit 65556383fd
7 changed files with 42 additions and 92 deletions

View file

@ -13,7 +13,6 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
*@ *@
@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Authorization
@using Wonky.Client.Components @using Wonky.Client.Components
@ -25,14 +24,14 @@
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<AuthorizeView Roles="Admin,Office"> <AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/dk"> <a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/dk">
<i class="bi-activity"></i> Sælgere <i class="bi-activity"></i> Sælger Liste
</a> </a>
</AuthorizeView> </AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/dk"> <a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/dk">
<i class="bi-building"></i> Tlf.Ordre <i class="bi-phone"></i> Telefon Bestilling
</a> </a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/dk"> <a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/dk">
<i class="bi-file-spreadsheet"></i> Priser <i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a> </a>
</div> </div>
</div> </div>
@ -46,14 +45,14 @@
<div class="list-group"> <div class="list-group">
<AuthorizeView Roles="Admin,Office"> <AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/no"> <a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/no">
<i class="bi-activity"></i> Sælgere <i class="bi-activity"></i> Sælger Liste
</a> </a>
</AuthorizeView> </AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/no"> <a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/no">
<i class="bi-phone"></i> Tlf.Ordre <i class="bi-phone"></i> Telefon Bestilling
</a> </a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/no"> <a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/no">
<i class="bi-file-spreadsheet"></i> Priser <i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a> </a>
</div> </div>
</div> </div>
@ -67,14 +66,14 @@
<div class="list-group"> <div class="list-group">
<AuthorizeView Roles="Admin,Office"> <AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/se"> <a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/se">
<i class="bi-activity"></i> Sælgere <i class="bi-activity"></i> Sælger Liste
</a> </a>
</AuthorizeView> </AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/se"> <a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/se">
<i class="bi-phone"></i> Tlf.Ordre <i class="bi-phone"></i> Telefon Bestilling
</a> </a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/se"> <a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/se">
<i class="bi-file-spreadsheet"></i> Priser <i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a> </a>
</div> </div>
</div> </div>

View file

@ -15,71 +15,10 @@
@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Authorization
@using Wonky.Client.Components
@attribute [Authorize(Roles = "Admin,Office,Warehouse")] @attribute [Authorize(Roles = "Admin,Office,Warehouse")]
@page "/office/country" @page "/office/country"
<PageTitle>Kunde oversigt @CountryCode</PageTitle>
<div class="row">
<div class="col-lg-4 col-md-12 col-md-4 mb-4">
<div class="card">
<div class="card-header">Danmark</div>
<div class="card-body">
<div class="list-group list-group-flush">
<AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/dk">
<i class="bi-activity"></i> Sælger Liste
</a>
</AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/dk">
<i class="bi-phone"></i> Telefon Bestilling
</a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/dk">
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-12 col-md-4 mb-4"> <PageTitle>Kontor</PageTitle>
<div class="card">
<div class="card-header">Norge</div>
<div class="card-body">
<div class="list-group">
<AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/no">
<i class="bi-activity"></i> Sælger Liste
</a>
</AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/no">
<i class="bi-phone"></i> Telefon Bestilling
</a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/no">
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-12 col-md-4 mb-4"> <OfficeLandingComponent />
<div class="card">
<div class="card-header">Sverige</div>
<div class="card-body">
<div class="list-group">
<AuthorizeView Roles="Admin,Office">
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/se">
<i class="bi-activity"></i> Sælger Liste
</a>
</AuthorizeView>
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/se">
<i class="bi-phone"></i> Telefon Bestilling
</a>
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/se">
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
</a>
</div>
</div>
</div>
</div>
</div>

View file

@ -36,26 +36,30 @@
<EditForm EditContext="UserAssignmentContext" OnValidSubmit="SaveChanges"> <EditForm EditContext="UserAssignmentContext" OnValidSubmit="SaveChanges">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<div class="card-title h3"> <div class="card-title h3 pt-3">
@UserData.FirstName @UserData.LastName @UserData.FirstName @UserData.LastName
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-title"> <div class="card-title h3">
Supervisor for valgte sælgere Supervisor for valgte sælgere
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
@if (UserData.AssignedUsers.Any()) <div class="row g-2">
{ @if (UserData.AssignedUsers.Any())
foreach (var user in UserData.AssignedUsers)
{ {
<div class="form-check"> foreach (var user in UserData.AssignedUsers)
<InputCheckbox id="@(user.UserId)" class="form-check-input" @bind-Value="user.Assigned"/> {
<label class="form-check-label">@user.FullName</label> <div class="col-sm-3 col-md-2 col-lg-2">
</div> <div class="form-check">
<InputCheckbox id="@(user.UserId)" class="form-check-input" @bind-Value="user.Assigned"/>
<label class="form-check-label">@user.FullName</label>
</div>
</div>
}
} }
} </div>
</div> </div>
<div class="card-footer"> <div class="card-footer">
<div class="text-end"> <div class="text-end">
@ -63,4 +67,4 @@
</div> </div>
</div> </div>
</div> </div>
</EditForm> </EditForm>

View file

@ -14,6 +14,7 @@
// //
using System.Text.Json; using System.Text.Json;
using Blazored.Toast.Services;
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Components.Forms;
using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpInterceptors;
@ -29,7 +30,8 @@ public partial class SystemSupervisorViewEditPage : IDisposable
// ############################################################# // #############################################################
[Inject] public ISystemUserRepository UserRepo { get; set; } [Inject] public ISystemUserRepository UserRepo { get; set; }
[Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; }
[Inject] public ILogger<SystemSupervisorViewEditPage> Logger { get; set; } [Inject] public ILogger<SystemSupervisorViewEditPage> Logger { get; set; }
[Inject] public IToastService Toaster { get; set; }
// ############################################################# // #############################################################
[Parameter] public string UserId { get; set; } = ""; [Parameter] public string UserId { get; set; } = "";
@ -60,6 +62,7 @@ public partial class SystemSupervisorViewEditPage : IDisposable
private async Task SaveChanges() private async Task SaveChanges()
{ {
await UserRepo.UpdateUserInfo(UserId, UserData); await UserRepo.UpdateUserInfo(UserId, UserData);
Toaster.ShowSuccess("Tilknyttede sælgere er opdateret", "Det var det.");
} }
public void Dispose() public void Dispose()

View file

@ -64,6 +64,11 @@
color: white; color: white;
} }
.list-group.panel > .list-group-item {
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
@media (min-width: 1025px) { @media (min-width: 1025px) {
.navbar-toggler { .navbar-toggler {
display: none; display: none;

View file

@ -11,10 +11,10 @@
<PackageReference Include="Blazored.LocalStorage" Version="4.3.0" /> <PackageReference Include="Blazored.LocalStorage" Version="4.3.0" />
<PackageReference Include="Blazored.Toast" Version="3.2.2" /> <PackageReference Include="Blazored.Toast" Version="3.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.13" /> <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.15" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.13" /> <PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.15" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.13" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.15" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.13" PrivateAssets="all" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.15" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />

View file

@ -1,7 +1,7 @@
{ {
"appInfo": { "appInfo": {
"name": "Wonky Online", "name": "Wonky Online",
"version": "0.121.0", "version": "0.124.0",
"rc": true, "rc": true,
"sandBox": false, "sandBox": false,
"image": "grumpy-coder.png" "image": "grumpy-coder.png"
@ -9,7 +9,7 @@
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Debug", "Default": "Debug",
"System": "Information", "System": "Debug",
"Microsoft": "Information" "Microsoft": "Information"
}, },
"Debug": { "Debug": {