Files
breadcrumb-the-shire/pages/admin/roles/create(default).phtml
fs c429ff43cd refactor: fix 7 CRUD system inconsistencies for robustness and maintainability
- Add user-assignment dependency check to DepartmentService.deleteByUuid (409 when users assigned)
- Standardize POST detection to isMethod('POST') in 10 create/edit actions
- Align RoleService code uniqueness to warning pattern (matching departments)
- Normalize repository create() return types from mixed to int|false (3 repos + 3 interfaces)
- Add JSON response branches to 4 non-user delete actions
- Document delete authorization ordering pattern
- Decompose AdminSettingsService.updateFromAdmin into domain-scoped private methods

Workflow: .agents/runs/CRUD-CONSISTENCY-001/
Reviewed by: Code Reviewer (pass), Security Reviewer (pass), Acceptance Tester (pass)
Quality gates: QG-001 PHPUnit pass, QG-002 PHPStan pass, QG-003 Architecture pass

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 18:25:33 +01:00

62 lines
1.5 KiB
PHTML

<?php
/**
* @var array<int, string> $errors
* @var array $form
*/
?>
<div class="app-details-container">
<section>
<?php
$breadcrumbs = [
['label' => t('Home'), 'path' => 'admin'],
['label' => t('Roles'), 'path' => 'admin/roles'],
['label' => t('Create role')],
];
require templatePath('partials/app-breadcrumb.phtml');
$titlebar = [
'title' => t('Create role'),
'backHref' => 'admin/roles',
'backTitle' => t('Cancel'),
'actions' => [
[
'form' => 'role-form',
'name' => 'action',
'value' => 'create',
'class' => 'secondary outline',
'label' => t('Create'),
],
[
'form' => 'role-form',
'name' => 'action',
'value' => 'create_close',
'class' => 'primary',
'label' => t('Create & close'),
],
],
];
require templatePath('partials/app-details-titlebar.phtml');
?>
<?php
$validationSummaryErrors = $validationSummaryErrors ?? ($errors ?? []);
require templatePath('partials/app-details-validation-summary.phtml');
?>
<?php if (!empty($warnings)): ?>
<div class="notice" data-variant="info">
<ul>
<?php foreach ($warnings as $warning): ?>
<li><?php e($warning); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<?php
$values = $form ?? [];
$detailsOpenAll = true;
$ignoreTabStorage = true;
require __DIR__ . '/_form.phtml';
?>
</section>
</div>