You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filament v4 ships RequestPasswordReset and ResetPassword auth pages. Register them in the company panel provider. The email is dispatched via Laravel's built-in Password::broker(). Any branding overrides go in Modules/Core/Filament/Pages/Auth/.
Relevant
Without password reset, a user who forgets their password must contact an admin. This is a baseline auth requirement for any production application.
Time-bound
Sprint 5.
Acceptance Criteria
"Forgot your password?" link present on the login page
Submitting the request form with a registered email dispatches the reset notification
Reset email contains a link valid for 60 minutes (Laravel default)
Reset form validates: password required, min 8 chars, confirmed
Successful reset redirects to login with a success flash message
Expired or invalid token shows a clear error (not a 500)
PHPUnit tests cover the happy path and the invalid-token case
Specific: Add a Filament password reset flow to the Company panel login page.
Files to create/modify:
Register the built-in Filament pages in Modules/Core/Providers/CompanyPanelProvider.php:
useFilament\Pages\Auth\PasswordReset\RequestPasswordReset;
useFilament\Pages\Auth\PasswordReset\ResetPassword;
->authPasswordBroker('users') // ensure this is set
->pages([]) // Filament auto-registers auth pages if not customised
Or, if custom login page overrides the defaults, explicitly add:
Mail config: Ensure MAIL_* env variables are set in .env.example/.env.testing.example. The reset email uses Laravel's built-in Notification::route('mail', ...).
Password resets table:php artisan migrate — Laravel's password_reset_tokens table must exist. Check it's in migrations.
Custom styling (optional): Add a RequestPasswordReset page class in Modules/Core/Filament/Pages/Auth/ if you need branded styling.
Test to add in Modules/Core/Tests/Feature/AuthTest.php (or create it):
Activity
[-]Login screen[/-][+][Core]: Login screen[/+]nielsdrost7 commentedon Jun 14, 2026
Sprint 5 — Implementation Plan
Specific: Add a Filament password reset flow to the Company panel login page.
Files to create/modify:
Modules/Core/Providers/CompanyPanelProvider.php:Or, if custom login page overrides the defaults, explicitly add:
Mail config: Ensure
MAIL_*env variables are set in.env.example/.env.testing.example. The reset email uses Laravel's built-inNotification::route('mail', ...).Password resets table:
php artisan migrate— Laravel'spassword_reset_tokenstable must exist. Check it's in migrations.Custom styling (optional): Add a
RequestPasswordResetpage class inModules/Core/Filament/Pages/Auth/if you need branded styling.Test to add in
Modules/Core/Tests/Feature/AuthTest.php(or create it):Effort: ~2 hours (mostly config + test).
Generated by Claude Code
fix(#11): add the missing no_company_found_for_user translation
fix(core): default company dashboard redirect (#11)
fix(core): default company dashboard redirect (#11)
fix: address CodeRabbit findings for Subscriptions module (PR Invoice…