Tambah fitur otorisasi SLA
- Menambahkan view baru untuk otorisasi SLA (`sla.blade.php` dan `index-sla.blade.php`). - Menambahkan route baru untuk data datatables SLA (`sla.datatables`). - Mengupdate controller (`PenilaianController`, `SLAController`) untuk mendukung alur otorisasi SLA. - Menyesuaikan model `Authorization` guna kebutuhan SLA.
This commit is contained in:
@@ -8,6 +8,7 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\Lpj\Http\Requests\PenilaianRequest;
|
||||
use Modules\Lpj\Models\Authorization;
|
||||
use Modules\Lpj\Models\JenisPenilaian;
|
||||
use Modules\Lpj\Models\Penilaian;
|
||||
use Modules\Lpj\Models\PenilaianTeam;
|
||||
@@ -376,6 +377,9 @@ class PenilaianController extends Controller
|
||||
|
||||
$header = $headers[$type] ?? 'Pelaporan';
|
||||
|
||||
if($header==='SLA') {
|
||||
return view('lpj::penilaian.otorisator.index-sla', compact('header'));
|
||||
}
|
||||
return view('lpj::penilaian.otorisator.index', compact('header'));
|
||||
}
|
||||
|
||||
@@ -389,14 +393,32 @@ class PenilaianController extends Controller
|
||||
];
|
||||
|
||||
$header = $headers[$type] ?? 'Pelaporan';
|
||||
$permohonan = Permohonan::find($id);
|
||||
|
||||
return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header'));
|
||||
$authorization=null;
|
||||
if($header === 'SLA') {
|
||||
$authorization = Authorization::with(['user'])->find($id);
|
||||
$permohonan = Permohonan::find($authorization->permohonan_id);
|
||||
} else {
|
||||
$permohonan = Permohonan::find($id);
|
||||
}
|
||||
if($header === 'SLA') {
|
||||
return view('lpj::penilaian.otorisator.sla', compact('permohonan', 'header','authorization'));
|
||||
}
|
||||
return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header','authorization'));
|
||||
}
|
||||
|
||||
public function otorisatorUpdate(Request $request, $id, $context)
|
||||
{
|
||||
$permohonan = Permohonan::find($id);
|
||||
if($context==='SLA'){
|
||||
$authorization = Authorization::with(['user'])->find($id);
|
||||
if (!$authorization) {
|
||||
return response()->json([
|
||||
'message' => 'Data authorization SLA tidak ditemukan.',
|
||||
], 404);
|
||||
}
|
||||
$permohonan = Permohonan::find($authorization->permohonan_id);
|
||||
} else {
|
||||
$permohonan = Permohonan::find($id);
|
||||
}
|
||||
if (!$permohonan) {
|
||||
return response()->json([
|
||||
'message' => 'Data permohonan tidak ditemukan.',
|
||||
@@ -447,13 +469,41 @@ class PenilaianController extends Controller
|
||||
break;
|
||||
|
||||
case 'sla':
|
||||
if (Auth::user()->roles[0]->name === 'senior-officer') {
|
||||
$authorization->update([
|
||||
'status' => '3',
|
||||
'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->nulai_plafond_id,[1,4])){
|
||||
$status = '1';
|
||||
$permohonan->update([
|
||||
'status' => $authorization->request
|
||||
]);
|
||||
}
|
||||
|
||||
$permohonan->update([
|
||||
'status' => 'proses-sla',
|
||||
'keterangan' => $request->message,
|
||||
]);
|
||||
$authorization->update([
|
||||
'status' => $status,
|
||||
'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',
|
||||
'approve_dd' => Auth::user()->id,
|
||||
'approve_dd_at' => now(),
|
||||
'keterangan_dd' => $request->message,
|
||||
]);
|
||||
|
||||
$permohonan->update([
|
||||
'status' => $authorization->request
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
return response()->json([
|
||||
|
||||
Reference in New Issue
Block a user