fix(PenilaianController): perbaiki logika otorisasi dan pembaruan status

- Menambahkan penanganan untuk konteks 'Paparan' pada otorisasi.
- Memperbaiki kesalahan penamaan variabel dari 'nulai_plafond_id' menjadi 'nilai_plafond_id'.
- Memperbarui status otorisasi berdasarkan peran pengguna.
- Menambahkan pembaruan status permohonan untuk konteks 'paparan'.
This commit is contained in:
Daeng Deni Mardaeni
2025-01-22 07:33:58 +07:00
parent 6e6611c02c
commit 7558d1a574
2 changed files with 238 additions and 74 deletions

View File

@@ -430,6 +430,14 @@ class PenilaianController extends Controller
], 404);
}
$permohonan = Permohonan::find($authorization->permohonan_id);
} elseif ($context === 'Paparan') {
$authorization = Authorization::with(['user'])->find($id);
if (!$authorization) {
return response()->json([
'message' => 'Data authorization Paparan tidak ditemukan.',
], 404);
}
$permohonan = Permohonan::find($authorization->permohonan_id);
} else {
$permohonan = Permohonan::find($id);
}
@@ -493,7 +501,7 @@ class PenilaianController extends Controller
]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') {
$status = '2';
if (!in_array($permohonan->nulai_plafond_id, [1, 4])) {
if (!in_array($permohonan->nilai_plafond_id, [1, 4])) {
$status = '1';
$permohonan->update([
'status' => $authorization->request
@@ -522,11 +530,45 @@ class PenilaianController extends Controller
}
break;
case 'paparan':
$permohonan->update([
'status' => 'paparan',
'keterangan' => $request->message,
]);
if (Auth::user()->roles[0]->name === 'senior-officer') {
$authorization->update([
'status' => '3',
'status_so' => '1',
'approve_so' => Auth::user()->id,
'approve_so_at' => now(),
'keterangan_so' => $request->message,
]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') {
$status = '2';
if (!in_array($permohonan->nilai_plafond_id, [1, 4])) {
$status = '1';
$permohonan->update([
'status' => $authorization->request
]);
}
$authorization->update([
'status' => $status,
'status_eo' => '1',
'approve_eo' => Auth::user()->id,
'approve_eo_at' => now(),
'keterangan_eo' => $request->message,
]);
} elseif (Auth::user()->roles[0]->name === 'DD Appraisal') {
$authorization->update([
'status' => '1',
'status_dd' => '1',
'approve_dd' => Auth::user()->id,
'approve_dd_at' => now(),
'keterangan_dd' => $request->message,
]);
$permohonan->update([
'status' => 'paparan',
'tanggal_paparan' => $request->tanggalPaparan
]);
}
break;
default:
return response()->json([
'message' => 'Konteks otorisasi tidak valid.',