Premier commit
This commit is contained in:
112
overrides/user/views/admin/permissions.php
Normal file
112
overrides/user/views/admin/permissions.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
use Piko;
|
||||
use function Piko\I18n\__;
|
||||
assert($this instanceof Piko\View);
|
||||
|
||||
/* @var $permissions array */
|
||||
|
||||
$this->title = __('user', 'Permissions');
|
||||
|
||||
$this->registerCSSFile(Piko::getAlias('@web/js/DataTables/datatables.min.css'));
|
||||
$this->registerJsFile(Piko::getAlias('@web/js/jquery-3.7.1.min.js'));
|
||||
$this->registerJsFile(Piko::getAlias('@web/js/DataTables/datatables.min.js'));
|
||||
|
||||
$script = <<<JS
|
||||
$(function() {
|
||||
|
||||
$('#permissions-table').DataTable({
|
||||
'order': [[1, 'desc']]
|
||||
});
|
||||
|
||||
$('#delete').click(function(e) {
|
||||
if (confirm('Êtes-vous sûr de vouloir effectuer cette action ?')) {
|
||||
$('#admin-form').attr('action', '/user/admin/delete-permissions')
|
||||
$('#admin-form').submit()
|
||||
}
|
||||
});
|
||||
|
||||
$('#btn-new-permission, .edit-permission').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var permissionName = '';
|
||||
var permissionId = $(this).data('id');
|
||||
var action = $(this).attr('href');
|
||||
const modal = new bootstrap.Modal('#editPermissionModal');
|
||||
|
||||
if ($(this).hasClass('edit-permission')) {
|
||||
permissionName = $(this).text();
|
||||
}
|
||||
|
||||
$('#permission-name').val(permissionName);
|
||||
modal.show();
|
||||
|
||||
$('#btn-save-permission').on('click', function() {
|
||||
if ($('#permission-name').val()) {
|
||||
$.ajax({
|
||||
method: 'post',
|
||||
url: action,
|
||||
data: {name: $('#permission-name').val(), id: permissionId}
|
||||
})
|
||||
.done(function(data) {
|
||||
if (data.status == 'success') {
|
||||
location.reload();
|
||||
}
|
||||
if (data.status == 'error') {
|
||||
alert(data.error)
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
JS;
|
||||
$this->registerJs($script);
|
||||
|
||||
?>
|
||||
|
||||
<div class="container-xxl">
|
||||
<?= $this->render('nav', ['page' => 'permissions']) ?>
|
||||
|
||||
<form action="" method="post" id="admin-form">
|
||||
|
||||
<div class="btn-group mb-4" role="group">
|
||||
<a href="<?= $this->getUrl('user/admin/edit-permission') ?>" class="btn btn-primary btn-sm" id="btn-new-permission"><?= __('user', 'New permission') ?></a>
|
||||
<button type="button" class="btn btn-danger btn-sm" id="delete"><?= __('user', 'Delete') ?></button>
|
||||
</div>
|
||||
|
||||
<table class="table table-striped" id="permissions-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= __('user', 'Name') ?></th>
|
||||
<th><?= __('user', 'Id') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($permissions as $permission): ?>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" name="items[]" value="<?= $permission['id'] ?>">
|
||||
<a href="<?= $this->getUrl('user/admin/edit-permission', ['id' => $permission['id']])?>"
|
||||
class="edit-permission" data-id="<?= $permission['id'] ?>"><?= $permission['name'] ?></a>
|
||||
</td>
|
||||
<td><?= $permission['id'] ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="editPermissionModal" tabindex="-1" role="dialog" aria-labelledby="editPermissionModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<input type="text" id="permission-name" class="form-control" placeholder="<?= __('user', 'Permission name') ?>">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= __('user', 'Cancel') ?></button>
|
||||
<button type="button" class="btn btn-primary" id="btn-save-permission"><?= __('user', 'Save') ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user