diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index b3d2398..f12ae72 100644 --- a/app/Http/Controllers/DokumenJaminanController.php +++ b/app/Http/Controllers/DokumenJaminanController.php @@ -290,8 +290,11 @@ $newDokumenJaminan = []; $newDokumenNomor = []; + $allFilesDeleted = true; + foreach ($existingDokumen as $index => $existingFile) { if (isset($request->dokumen_jaminan[$key][$index])) { + $allFilesDeleted = false; $file = $request->dokumen_jaminan[$key][$index]; if ($file instanceof \Illuminate\Http\UploadedFile) { // File baru diupload @@ -304,7 +307,6 @@ $newDokumenJaminan[] = $existingFile; $newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? $existingNomor[$index]; } - // Jika $file adalah null, berarti file dihapus dan tidak perlu ditambahkan ke array baru } else { // File dihapus, hapus dari storage jika ada if (Storage::exists('public/' . $existingFile)) { @@ -313,12 +315,10 @@ } } - //dd($request->dokumen_jaminan[$key]); - // Tambahkan file baru yang mungkin ditambahkan foreach ($request->dokumen_jaminan[$key] ?? [] as $index => $file) { - if ($file instanceof UploadedFile) { + $allFilesDeleted = false; $file_name = $file->getClientOriginalName(); $path = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name; if (!in_array($path, $newDokumenJaminan)) { @@ -327,19 +327,29 @@ $newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-'; } } elseif (is_string($file) && !empty($file) && !in_array($file, $newDokumenJaminan)) { + $allFilesDeleted = false; $newDokumenJaminan[] = $file; $newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-'; } } - $dokumenJaminan = $newDokumenJaminan; - $dokumenNomor = $newDokumenNomor; + if ($allFilesDeleted) { + $dokumenJaminan = []; + $dokumenNomor = []; + } else { + $dokumenJaminan = $newDokumenJaminan; + $dokumenNomor = $newDokumenNomor; + } } + if (!empty($dokumenJaminan)) { $detailData['dokumen_jaminan'] = json_encode($dokumenJaminan); $detailData['dokumen_nomor'] = json_encode($dokumenNomor); + } else if(empty($dokumenJaminan)){ + $detailData['dokumen_jaminan'] = null; + $detailData['dokumen_nomor'] = null; } if (isset($request->detail_dokumen_jaminan_id[$key])) { diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 5179f00..4532394 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -307,9 +307,8 @@ - @if($loop->index > 0) - @endif + @if($detail->details)