From 820f8e46d9501e37fe00fa0b84b9a184b16b8ae7 Mon Sep 17 00:00:00 2001 From: ismailmasseran Date: Mon, 10 Aug 2026 14:44:43 +0800 Subject: [PATCH] DONE: fix error where the verification uses localhost after user register, use malay name in membership application (#16) Co-authored-by: ISMAIL MASSERAN Reviewed-on: https://git.koppkb.com/KoPKB/My-KOPKB/pulls/16 --- .../Auth/Notifications/VerifyEmailNotification.php | 8 ++++++++ be/Modules/Auth/Providers/EventServiceProvider.php | 11 +++++++++++ .../Resources/views/pdf/approved-letter.blade.php | 2 +- .../Services/MembershipApplicationService.php | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/be/Modules/Auth/Notifications/VerifyEmailNotification.php b/be/Modules/Auth/Notifications/VerifyEmailNotification.php index 1506daa..17aad51 100644 --- a/be/Modules/Auth/Notifications/VerifyEmailNotification.php +++ b/be/Modules/Auth/Notifications/VerifyEmailNotification.php @@ -38,6 +38,14 @@ class VerifyEmailNotification extends Notification protected function verificationUrl(User $notifiable): string { $expireMinutes = (int) config('auth.verification.expire_minutes', 60); + $root = rtrim((string) config('app.url'), '/'); + + // Prefer APP_URL over the current request host so queued/local proxy + // contexts do not embed http://localhost in production emails. + URL::forceRootUrl($root); + if ($scheme = parse_url($root, PHP_URL_SCHEME)) { + URL::forceScheme($scheme); + } return URL::temporarySignedRoute( 'verification.verify', diff --git a/be/Modules/Auth/Providers/EventServiceProvider.php b/be/Modules/Auth/Providers/EventServiceProvider.php index f84daf6..fa92782 100644 --- a/be/Modules/Auth/Providers/EventServiceProvider.php +++ b/be/Modules/Auth/Providers/EventServiceProvider.php @@ -2,7 +2,9 @@ namespace Modules\Auth\Providers; +use Illuminate\Auth\Events\Registered; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Event; class EventServiceProvider extends ServiceProvider { @@ -24,4 +26,13 @@ class EventServiceProvider extends ServiceProvider * Configure the proper event listeners for email verification. */ protected function configureEmailVerification(): void {} + + public function boot(): void + { + // Framework auto-registers SendEmailVerificationNotification on Registered. + // Verification is user-initiated via the email verification banner instead. + $this->app->booted(function () { + Event::forget(Registered::class); + }); + } } diff --git a/be/Modules/MembershipApplication/Resources/views/pdf/approved-letter.blade.php b/be/Modules/MembershipApplication/Resources/views/pdf/approved-letter.blade.php index 3c860c5..17340c8 100644 --- a/be/Modules/MembershipApplication/Resources/views/pdf/approved-letter.blade.php +++ b/be/Modules/MembershipApplication/Resources/views/pdf/approved-letter.blade.php @@ -4,7 +4,7 @@ @section('letter-reference', $application->application_number) -@section('letter-date', now()->translatedFormat('d F Y')) +@section('letter-date', now()->locale('ms')->translatedFormat('d F Y')) @section('letter-recipient') {{ $applicant->name }}
diff --git a/be/Modules/MembershipApplication/Services/MembershipApplicationService.php b/be/Modules/MembershipApplication/Services/MembershipApplicationService.php index 2c24e16..e3e0dae 100644 --- a/be/Modules/MembershipApplication/Services/MembershipApplicationService.php +++ b/be/Modules/MembershipApplication/Services/MembershipApplicationService.php @@ -444,7 +444,7 @@ class MembershipApplicationService 'application' => $application, 'applicant' => $applicant, 'boardMeetingReference' => $boardMeetingReference, - 'boardMeetingDate' => Carbon::parse($boardMeetingDate)->translatedFormat('d F Y'), + 'boardMeetingDate' => Carbon::parse($boardMeetingDate)->locale('ms')->translatedFormat('d F Y'), 'isPassed' => $isPassed, 'letterSubject' => $isPassed ? 'KELULUSAN PERMOHONAN MENJADI ANGGOTA KOPERASI PERMODALAN KELANTAN BERHAD (KoPKB)'