fix(PenilaianController): perbaiki logika otorisasi untuk peran administrator

- Menambahkan kondisi untuk peran 'administrator' dalam logika otorisasi.
- Memperbaiki pembaruan status berdasarkan persetujuan yang diberikan oleh peran yang berbeda.
- Memastikan bahwa semua peran yang relevan dapat memperbarui status dengan benar.
This commit is contained in:
Daeng Deni Mardaeni
2025-01-22 07:57:19 +07:00
parent 5203033ba5
commit b46f791ab2

View File

@@ -492,7 +492,7 @@ class PenilaianController extends Controller
break; break;
case 'sla': case 'sla':
if (Auth::user()->roles[0]->name === 'senior-officer') { if (Auth::user()->roles[0]->name === 'senior-officer' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so === null) {
$authorization->update([ $authorization->update([
'status' => '3', 'status' => '3',
'status_so' => '1', 'status_so' => '1',
@@ -500,7 +500,7 @@ class PenilaianController extends Controller
'approve_so_at' => now(), 'approve_so_at' => now(),
'keterangan_so' => $request->message, 'keterangan_so' => $request->message,
]); ]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') { } elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_eo === null) {
$status = '2'; $status = '2';
if (!in_array($permohonan->nilai_plafond_id, [1, 4])) { if (!in_array($permohonan->nilai_plafond_id, [1, 4])) {
$status = '1'; $status = '1';
@@ -516,7 +516,7 @@ class PenilaianController extends Controller
'approve_eo_at' => now(), 'approve_eo_at' => now(),
'keterangan_eo' => $request->message, 'keterangan_eo' => $request->message,
]); ]);
} elseif (Auth::user()->roles[0]->name === 'DD Appraisal') { } elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_eo && $authorization->approve_dd === null) {
$authorization->update([ $authorization->update([
'status' => '1', 'status' => '1',
'status_dd' => '1', 'status_dd' => '1',
@@ -531,7 +531,7 @@ class PenilaianController extends Controller
} }
break; break;
case 'paparan': case 'paparan':
if (Auth::user()->roles[0]->name === 'senior-officer') { if (Auth::user()->roles[0]->name === 'senior-officer' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so === null) {
$authorization->update([ $authorization->update([
'status' => '3', 'status' => '3',
'status_so' => '1', 'status_so' => '1',
@@ -539,7 +539,7 @@ class PenilaianController extends Controller
'approve_so_at' => now(), 'approve_so_at' => now(),
'keterangan_so' => $request->message, 'keterangan_so' => $request->message,
]); ]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') { } elseif (Auth::user()->roles[0]->name === 'EO Appraisal') {
$status = '2'; $status = '2';
if (!in_array($permohonan->nilai_plafond_id, [1, 4])) { if (!in_array($permohonan->nilai_plafond_id, [1, 4])) {
$status = '1'; $status = '1';
@@ -554,7 +554,7 @@ class PenilaianController extends Controller
'approve_eo_at' => now(), 'approve_eo_at' => now(),
'keterangan_eo' => $request->message, 'keterangan_eo' => $request->message,
]); ]);
} elseif (Auth::user()->roles[0]->name === 'DD Appraisal') { } elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_dd === null) {
$authorization->update([ $authorization->update([
'status' => '1', 'status' => '1',
'status_dd' => '1', 'status_dd' => '1',