fix(lampiran-dokumen): perbaiki respons upload dan delete lampiran

- Mengubah respons dari JSON menjadi redirect dengan pesan sukses atau error.
- Menambahkan konfirmasi sebelum menghapus lampiran untuk pengguna dengan peran administrator.
- Memperbaiki tampilan link download dan view lampiran agar lebih terstruktur.
This commit is contained in:
Daeng Deni Mardaeni
2025-03-09 11:10:01 +07:00
parent 33667ede21
commit 39dabbaeb5
2 changed files with 23 additions and 10 deletions

View File

@@ -27,18 +27,18 @@
$lampiran = LampiranDokumen::uploadLampiran($request->all());
if ($lampiran) {
return response()->json(['message' => 'Lampiran uploaded successfully', 'data' => $lampiran]);
return redirect()->back()->with('success', 'Lampiran uploaded successfully');
} else {
return response()->json(['message' => 'Unauthorized or upload failed'], 403);
return redirect()->back()->with('error', 'Unauthorized or upload failed');
}
}
public function delete(LampiranDokumen $lampiran)
{
if ($lampiran->deleteLampiran()) {
return response()->json(['message' => 'Lampiran deleted successfully']);
return redirect()->back()->with('success', 'Lampiran deleted successfully');
} else {
return response()->json(['message' => 'Unauthorized or delete failed'], 403);
return redirect()->back()->with('error', 'Unauthorized or delete failed');
}
}
}

View File

@@ -363,12 +363,25 @@
<div class="border p-4 rounded-lg">
<h4 class="font-semibold mb-2">{{ $lampiran->nama_file }}</h4>
<p class="text-sm text-gray-600 mb-2">Keterangan : {{ $lampiran->keterangan }}</p>
<a href="{{ Storage::url($lampiran->path_file) }}" target="_blank" class="text-blue-600 hover:underline">
<i class="ki-filled ki-eye mr-2"></i>View
</a>
<a href="{{ Storage::url($lampiran->path_file) }}" download="{{ Storage::url($lampiran->path_file) }}" class="text-green-600 hover:underline ml-4">
<i class="ki-filled ki-cloud-download mr-2"></i>Download
</a>
<div class="flex justify-between items-center">
<div>
<a href="{{ Storage::url($lampiran->path_file) }}" target="_blank" class="text-blue-600 hover:underline">
<i class="ki-filled ki-eye mr-2"></i>View
</a>
<a href="{{ Storage::url($lampiran->path_file) }}" download="{{ Storage::url($lampiran->path_file) }}" class="text-green-600 hover:underline ml-4">
<i class="ki-filled ki-cloud-download mr-2"></i>Download
</a>
</div>
@if(Auth::user()->hasRole('administrator'))
<form action="{{ route('lampiran.delete', $lampiran->id) }}" method="POST" onsubmit="return confirm('Are you sure you want to delete this lampiran?');">
@csrf
@method('DELETE')
<button type="submit" class="text-red-600 hover:underline">
<i class="ki-filled ki-trash mr-2"></i>Delete
</button>
</form>
@endif
</div>
</div>
@empty
<p class="col-span-3 text-center text-gray-500">Tidak ada lampiran dokumen.</p>