Merge branch 'staging' into feature/senior-officer
This commit is contained in:
@@ -93,13 +93,29 @@
|
|||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// Delete from database
|
// Periksa apakah pengguna adalah administrator
|
||||||
|
if (!auth()->user()->hasRole('administrator')) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Hanya administrator yang dapat menghapus debitur'], 403);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Temukan debitur
|
||||||
$debitur = Debiture::find($id);
|
$debitur = Debiture::find($id);
|
||||||
|
|
||||||
|
if (!$debitur) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Debitur tidak ditemukan'], 404);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Periksa apakah debitur memiliki permohonan aktif
|
||||||
|
if ($debitur->permohonan()->exists()) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Tidak dapat menghapus debitur yang masih memiliki permohonan aktif'], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hapus dari database
|
||||||
$debitur->delete();
|
$debitur->delete();
|
||||||
|
|
||||||
echo json_encode(['success' => true, 'message' => 'Debitur deleted successfully']);
|
return response()->json(['success' => true, 'message' => 'Debitur berhasil dihapus']);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo json_encode(['success' => false, 'message' => 'Failed to delete debitur']);
|
return response()->json(['success' => false, 'message' => 'Gagal menghapus debitur: ' . $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -385,16 +385,37 @@
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
// Periksa apakah pengguna adalah admin
|
||||||
|
if (!auth()->user()->hasRole('administrator')) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Hanya administrator yang dapat menghapus dokumen jaminan'], 403);
|
||||||
|
}
|
||||||
|
|
||||||
$jaminan = DokumenJaminan::find($jaminan_id);
|
$jaminan = DokumenJaminan::find($jaminan_id);
|
||||||
|
|
||||||
|
if (!$jaminan) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Dokumen Jaminan tidak ditemukan'], 404);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Periksa apakah dokumen jaminan terkait dengan permohonan aktif
|
||||||
|
if ($jaminan->permohonan()->exists()) {
|
||||||
|
return response()->json(['success' => false, 'message' => 'Tidak dapat menghapus dokumen jaminan yang terkait dengan permohonan aktif'], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::beginTransaction();
|
||||||
|
|
||||||
$details = DetailDokumenJaminan::where('dokumen_jaminan_id', $jaminan->id)->get();
|
$details = DetailDokumenJaminan::where('dokumen_jaminan_id', $jaminan->id)->get();
|
||||||
foreach ($details as $detail) {
|
foreach ($details as $detail) {
|
||||||
Storage::delete('public/' . $detail->dokumen_jaminan);
|
Storage::delete('public/' . $detail->dokumen_jaminan);
|
||||||
$detail->delete();
|
$detail->delete();
|
||||||
}
|
}
|
||||||
$jaminan->delete();
|
$jaminan->delete();
|
||||||
echo json_encode(['success' => true, 'message' => 'Dokumen Jaminan deleted successfully']);
|
|
||||||
|
DB::commit();
|
||||||
|
|
||||||
|
return response()->json(['success' => true, 'message' => 'Dokumen Jaminan berhasil dihapus']);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo json_encode(['success' => false, 'message' => 'Failed to delete Dokumen Jaminan']);
|
DB::rollBack();
|
||||||
|
return response()->json(['success' => false, 'message' => 'Gagal menghapus Dokumen Jaminan: ' . $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user