Group view page added with the ability to view and change all the groups permissions.

This commit is contained in:
2026-01-05 21:54:20 +01:00
parent fac4255c32
commit f279a78366
3 changed files with 176 additions and 1 deletions

View File

@@ -6,6 +6,8 @@ if (isset($_GET['user_group_add'])) {
include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_user_group_add.php'); include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_user_group_add.php');
} elseif (isset($_GET['user_group_edit'])) { } elseif (isset($_GET['user_group_edit'])) {
include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_user_group_edit.php'); include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_user_group_edit.php');
} elseif (isset($_GET['user_group_view'])) {
include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_user_group_view.php');
} elseif (isset($_GET['permission_add'])) { } elseif (isset($_GET['permission_add'])) {
include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_permission_add.php'); include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/pages/system/pageAccessControl_permission_add.php');
} elseif (isset($_GET['permission_edit'])) { } elseif (isset($_GET['permission_edit'])) {

View File

@@ -0,0 +1,173 @@
<?php
use api\classes\API_usergroups;
use bin\php\Classes\pageNavbar;
if (!defined('APP_INIT')) {
exit;
}
# IDE Section
# Includes Section
include_once($_SERVER['DOCUMENT_ROOT'] . '/bin/php/Classes/pageNavbar.php');
include_once($_SERVER['DOCUMENT_ROOT'] . '/api/classes/API_usergroups.php');
# Check permissions
$API = new API_usergroups();
if (!$API->checkPermissions('admin-access-control-user-groups', 'RO', true)) {
echo 'error 401 unauthorized';
exit;
}
# Page functions
# JS Scripts to load for this page
$jsScriptLoadData['breadCrumbs'] = true;
$jsScriptLoadData['updatePermissions'] = true;
# PageClasses Setup
$pageNavbar = new pageNavbar(true);
# Retrieve Information for the page
$user_group_uuid = htmlspecialchars($_GET['user_group_view'], ENT_QUOTES, 'UTF-8');
$_GET['user_group_uuid'] = $user_group_uuid;
$API_usergroups = new API_usergroups();
$_GET['builder'] = [1 => ['where' => [0 => 'user_group_uuid', 1 => $user_group_uuid]]];
$requiredFields = ['user_group_uuid' => ['type' => 'uuid']];
$API_usergroups->validateData($requiredFields);
$user_group = $API_usergroups->getUsergroup()[0];
$query = "SELECT * FROM vc_user_group_permissions_portal
INNER JOIN vc_permissions ON vc_user_group_permissions_portal.permission_uuid = vc_permissions.permission_uuid
WHERE user_group_uuid = ?";
$stmt = $GLOBALS['pdo']->prepare($query);
$stmt->execute([$user_group_uuid]);
$group_permissions = $stmt->fetchAll(PDO::FETCH_ASSOC);
# Set breadcrumb data
array_push($GLOBALS['breadCrumbArray'], array('display' => __('user_gr1oups'), 'href' => '/accesscontrol/#user-groups'));
array_push($GLOBALS['breadCrumbArray'], array('display' => $user_group['user_group_name'], 'href' => ''));
# Start page output
$pageNavbar->outPutNavbar();
?>
<div class="card">
<div class="card-body">
<div class="row">
<h1>
<i class="fa-solid fa-user-group"></i> <?php echo __('user_group') . ': ' . $user_group['user_group_name'] ?>
</h1>
</div>
<div class="col-md-6 col-lg-6">
<table>
<tr>
<td>user_group_uuid:</td>
<td><?php echo $user_group['user_group_uuid'] ?></td>
</tr>
<tr>
<td>user_group_name:</td>
<td><?php echo $user_group['user_group_name'] ?></td>
</tr>
<tr>
<td>user_group_slugify:</td>
<td><?php echo $user_group['user_group_slugify'] ?></td>
</tr>
<tr>
<td>user_group_type:</td>
<td><?php echo $user_group['user_group_type'] ?></td>
</tr>
<tr>
<td>user_group_weight:</td>
<td><?php echo $user_group['user_group_weight'] ?></td>
</tr>
<tr>
<td>user_group_create_timestamp:</td>
<td><?php echo $user_group['user_group_create_timestamp'] ?></td>
</tr>
<tr>
<td>user_group_modified_timestamp:</td>
<td><?php echo $user_group['user_group_modified_timestamp'] ?></td>
</tr>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<h1>
<i class="fa-solid fa-lock"></i> <?php echo __('permission') ?>
</h1>
<div class="table-responsive">
<table class="multi-filter-select display table table-striped table-hover" data-skip-columns="0,5">
<thead>
<tr>
<th><?php echo __('user_group') ?></th>
<th><?php echo __('NA') ?></th>
<th><?php echo __('RO') ?></th>
<th><?php echo __('RW') ?></th>
<th></th>
</tr>
</thead>
<tfoot>
<tr>
<th><?php echo __('user_group') ?></th>
<th><?php echo __('NA') ?></th>
<th><?php echo __('RO') ?></th>
<th><?php echo __('RW') ?></th>
<th></th>
</tr>
</tfoot>
<tbody>
<?php
foreach ($group_permissions as $group_permissions_data) { ?>
<tr>
<td><?php echo $group_permissions_data['permission_name'] ?> </td>
<td>
<label class="switch">
<input type="checkbox" class="checkbox" data-permission-uuid="<?= $group_permissions_data['permission_uuid'] ?>" data-user-group-uuid="<?= $group_permissions_data['user_group_uuid'] ?>" data-value="NA" data-api-url="/api/v1/access-rights/" <?php echo(($group_permissions_data['permission_value'] == 'NA') ? 'checked' : '') ?>
<?php echo ($API->checkPermissions('admin-access-control-permissions', 'RW', true)) ? '' : 'disabled' ?>>
<div class="slider"></div>
</label>
</td>
<td>
<label class="switch">
<input type="checkbox" class="checkbox" data-permission-uuid="<?= $group_permissions_data['permission_uuid'] ?>" data-user-group-uuid="<?= $group_permissions_data['user_group_uuid'] ?>" data-value="RO" data-api-url="/api/v1/access-rights/" <?php echo(($group_permissions_data['permission_value'] == 'RO') ? 'checked' : '') ?>
<?php echo ($API->checkPermissions('admin-access-control-permissions', 'RW', true)) ? '' : 'disabled' ?>>
<div class="slider"></div>
</label>
</td>
<td>
<label class="switch">
<input type="checkbox" class="checkbox" data-permission-uuid="<?= $group_permissions_data['permission_uuid'] ?>" data-user-group-uuid="<?= $group_permissions_data['user_group_uuid'] ?>" data-value="RW" data-api-url="/api/v1/access-rights/" <?php echo(($group_permissions_data['permission_value'] == 'RW') ? 'checked' : '') ?>
<?php echo ($API->checkPermissions('admin-access-control-permissions', 'RW', true)) ? '' : 'disabled' ?>>
<div class="slider"></div>
</label>
</td>
<td>
<a href="#" class="btn btn-info btn-sm btn-rounded" data-bs-toggle="modal" data-bs-target="#infoModal<?php echo $group_permissions_data['permission_uuid'] ?>"><i class="fa-solid fa-circle-info"></i></a>
</td>
<div class="modal fade" id="infoModal<?php echo $group_permissions_data['permission_uuid'] ?>" tabindex="-1" aria-labelledby="infoModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content bg-black2">
<div class="modal-header">
<h5 class="modal-title" id="infoModalLabel">
<i class="fas fa-info-circle"></i> <?php echo __('information') ?>
</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<?php echo $group_permissions_data['permission_description'] ?>
</div>
</div>
</div>
</div>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>

View File

@@ -263,7 +263,7 @@ while ($row = $stmt->fetch_assoc()) {
<a href="?user_group_edit=<?php echo $user_group['user_group_uuid'] ?>" class="btn btn-primary btn-sm btn-rounded"><i class="fas fa-edit"></i></a> <a href="?user_group_edit=<?php echo $user_group['user_group_uuid'] ?>" class="btn btn-primary btn-sm btn-rounded"><i class="fas fa-edit"></i></a>
<?php } ?> <?php } ?>
<?php if ($API->checkPermissions('admin-access-control-user-groups', 'RO', true)) { ?> <?php if ($API->checkPermissions('admin-access-control-user-groups', 'RO', true)) { ?>
<a href="#" class="btn btn-info btn-sm btn-rounded" data-bs-toggle="modal" data-bs-target="#infoModal<?php echo $user_group['user_group_slugify'] ?>"><i class="far fa-eye"></i></a> <a href="?user_group_view=<?php echo $user_group['user_group_uuid'] ?>" class="btn btn-info btn-sm btn-rounded"><i class="far fa-eye"></i></a>
<?php } ?> <?php } ?>
<?php if ($API->checkPermissions('admin-access-control-user-groups', 'RW', true)) { ?> <?php if ($API->checkPermissions('admin-access-control-user-groups', 'RW', true)) { ?>
<a href="#" class="btn btn-danger btn-sm btn-rounded delete-btn" data-item-uuid="<?php echo $user_group['user_group_uuid'] ?>" data-api-url="/api/v1/user-groups/" data-item-name="user_group_uuid"><i class="fas fa-trash-alt"></i></a> <a href="#" class="btn btn-danger btn-sm btn-rounded delete-btn" data-item-uuid="<?php echo $user_group['user_group_uuid'] ?>" data-api-url="/api/v1/user-groups/" data-item-name="user_group_uuid"><i class="fas fa-trash-alt"></i></a>