Fix guest policy form schema
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-01 20:38:29 +01:00
parent c180b37760
commit cc25c2b506
2 changed files with 8 additions and 7 deletions

View File

@@ -36,7 +36,7 @@
{"id":"fotospiel-app-9mj","title":"Ops mail default + withdrawal legal routes","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-01T16:10:02.167387589+01:00","created_by":"soeren","updated_at":"2026-01-01T16:10:07.783737036+01:00","closed_at":"2026-01-01T16:10:07.783737036+01:00","close_reason":"Completed in codebase (verified)"}
{"id":"fotospiel-app-a1n","title":"Paddle migration: define mobile/native billing strategy (RevenueCat vs Paddle)","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-01T15:56:40.030226023+01:00","created_by":"soeren","updated_at":"2026-01-01T15:56:40.030226023+01:00"}
{"id":"fotospiel-app-agz","title":"Tenant admin onboarding: update PRP/docs + handoff notes","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-01T16:08:51.748367378+01:00","created_by":"soeren","updated_at":"2026-01-01T16:08:51.748367378+01:00"}
{"id":"fotospiel-app-arp","title":"Guest policy settings (toggles, rate limits, retention defaults)","description":"Global guest feature toggles, rate limits, and retention defaults. Settings page + persistence.","notes":"Implemented GuestPolicySetting (cached singleton + migration) and SuperAdmin guest policy settings page. Wired guest defaults + rate limits into EventPublicController, share-link TTL, per-device upload limit, and guest notification default TTL. Added tests for gallery defaults, policy device limit, and notification TTL. Ran vendor/bin/pint --dirty; php artisan test tests/Feature/Api/EventGuestUploadLimitTest.php; php artisan test tests/Feature/GuestJoinTokenFlowTest.php; php artisan test tests/Feature/Tenant/GuestNotificationBroadcastTest.php.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-01T14:18:52.931017783+01:00","updated_at":"2026-01-01T20:25:05.509507365+01:00","closed_at":"2026-01-01T20:25:05.509507365+01:00","close_reason":"Completed"}
{"id":"fotospiel-app-arp","title":"Guest policy settings (toggles, rate limits, retention defaults)","description":"Global guest feature toggles, rate limits, and retention defaults. Settings page + persistence.","notes":"Fix: GuestPolicySettingsPage now defines form(Schema ) with schema components to register properly; ran vendor/bin/pint --dirty and php artisan test --filter=test_gallery_defaults_use_guest_policy_settings.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-01T14:18:52.931017783+01:00","updated_at":"2026-01-01T20:38:09.197512959+01:00","closed_at":"2026-01-01T20:38:09.197512959+01:00","close_reason":"Completed"}
{"id":"fotospiel-app-auq","title":"Security review checklist: Media pipeline/storage dynamic tests","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-01T16:04:57.616770583+01:00","created_by":"soeren","updated_at":"2026-01-01T16:04:57.616770583+01:00"}
{"id":"fotospiel-app-b0h","title":"Security review: trust boundaries/entrypoints mapped","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-01T16:03:43.175087637+01:00","created_by":"soeren","updated_at":"2026-01-01T16:03:48.799343248+01:00","closed_at":"2026-01-01T16:03:48.799343248+01:00","close_reason":"Completed in codebase (verified)"}
{"id":"fotospiel-app-bep","title":"SEC-IO-01 Document PAT revocation/rotation playbook","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-01T15:51:44.568780967+01:00","created_by":"soeren","updated_at":"2026-01-01T15:51:44.568780967+01:00"}

View File

@@ -5,9 +5,10 @@ namespace App\Filament\SuperAdmin\Pages;
use App\Filament\Clusters\RareAdmin\RareAdminCluster;
use App\Models\GuestPolicySetting;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Notifications\Notification;
use Filament\Pages\Page;
use Filament\Schemas\Components\Section;
use Filament\Schemas\Schema;
class GuestPolicySettingsPage extends Page
{
@@ -73,10 +74,10 @@ class GuestPolicySettingsPage extends Page
$this->guest_notification_ttl_hours = $settings->guest_notification_ttl_hours;
}
public function form(Form $form): Form
public function form(Schema $schema): Schema
{
return $form->schema([
Forms\Components\Section::make(__('admin.guest_policy.sections.toggles'))
return $schema->schema([
Section::make(__('admin.guest_policy.sections.toggles'))
->schema([
Forms\Components\Toggle::make('guest_downloads_enabled')
->label(__('admin.guest_policy.fields.guest_downloads_enabled')),
@@ -91,7 +92,7 @@ class GuestPolicySettingsPage extends Page
->required(),
])
->columns(2),
Forms\Components\Section::make(__('admin.guest_policy.sections.rate_limits'))
Section::make(__('admin.guest_policy.sections.rate_limits'))
->schema([
Forms\Components\TextInput::make('per_device_upload_limit')
->label(__('admin.guest_policy.fields.per_device_upload_limit'))
@@ -126,7 +127,7 @@ class GuestPolicySettingsPage extends Page
->minValue(1),
])
->columns(2),
Forms\Components\Section::make(__('admin.guest_policy.sections.retention'))
Section::make(__('admin.guest_policy.sections.retention'))
->schema([
Forms\Components\TextInput::make('share_link_ttl_hours')
->label(__('admin.guest_policy.fields.share_link_ttl_hours'))