2 Commits

Author SHA1 Message Date
ismailmasseran 820f8e46d9 DONE: fix error where the verification uses localhost after user register, use malay name in membership application (#16)
Build Docker Image / build-backend (push) Successful in 45s
Build Docker Image / build-frontend (push) Successful in 7s
Co-authored-by: ISMAIL MASSERAN <topaz@ISMAILs-Macbook.local>
Reviewed-on: #16
2026-08-10 14:44:43 +08:00
ISMAIL MASSERAN db3ac37042 DONE: update prefix for BOARD_MEETING_REFERENCE_PREFIX, add placeholder for address
Build Docker Image / build-backend (push) Successful in 2m52s
Build Docker Image / build-frontend (push) Successful in 19s
2026-08-09 11:46:37 +08:00
6 changed files with 29 additions and 6 deletions
@@ -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',
@@ -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);
});
}
}
@@ -4,12 +4,11 @@
@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')
<strong>{{ $applicant->name }}</strong><br>
{!! nl2br(e($applicant->address)) !!}<br>
{{ $applicant->postcode }}
{!! nl2br(e($applicant->address)) !!}
@endsection
@section('letter-honorific')
@@ -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)'
@@ -692,7 +692,12 @@ function stepLabelClass(stepId: number) {
<template v-else-if="currentStep === 2">
<Field class="col-span-12">
<FieldLabel for="address">Alamat</FieldLabel>
<Textarea id="address" v-model="form.applicant.address" rows="3" />
<Textarea
id="address"
v-model="form.applicant.address"
rows="3"
placeholder="Lot Pt 448, Tingkat 1, Jalan Kuala Krai, Batu 3, Wakaf Che Yeh, 15150 Kota Bharu, Kelantan."
/>
<FieldError v-if="fieldErrors['applicant.address']">{{ fieldErrors['applicant.address'] }}</FieldError>
</Field>
<Field class="col-span-12 sm:col-span-4">
@@ -65,7 +65,7 @@ const DOCUMENT_TYPE_LABELS: Record<string, string> = {
[RESULT_LETTER_DOCUMENT_TYPE]: 'Surat Keputusan',
}
const BOARD_MEETING_REFERENCE_PREFIX = 'Mesyuarat Lembaga Bil.'
const BOARD_MEETING_REFERENCE_PREFIX = 'Mesyuarat Lembaga KoPKB Bil. '
const router = useRouter()
const route = useRoute()