Role-specific buttons enabled, front enhancements

This commit is contained in:
2025-09-14 21:21:20 +04:00
parent 86e7895122
commit 46965b2d98
13 changed files with 102 additions and 54 deletions

View File

@@ -26,10 +26,12 @@
</dl>
</div>
<div>
@if (Model.Comment.AuthorId == User.FindFirstValue(ClaimTypes.NameIdentifier))
@if (User.IsInRole("Worker"))
{
<a asp-page="./Edit" asp-route-id="@Model.Comment.Id">Edit</a> <em>|</em>
}
<a asp-page="./Index">Back to List</a>
@if (Model.Comment.AuthorId == User.FindFirstValue(ClaimTypes.NameIdentifier))
{
<a asp-page="./Edit" asp-route-id="@Model.Comment.Id" class="btn btn-primary">Edit</a> <span>|</span>
}
}
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -7,10 +7,13 @@
}
<h1>Comments</h1>
<p>
@if (User.IsInRole("Worker"))
{
<p>
<a asp-page="Create" class="btn btn-success">Create New</a>
</p>
</p>
}
<table class="table">
<thead>
<tr>
@@ -30,15 +33,16 @@
<td>@item.UserLogin</td>
<td>@item.ProductSetName</td>
<td>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a>
@if (item.AuthorId == User.FindFirstValue(ClaimTypes.NameIdentifier))
@if (User.IsInRole("Worker"))
{
<em>|</em>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a> <em>|</em>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
@if (item.AuthorId == User.FindFirstValue(ClaimTypes.NameIdentifier))
{
<em>|</em>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a> <em>|</em>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
}
}
</td>
</tr>
}

View File

@@ -26,6 +26,10 @@
</dl>
</div>
<div>
<a asp-page="./Edit" asp-route-id="@Model.Component.Id">Edit</a> |
<a asp-page="./Index">Back to List</a>
@if (User.IsInRole("Storekeeper"))
{
<a asp-page="./Edit" asp-route-id="@Model.Component.Id" class="btn btn-primary">Edit</a> <span>|</span>
}
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -6,10 +6,12 @@
}
<h1>Index</h1>
<p>
<a asp-page="Create">Create New</a>
</p>
@if (User.IsInRole("Storekeeper"))
{
<p>
<a asp-page="Create" class="btn-success">Create New</a>
</p>
}
<table class="table">
<thead>
<tr>
@@ -32,9 +34,14 @@
@Html.DisplayFor(modelItem => item.ComponentType)
</td>
<td>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-page="./Details" asp-route-id="@item.Id">Details</a> |
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a>
@if (User.IsInRole("Storekeeper"))
{
<span> | </span>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a>
<span> | </span>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
}
</td>
</tr>
}

View File

@@ -32,5 +32,5 @@
</dl>
</div>
<div>
<a asp-page="./Index">Back to List</a>
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -6,10 +6,13 @@
}
<h1>Index</h1>
@if (User.IsInRole("Storekeeper"))
{
<p>
<a asp-page="Create" class="btn-success">Create New</a>
</p>
}
<p>
<a asp-page="Create">Create New</a>
</p>
<table class="table">
<thead>
<tr>

View File

@@ -77,6 +77,10 @@
</dl>
</div>
<div>
<a asp-page="./Edit" asp-route-id="@Model.ProductSet.Id">Edit</a> |
<a asp-page="./Index">Back to List</a>
@if (User.IsInRole("Worker"))
{
<a asp-page="./Edit" asp-route-id="@Model.ProductSet.Id" class="btn btn-primary">Edit</a> <span>|</span>
}
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -6,10 +6,12 @@
}
<h1>Index</h1>
<p>
<a asp-page="Create">Create New</a>
</p>
@if (User.IsInRole("Worker"))
{
<p>
<a asp-page="Create" class="btn btn-success">Create New</a>
</p>
}
<table class="table">
<thead>
<tr>
@@ -32,9 +34,14 @@
@Html.DisplayFor(modelItem => item.TotalPrice)
</td>
<td>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-page="./Details" asp-route-id="@item.Id">Details</a> |
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a>
@if (User.IsInRole("Worker"))
{
<span> | </span>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a>
<span> | </span>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
}
</td>
</tr>
}

View File

@@ -44,6 +44,9 @@
</dl>
</div>
<div>
<a asp-page="./Edit" asp-route-id="@Model.Product.Id">Edit</a> |
<a asp-page="./Index">Back to List</a>
@if (User.IsInRole("Storekeeper"))
{
<a asp-page="./Edit" asp-route-id="@Model.Product.Id" class="btn btn-primary">Edit</a> <span>|</span>
}
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -6,10 +6,13 @@
}
<h1>Index</h1>
@if (User.IsInRole("Storekeeper"))
{
<p>
<a asp-page="Create" class="btn-success">Create New</a>
</p>
}
<p>
<a asp-page="Create">Create New</a>
</p>
<table class="table">
<thead>
<tr>
@@ -32,9 +35,14 @@
@Html.DisplayFor(modelItem => item.Price)
</td>
<td>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-page="./Details" asp-route-id="@item.Id">Details</a> |
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a>
@if (User.IsInRole("Storekeeper"))
{
<span> | </span>
<a asp-page="./Edit" asp-route-id="@item.Id">Edit</a>
<span> | </span>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
}
</td>
</tr>
}

View File

@@ -88,7 +88,6 @@ else
<p><em>No products selected</em></p>
}
<div class="mt-3">
<a asp-page="./Edit" asp-route-id="@Model.Purchase.Id" class="btn btn-primary">Edit</a>
<div class="mt-3">
<a asp-page="./Index" class="btn btn-secondary">Back to List</a>
</div>

View File

@@ -7,9 +7,12 @@
<h1>Index</h1>
<p>
<a asp-page="Create">Create New</a>
</p>
@if (User.IsInRole("Worker"))
{
<p>
<a asp-page="Create" class="btn btn-success">Create New</a>
</p>
}
<table class="table">
<thead>
<tr>
@@ -35,11 +38,15 @@
@Html.DisplayFor(modelItem => item.PurchaseDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.User.Login) @* Username needed here *@
@Html.DisplayFor(modelItem => item.User.Login)
</td>
<td>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a> |
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
<a asp-page="./Details" asp-route-id="@item.Id">Details</a>
@if (User.IsInRole("Worker"))
{
<span> | </span>
<a asp-page="./Delete" asp-route-id="@item.Id">Delete</a>
}
</td>
</tr>
}

View File

@@ -44,10 +44,10 @@ builder.Services.AddAuthorization(options =>
builder.Services.AddRazorPages(options =>
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// authorize all pages by default
options.Conventions.AuthorizeFolder("/");
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/denied
// anonimous access to the account pages
options.Conventions.AllowAnonymousToPage("/Account/Login");
options.Conventions.AllowAnonymousToPage("/Account/Register");
options.Conventions.AllowAnonymousToPage("/Account/AccessDenied");