94 lines
3.3 KiB
PHTML
94 lines
3.3 KiB
PHTML
<?php
|
|
|
|
/**
|
|
* @var array<int, string> $errors
|
|
* @var array $form
|
|
* @var array $permission
|
|
*/
|
|
|
|
?>
|
|
<div class="app-details-container">
|
|
<section>
|
|
<?php
|
|
$breadcrumbs = [
|
|
['label' => t('Home'), 'path' => 'admin'],
|
|
['label' => t('Permissions'), 'path' => 'admin/permissions'],
|
|
['label' => t('Edit permission')],
|
|
];
|
|
require templatePath('partials/app-breadcrumb.phtml');
|
|
?>
|
|
<div class="app-details-titlebar">
|
|
<h1>
|
|
<a href="admin/permissions" title="<?php e(t('Cancel')); ?>"><i class="bi bi-arrow-left"></i></a>
|
|
<?php e(t('Edit permission')); ?>
|
|
</h1>
|
|
<div class="app-details-titlebar-actions">
|
|
<?php if (can('permissions.delete') && empty($permission['is_system'])): ?>
|
|
<details class="dropdown">
|
|
<summary role="button" class="outline secondary"><i class="bi bi-three-dots"></i></summary>
|
|
<ul dir="rtl">
|
|
<li>
|
|
<form method="post" action="admin/permissions/delete/<?php e((string) ($permission['id'] ?? '')); ?>"
|
|
onsubmit="return confirm('<?php e(t('Delete this permission?')); ?>');">
|
|
<?php MintyPHP\Session::getCsrfInput(); ?>
|
|
<button type="submit" class="transparent">
|
|
<?php e(t('Delete')); ?>
|
|
</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</details>
|
|
<?php endif; ?>
|
|
<?php if (can('permissions.update')): ?>
|
|
<button type="submit" form="permission-form" name="action" value="save" class="secondary outline">
|
|
<?php e(t('Save')); ?>
|
|
</button>
|
|
<button type="submit" form="permission-form" name="action" value="save_close" class="primary">
|
|
<?php e(t('Save & close')); ?>
|
|
</button>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
<?php if (!empty($errors)): ?>
|
|
<div class="notice" data-variant="error">
|
|
<ul>
|
|
<?php foreach ($errors as $error): ?>
|
|
<li><?php e($error); ?></li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</div>
|
|
<?php endif; ?>
|
|
<?php
|
|
$values = $form ?? $permission ?? [];
|
|
$isReadOnly = !can('permissions.update');
|
|
$detailsOpenAll = true;
|
|
$isReadOnly = $isReadOnly ?? false;
|
|
require __DIR__ . '/_form.phtml';
|
|
?>
|
|
<?php if (!empty($roles)): ?>
|
|
<div>
|
|
<?php multiSelectForm('permission-roles', 'role_ids', 'Assigned roles', 'Select roles', $roles, $selectedRoleIds ?? [], $isReadOnly, 'description', 'permission-form'); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
</section>
|
|
<aside id="app-details-aside-section">
|
|
<div class="app-details-aside-section">
|
|
<hgroup>
|
|
<h2><?php e($values['key'] ?? ''); ?></h2>
|
|
<p><?php e(t('Permission')); ?></p>
|
|
</hgroup>
|
|
<div class="badge-list">
|
|
<?php if ((string) ($values['active'] ?? '1') === '0'): ?>
|
|
<span class="badge" data-variant="danger"><?php e(t('Inactive')); ?></span>
|
|
<?php else: ?>
|
|
<span class="badge" data-variant="success"><?php e(t('Active')); ?></span>
|
|
<?php endif; ?>
|
|
<?php if (!empty($values['is_system'])): ?>
|
|
<span class="badge" data-variant="neutral"><?php e(t('System')); ?></span>
|
|
<?php endif; ?>
|
|
</div>
|
|
<hr>
|
|
</div>
|
|
</aside>
|
|
</div>
|