Splits the 755-line monolithic settings page into a tile-based landing hub and six focused subpages (general, security, email, api, sso, branding), each with its own form, CSRF scope and POST handler. Each subpage offers Save / Save & close buttons plus a Cancel/back link to the hub. Backend (AdminSettingsService, gateways, policies, DB schema) unchanged. A new settingsSectionMergePost() helper overlays section POSTs onto the current DB values so partial saves don't wipe unrelated fields (the service defaults missing keys to 0/empty). Sub-action files (logo/favicon/tokens/lifecycle) redirect to the matching subpage, and architecture contracts now check the subpage files instead of the removed monolithic index. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
1.1 KiB
PHP
30 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\Tests\Architecture;
|
|
|
|
final class DetailActionPolicyContractFiles
|
|
{
|
|
/**
|
|
* @return list<string>
|
|
*/
|
|
public static function migratedConfirmFiles(): array
|
|
{
|
|
return [
|
|
'pages/admin/users/edit(default).phtml',
|
|
'pages/admin/users/_form.phtml',
|
|
'pages/admin/tenants/edit(default).phtml',
|
|
'pages/admin/tenants/_form.phtml',
|
|
'pages/admin/departments/edit(default).phtml',
|
|
'pages/admin/roles/edit(default).phtml',
|
|
'pages/admin/permissions/edit(default).phtml',
|
|
// Settings subpages that carry danger actions (and therefore need
|
|
// the data-detail-confirm-message contract) — general/email/sso/branding
|
|
// have no destructive buttons and are deliberately excluded.
|
|
'pages/admin/settings/security(default).phtml',
|
|
'pages/admin/settings/api(default).phtml',
|
|
'templates/partials/app-details-titlebar.phtml',
|
|
'templates/partials/app-details-aside-actions.phtml',
|
|
];
|
|
}
|
|
}
|