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)'