mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Merge pull request #116 from LD-Reborn/99-feature-add-groups-view
Improved accessibility, fixed groups update fails when no permissions…
This commit is contained in:
@@ -23,13 +23,13 @@
|
|||||||
<table class="table table-striped align-middle">
|
<table class="table table-striped align-middle">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="text-align: center">Group</th>
|
<th class="text-center">Group</th>
|
||||||
<th style="text-align: center">@T["Can"]:<br/>@T["inventorize"]</th>
|
<th class="text-center">@T["Can"]:<br/>@T["inventorize"]</th>
|
||||||
<th style="text-align: center">@T["Can"]:<br/>@T["manage users"]</th>
|
<th class="text-center">@T["Can"]:<br/>@T["manage users"]</th>
|
||||||
<th style="text-align: center">@T["Can"]:<br/>@T["manage locations"]</th>
|
<th class="text-center">@T["Can"]:<br/>@T["manage locations"]</th>
|
||||||
<th style="text-align: center">@T["Can"]:<br/>@T["manage assets"]</th>
|
<th class="text-center">@T["Can"]:<br/>@T["manage assets"]</th>
|
||||||
<th style="text-align: center">@T["Can"]:<br/>@T["manage groups"]</th>
|
<th class="text-center">@T["Can"]:<br/>@T["manage groups"]</th>
|
||||||
<th style="text-align: center">@T["Action"]</th>
|
<th class="text-center">@T["Action"]</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -37,13 +37,13 @@
|
|||||||
foreach (GroupsTableViewModel groupTableViewModel in Model.GroupsTableViewModels)
|
foreach (GroupsTableViewModel groupTableViewModel in Model.GroupsTableViewModels)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: center">@groupTableViewModel.Group</td>
|
<td class="text-center">@groupTableViewModel.Group</td>
|
||||||
<td style="text-align: center">@(groupTableViewModel.CanInventorize ? "☑️" : "❌")</td>
|
<td class="text-center @(groupTableViewModel.CanInventorize ? "text-success" : "text-danger")">@(groupTableViewModel.CanInventorize ? "✓" : "✗")</td>
|
||||||
<td style="text-align: center">@(groupTableViewModel.CanManageUsers ? "☑️" : "❌")</td>
|
<td class="text-center @(groupTableViewModel.CanManageUsers ? "text-success" : "text-danger")">@(groupTableViewModel.CanManageUsers ? "✓" : "✗")</td>
|
||||||
<td style="text-align: center">@(groupTableViewModel.CanManageLocations ? "☑️" : "❌")</td>
|
<td class="text-center @(groupTableViewModel.CanManageLocations ? "text-success" : "text-danger")">@(groupTableViewModel.CanManageLocations ? "✓" : "✗")</td>
|
||||||
<td style="text-align: center">@(groupTableViewModel.CanManageAssets ? "☑️" : "❌")</td>
|
<td class="text-center @(groupTableViewModel.CanManageAssets ? "text-success" : "text-danger")">@(groupTableViewModel.CanManageAssets ? "✓" : "✗")</td>
|
||||||
<td style="text-align: center">@(groupTableViewModel.CanManageGroups ? "☑️" : "❌")</td>
|
<td class="text-center @(groupTableViewModel.CanManageGroups ? "text-success" : "text-danger")">@(groupTableViewModel.CanManageGroups ? "✓" : "✗")</td>
|
||||||
<td style="text-align: center">
|
<td class="text-center">
|
||||||
<div class="d-flex gap-2 justify-content-center">
|
<div class="d-flex gap-2 justify-content-center">
|
||||||
<button class="btn btn-sm btn-warning btn-update"
|
<button class="btn btn-sm btn-warning btn-update"
|
||||||
data-group-id="@groupTableViewModel.Cn"
|
data-group-id="@groupTableViewModel.Cn"
|
||||||
@@ -287,11 +287,11 @@
|
|||||||
|
|
||||||
newRow.innerHTML = `
|
newRow.innerHTML = `
|
||||||
<td style="text-align: center">${jsonData.Cn}</td>
|
<td style="text-align: center">${jsonData.Cn}</td>
|
||||||
<td style="text-align: center">${jsonData.Permissions.includes("CanInventorize") ? "☑️" : "❌"}</td>
|
<td class="text-center ${jsonData.Permissions.includes("CanInventorize") ? "text-success" : "text-danger"}">${jsonData.Permissions.includes("CanInventorize") ? "✓" : "✗"}</td>
|
||||||
<td style="text-align: center">${jsonData.Permissions.includes("CanManageUsers") ? "☑️" : "❌"}</td>
|
<td class="text-center ${jsonData.Permissions.includes("CanManageUsers") ? "text-success" : "text-danger"}">${jsonData.Permissions.includes("CanManageUsers") ? "✓" : "✗"}</td>
|
||||||
<td style="text-align: center">${jsonData.Permissions.includes("CanManageLocations") ? "☑️" : "❌"}</td>
|
<td class="text-center ${jsonData.Permissions.includes("CanManageLocations") ? "text-success" : "text-danger"}">${jsonData.Permissions.includes("CanManageLocations") ? "✓" : "✗"}</td>
|
||||||
<td style="text-align: center">${jsonData.Permissions.includes("CanManageAssets") ? "☑️" : "❌"}</td>
|
<td class="text-center ${jsonData.Permissions.includes("CanManageAssets") ? "text-success" : "text-danger"}">${jsonData.Permissions.includes("CanManageAssets") ? "✓" : "✗"}</td>
|
||||||
<td style="text-align: center">${jsonData.Permissions.includes("CanManageGroups") ? "☑️" : "❌"}</td>
|
<td class="text-center ${jsonData.Permissions.includes("CanManageGroups") ? "text-success" : "text-danger"}">${jsonData.Permissions.includes("CanManageGroups") ? "✓" : "✗"}</td>
|
||||||
<td style="text-align: center">
|
<td style="text-align: center">
|
||||||
<div class="d-flex gap-2 justify-content-center">
|
<div class="d-flex gap-2 justify-content-center">
|
||||||
<button class="btn btn-sm btn-warning btn-update"
|
<button class="btn btn-sm btn-warning btn-update"
|
||||||
@@ -450,6 +450,9 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
permissions.push(element.name.substr(element.name.lastIndexOf(".") + 1));
|
permissions.push(element.name.substr(element.name.lastIndexOf(".") + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!jsonData.Description) { // Necessary for when no permissions are selected.
|
||||||
|
jsonData.Description = {};
|
||||||
|
}
|
||||||
jsonData.Description.Permissions = permissions;
|
jsonData.Description.Permissions = permissions;
|
||||||
jsonData.Description.DisplayName = jsonData.DisplayName;
|
jsonData.Description.DisplayName = jsonData.DisplayName;
|
||||||
jsonData.DisplayName = null;
|
jsonData.DisplayName = null;
|
||||||
@@ -470,11 +473,40 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
.find(r => r.querySelector(`[data-group-id="${jsonData.Cn}"]`));
|
.find(r => r.querySelector(`[data-group-id="${jsonData.Cn}"]`));
|
||||||
if (row) {
|
if (row) {
|
||||||
row.children[0].textContent = jsonData.Description.DisplayName || '';
|
row.children[0].textContent = jsonData.Description.DisplayName || '';
|
||||||
row.children[1].textContent = jsonData.Description.Permissions.includes("CanInventorize") ? "☑️" : "❌" || '';
|
row.children[1].textContent = jsonData.Description.Permissions.includes("CanInventorize") ? "✓" : "✗" || '';
|
||||||
row.children[2].textContent = jsonData.Description.Permissions.includes("CanManageUsers") ? "☑️" : "❌" || '';
|
row.children[2].textContent = jsonData.Description.Permissions.includes("CanManageUsers") ? "✓" : "✗" || '';
|
||||||
row.children[3].textContent = jsonData.Description.Permissions.includes("CanManageLocations") ? "☑️" : "❌" || '';
|
row.children[3].textContent = jsonData.Description.Permissions.includes("CanManageLocations") ? "✓" : "✗" || '';
|
||||||
row.children[4].textContent = jsonData.Description.Permissions.includes("CanManageAssets") ? "☑️" : "❌" || '';
|
row.children[4].textContent = jsonData.Description.Permissions.includes("CanManageAssets") ? "✓" : "✗" || '';
|
||||||
row.children[5].textContent = jsonData.Description.Permissions.includes("CanManageGroups") ? "☑️" : "❌" || '';
|
row.children[5].textContent = jsonData.Description.Permissions.includes("CanManageGroups") ? "✓" : "✗" || '';
|
||||||
|
if (jsonData.Description.Permissions.includes("CanInventorize")) {
|
||||||
|
row.children[1].className = "text-center text-success";
|
||||||
|
} else {
|
||||||
|
row.children[1].className = "text-center text-danger";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonData.Description.Permissions.includes("CanManageUsers")) {
|
||||||
|
row.children[2].className = "text-center text-success";
|
||||||
|
} else {
|
||||||
|
row.children[2].className = "text-center text-danger";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonData.Description.Permissions.includes("CanManageLocations")) {
|
||||||
|
row.children[3].className = "text-center text-success";
|
||||||
|
} else {
|
||||||
|
row.children[3].className = "text-center text-danger";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonData.Description.Permissions.includes("CanManageAssets")) {
|
||||||
|
row.children[4].className = "text-center text-success";
|
||||||
|
} else {
|
||||||
|
row.children[4].className = "text-center text-danger";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jsonData.Description.Permissions.includes("CanManageGroups")) {
|
||||||
|
row.children[5].className = "text-center text-success";
|
||||||
|
} else {
|
||||||
|
row.children[5].className = "text-center text-danger";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
showToast(result.reason || 'Error updating group', 'danger');
|
showToast(result.reason || 'Error updating group', 'danger');
|
||||||
|
|||||||
Reference in New Issue
Block a user