🔧 refactor(menu): reorganisasi struktur menu & perbaikan akses role
- Reorganisasi urutan menu, memindahkan "Laporan Penilaian Jaminan" ke posisi pertama & memperbaiki penamaan menu (SO, LPJ, Monitoring, Tender → Permohonan KJPP, dll.) - Ubah path "laporan-penilaian-jaminan" menjadi "laporan" untuk konsistensi URL - Pindahkan menu "Data Debitur" sebelum "Permohonan" & "Pembatalan" ke bawah dengan akses terbatas - Perbaikan role permissions: hapus `admin` & `senior-officer` dari menu tertentu, tambahkan `penilai` & `surveyor` ke menu Penilaian - Batasi akses menu "Pembatalan" hanya untuk `administrator` & `pemohon-ao` - Update ActivityController: tambah role `penilai` pada filter user - Update LaporanPermohonanController: filter status `done` agar hanya tampil permohonan selesai - Update PermohonanController: hapus kondisi `jenis_penilaian_id` pada logika pembuatan PersetujuanPenawaran, gunakan `Auth::id()` konsisten - Validasi DebitureRequest: ubah max karakter `nomor_rekening` dari 50 → 10, serta perbaikan indentasi & format JSON di `module.json`
This commit is contained in:
@@ -55,7 +55,7 @@ class ActivityController extends Controller
|
||||
->when($teamId, fn ($q) => $q->where('id', $teamId));
|
||||
})
|
||||
->where('user_id', '!=', $user->id)
|
||||
->whereHas('user.roles', fn ($q) => $q->whereIn('name', ['surveyor', 'surveyor-penilai']))
|
||||
->whereHas('user.roles', fn ($q) => $q->whereIn('name', ['surveyor', 'surveyor-penilai','penilai']))
|
||||
->get();
|
||||
|
||||
$teamId = is_array($teamId) ? $teamId : [$teamId];
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = Permohonan::query();
|
||||
$query->where('status','done');
|
||||
|
||||
if (!Auth::user()->hasAnyRole(['administrator'])) {
|
||||
$query = $query->where('branch_id', Auth::user()->branch_id);
|
||||
|
||||
@@ -360,15 +360,14 @@
|
||||
$permohonan->keterangan = $request->keterangan;
|
||||
$permohonan->save();
|
||||
|
||||
if($permohonan->jenis_penilaian_id==1){
|
||||
$persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $id)->first();
|
||||
if(!$persetujuanPenawaran){
|
||||
$persetujuanPenawaran = PersetujuanPenawaran::create([
|
||||
'permohonan_id' => $id,
|
||||
'created_by' => auth()->id(),
|
||||
]);
|
||||
}
|
||||
$persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $id)->first();
|
||||
if(!$persetujuanPenawaran){
|
||||
$persetujuanPenawaran = PersetujuanPenawaran::create([
|
||||
'permohonan_id' => $id,
|
||||
'created_by' => Auth::id(),
|
||||
]);
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
return redirect()->route('authorization.show', $id)->with('error', 'Failed to update permohonan');
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
'city_code' => 'nullable|exists:cities,code',
|
||||
'district_code' => 'nullable|exists:districts,code',
|
||||
'village_code' => 'nullable|exists:villages,code',
|
||||
'nomor_rekening' => 'nullable|string|max:50',
|
||||
'nomor_rekening' => 'nullable|string|max:10',
|
||||
'name' => 'required',
|
||||
'registered_at' => 'nullable|date',
|
||||
'npwp' => 'nullable|string|min:15|max:16',
|
||||
|
||||
356
module.json
356
module.json
@@ -13,6 +13,21 @@
|
||||
],
|
||||
"menu": {
|
||||
"laporan": [
|
||||
{
|
||||
"title": "Laporan Penilaian Jaminan",
|
||||
"path": "laporan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao",
|
||||
"pemohon-eo",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Permohonan",
|
||||
"path": "laporan-permohonan",
|
||||
@@ -47,37 +62,6 @@
|
||||
"senior-officer"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Laporan Penilai Jaminan",
|
||||
"path": "laporan-penilai-jaminan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Pernilaan Jaminan",
|
||||
"path": "laporan-penilaian-jaminan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Hasil Pernilaan Jaminan Internal & External",
|
||||
"path": "laporan-hasil-penilaian-jaminan-internal-external",
|
||||
@@ -94,7 +78,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Rekap Harian So",
|
||||
"title": "Rekap Harian SO",
|
||||
"path": "rekap-harian-so",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
@@ -104,8 +88,9 @@
|
||||
"administrator",
|
||||
"senior-officer"
|
||||
]
|
||||
}, {
|
||||
"title": "Laporan Biaya Lpj",
|
||||
},
|
||||
{
|
||||
"title": "Laporan Biaya LPJ",
|
||||
"path": "laporan-biaya",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
@@ -127,11 +112,11 @@
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -142,15 +127,16 @@
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
}
|
||||
]
|
||||
},{
|
||||
},
|
||||
{
|
||||
"title": "Laporan Debitur",
|
||||
"path": "laporan-debiture",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
@@ -175,7 +161,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Monitoring so",
|
||||
"title": "Laporan Monitoring SO",
|
||||
"path": "laporan-monitoring",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
@@ -224,7 +210,6 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"senior-officer",
|
||||
"pemohon-eo"
|
||||
]
|
||||
},
|
||||
@@ -237,7 +222,6 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"EO Appraisal",
|
||||
"DD Appraisal"
|
||||
]
|
||||
@@ -251,7 +235,6 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"pemohon-eo"
|
||||
]
|
||||
},
|
||||
@@ -307,7 +290,25 @@
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator"
|
||||
"administrator",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer",
|
||||
"penilai",
|
||||
"surveyor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Data Debitur",
|
||||
"path": "debitur",
|
||||
"icon": "ki-filled ki-people text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -323,19 +324,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Pembatalan",
|
||||
"path": "pembatalan",
|
||||
"icon": "ki-filled ki-file-deleted text-lg text-danger",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Persetujuan Penawaran",
|
||||
"title": "Persetujuan Penawaran KJPP",
|
||||
"path": "persetujuan-penawaran",
|
||||
"icon": "ki-filled ki-double-check text-lg text-info",
|
||||
"classes": "",
|
||||
@@ -347,7 +336,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Pembayaran",
|
||||
"title": "Biaya Appraisal",
|
||||
"path": "pembayaran",
|
||||
"icon": "ki-filled ki-credit-cart text-lg text-primary",
|
||||
"classes": "",
|
||||
@@ -410,6 +399,18 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Pembatalan",
|
||||
"path": "pembatalan",
|
||||
"icon": "ki-filled ki-file-deleted text-lg text-danger",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Admin Kredit",
|
||||
"path": "admin-kredit",
|
||||
@@ -419,48 +420,49 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"adk"
|
||||
],
|
||||
"sub": [{
|
||||
"title": "SLIK",
|
||||
"path": "admin-kredit.slik",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Admin Kredit",
|
||||
"path": "admin-kredit.laporan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan SLIK",
|
||||
"path": "admin-kredit.laporan-slik",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
}]
|
||||
"sub": [
|
||||
{
|
||||
"title": "SLIK",
|
||||
"path": "admin-kredit.slik",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan Admin Kredit",
|
||||
"path": "admin-kredit.laporan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan SLIK",
|
||||
"path": "admin-kredit.laporan-slik",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"adk",
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "NOC",
|
||||
@@ -471,7 +473,6 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin",
|
||||
"noc"
|
||||
],
|
||||
"sub": [
|
||||
@@ -528,7 +529,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Tender",
|
||||
"title": "Permohonan KJPP",
|
||||
"path": "tender",
|
||||
"icon": "ki-filled ki-briefcase text-lg text-primary",
|
||||
"classes": "",
|
||||
@@ -560,57 +561,45 @@
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "SPK",
|
||||
"path": "spk",
|
||||
"icon": "ki-filled ki-document text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Registrasi Final",
|
||||
"path": "registrasifinal",
|
||||
"icon": "ki-filled ki-file-added text-lg text-success",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan External",
|
||||
"path": "laporan-external",
|
||||
"icon": "ki-filled ki-document text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "SPK",
|
||||
"path": "spk",
|
||||
"icon": "ki-filled ki-document text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Laporan External",
|
||||
"path": "laporan-external",
|
||||
"icon": "ki-filled ki-document text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Registrasi Final",
|
||||
"path": "registrasifinal",
|
||||
"icon": "ki-filled ki-file-added text-lg text-success",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"admin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Data Debitur",
|
||||
"path": "debitur",
|
||||
"icon": "ki-filled ki-people text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Assignment",
|
||||
"path": "penilaian",
|
||||
@@ -644,7 +633,8 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"surveyor"
|
||||
"surveyor",
|
||||
"penilai"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -658,6 +648,7 @@
|
||||
"administrator",
|
||||
"admin",
|
||||
"surveyor",
|
||||
"penilai",
|
||||
"senior-officer",
|
||||
"EO Appraisal",
|
||||
"DD Appraisal"
|
||||
@@ -672,42 +663,9 @@
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"penilai",
|
||||
"surveyor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Resume dan Laporan",
|
||||
"path": "laporan",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao",
|
||||
"pemohon-eo",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Daftar Pustaka",
|
||||
"path": "daftar-pustaka",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao",
|
||||
"pemohon-eo",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
}
|
||||
],
|
||||
"master": [
|
||||
@@ -1265,6 +1223,24 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"system": []
|
||||
"system": [
|
||||
{
|
||||
"title": "Daftar Pustaka",
|
||||
"path": "daftar-pustaka",
|
||||
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": [
|
||||
"administrator",
|
||||
"pemohon-ao",
|
||||
"pemohon-eo",
|
||||
"admin",
|
||||
"DD Appraisal",
|
||||
"EO Appraisal",
|
||||
"senior-officer"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
|
||||
<div class="flex hidden flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
|
||||
<label class="form-label max-w-56">
|
||||
Email
|
||||
</label>
|
||||
@@ -111,7 +111,7 @@
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
|
||||
<label class="gap-1 form-label max-w-56">
|
||||
Alamat
|
||||
Alamat KTP
|
||||
<span class="text-danger">
|
||||
*
|
||||
</span>
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="nomor_tiket" id="nomor_tiket"
|
||||
class="input w-full @error('nomor_tiket') border-danger bg-danger-light @enderror"
|
||||
value="{{ old('nomor_tiket', $permohonan->nomor_tiket ?? '') }}" placeholder="Nomor Tiket">
|
||||
value="{{ old('nomor_tiket', $persetujuanPenawaran->nomor_tiket ?? '') }}"
|
||||
placeholder="Nomor Tiket">
|
||||
@error('nomor_tiket')
|
||||
<em class="text-sm alert text-danger">{{ $message }}</em>
|
||||
@enderror
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
<div class="flex flex-wrap gap-2.5 items-baseline mt-2 w-full lg:flex-nowrap card-footer">
|
||||
<div class="flex gap-5">
|
||||
<a class="btn btn-primary"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ $dokumen->id }}&jaminanId={{ $dokumen->jenis_jaminan_id }}">
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ $dokumen->id }}&jaminanId={{ $dokumen->jenis_jaminan_id }}&header={{ request('header') }}">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
@if ($permohonan->status != 'freeze')
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="pb-2.5 border card border-agi-100">
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<div class="flex flex-row gap-1.5 card-title">
|
||||
Persetujuan Penawaranaa
|
||||
Persetujuan Penawaranan KJPP
|
||||
</div>
|
||||
<div class="flex gap-2 items-center">
|
||||
<a href="{{ route('persetujuan-penawaran.index') }}" class="btn btn-xs btn-info"><i
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10" data-datatable-state-save="false" id="persetujuan-penawaran-table" data-api-url="{{ route('persetujuan-penawaran.datatables') }}">
|
||||
<div class="card-header bg-agi-50 py-5 flex-wrap">
|
||||
<h3 class="card-title">
|
||||
Daftar Persetujuan Penawaran
|
||||
Daftar Persetujuan Penawaran KJPP
|
||||
</h3>
|
||||
<div class="flex flex-wrap gap-2 lg:gap-5">
|
||||
<div class="flex">
|
||||
|
||||
Reference in New Issue
Block a user