forked from fa/breadcrumb-the-shire
Follow-up to commits144d841(Embed user lifecycle audit into settings page) +8c07c2c(Revert "fix(user-lifecycle-panel): restore filter-options population"). The audit page move turned the user-lifecycle list-page into a slot template included by pages/admin/settings/user-lifecycle. Slot templates run during the view phase, where MintyPHP forbids DB calls ("Database can only be used in MintyPHP action", DB.php). The populated actor / action / status / trigger filter dropdowns — previously fed by UserLifecycleAuditService::filterOptions() during the action phase of the now-deleted index().php — therefore had to go away and were not replaced. The service method and its underlying UserLifecycleAuditRepository::listFilterOptions() became dead code in the same commit but were kept; this cleans them up. Removed: * UserLifecycleAuditService::filterOptions(int) — single caller was the deleted index() action. * UserLifecycleAuditRepository::listFilterOptions(int) — single caller was the service method above. * Stale phpstan-baseline.neon entry for the service method. * Now-unused RepositoryArrayHelper import in the repository. Sister services (Api / System / Import) still use their own filterOptions() — their list-pages remain action-driven and can populate dropdowns from the DB. The constant FILTER_OPTIONS_LIMIT_MAX in UserLifecycleAuditRepository is kept; listPaged() reuses it as a generic upper bound for multi-value filter inputs. The reduced-fidelity actor filter in the settings panel (URL-pinned IDs only, no DB-side enumeration) is the architecturally correct trade-off for the slot-based isolation. A future provider mechanism on the slot manifest could restore richer filter population without breaking module isolation, but that is out of scope here. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.8 KiB
7.8 KiB