tambah emel untuk kakitangan

This commit is contained in:
Saufi
2026-05-20 07:44:08 +08:00
parent b48319f77d
commit 7ef5092933
5 changed files with 29 additions and 0 deletions

View File

@@ -50,8 +50,11 @@ class CheckinController extends Controller
$request->validate([ $request->validate([
'no_kp' => ['required', 'string', 'max:20'], 'no_kp' => ['required', 'string', 'max:20'],
'email' => ['nullable', 'email', 'max:255'],
'phone' => ['nullable', 'string', 'max:20'],
], [ ], [
'no_kp.required' => 'Sila masukkan No. Kad Pengenalan anda.', 'no_kp.required' => 'Sila masukkan No. Kad Pengenalan anda.',
'email.email' => 'Format emel tidak sah.',
]); ]);
$result = $this->attendanceService->staffCheckin($program, $request->no_kp, $request); $result = $this->attendanceService->staffCheckin($program, $request->no_kp, $request);

View File

@@ -40,6 +40,15 @@ class AttendanceService
$attendance = DB::transaction(function () use ($program, $participant, $pp, $request) { $attendance = DB::transaction(function () use ($program, $participant, $pp, $request) {
$session = $pp->pre_registered_session ?? $program->default_staff_session ?? 'full_day'; $session = $pp->pre_registered_session ?? $program->default_staff_session ?? 'full_day';
// Kemaskini emel/telefon peserta jika diisi semasa check-in
$contactUpdate = array_filter([
'email' => $request->filled('email') ? $request->input('email') : null,
'phone' => $request->filled('phone') ? $request->input('phone') : null,
]);
if ($contactUpdate) {
$participant->update($contactUpdate);
}
$pp->update(['status' => 'checked_in']); $pp->update(['status' => 'checked_in']);
return Attendance::create([ return Attendance::create([

View File

@@ -67,6 +67,23 @@
<div class="form-text">12 digit tanpa sempang</div> <div class="form-text">12 digit tanpa sempang</div>
@error('no_kp')<div class="invalid-feedback">{{ $message }}</div>@enderror @error('no_kp')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div> </div>
<div class="mb-3">
<label class="form-label fw-medium">Emel</label>
<input type="email" name="email"
class="form-control @error('email') is-invalid @enderror"
placeholder="nama@email.com"
value="{{ old('email') }}" autocomplete="email">
<div class="form-text"><i class="bi bi-envelope me-1"></i>Untuk penerimaan e-sijil</div>
@error('email')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
<div class="mb-4">
<label class="form-label fw-medium">No. Telefon</label>
<input type="tel" name="phone"
class="form-control @error('phone') is-invalid @enderror"
placeholder="0123456789"
value="{{ old('phone') }}" autocomplete="tel">
@error('phone')<div class="invalid-feedback">{{ $message }}</div>@enderror
</div>
<button type="submit" class="btn btn-primary w-100 btn-checkin"> <button type="submit" class="btn btn-primary w-100 btn-checkin">
<i class="bi bi-box-arrow-in-right me-2"></i>Check-In <i class="bi bi-box-arrow-in-right me-2"></i>Check-In
</button> </button>