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:
@@ -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.',
|
||||
|
||||
Reference in New Issue
Block a user