Update LetterController to handle nullable fields and set boolean flags for acceptance and completion letters

This commit is contained in:
NoBody313
2025-03-26 18:14:46 +07:00
parent e7477e204f
commit 5b8f8ee818
2 changed files with 20 additions and 7 deletions
+19 -6
View File
@@ -103,18 +103,22 @@ class LetterController extends Controller
'program_studi_mahasiswa' => 'required|string',
'tahun_ajaran' => 'required|string',
'start_date' => 'required|date',
'completion_date' => 'required|date',
'completion_date' => 'nullable|date',
'nomor_surat_acceptance' => 'nullable|string',
'nomor_surat_completion' => 'nullable|string',
'lampiran' => 'nullable|file|mimes:pdf,jpg,png|max:2048',
]);
// Create letter with UUID and optional fields
// Automatically set boolean flags based on letter numbers
$is_acceptance = !empty($request->nomor_surat_acceptance);
$is_completion = !empty($request->nomor_surat_completion);
// Create letter with UUID and modified fields
$letter = Letter::create([
'id' => Str::uuid()->toString(),
...$validated,
'is_acceptance' => $request->is_acceptance ?? false,
'nomor_surat_acceptance' => $request->nomor_surat_acceptance,
'is_completion' => $request->is_completion ?? false,
'nomor_surat_completion' => $request->nomor_surat_completion,
'is_acceptance' => $is_acceptance,
'is_completion' => $is_completion,
]);
// Handle file upload if present
@@ -201,6 +205,15 @@ class LetterController extends Controller
'lampiran' => 'nullable|file|mimes:pdf,jpg,png|max:2048',
]);
// Update boolean flags if letter numbers are provided
if ($request->has('nomor_surat_acceptance')) {
$validated['is_acceptance'] = !empty($request->nomor_surat_acceptance);
}
if ($request->has('nomor_surat_completion')) {
$validated['is_completion'] = !empty($request->nomor_surat_completion);
}
$letter->update($validated);
if ($request->hasFile('lampiran')) {