🔧 refactor(controller): perbaikan akses role & logika pembayaran NOC
- Tambah filter `branch_id` untuk role `pemohon-ao` & `pemohon-eo` di LaporanController, PembatalanController, dan PembayaranController - Pastikan user hanya dapat mengakses data sesuai branch untuk mencegah data lintas cabang - Perbaikan pencarian Bucok di NocController dengan tambahan kondisi `orWhere(permohonan_id)` - Tambah null safety untuk update Bucok & akses relasi branch/debiture - Filter untuk hindari duplikasi NOC yang sudah punya `memo_penyelesaian` - Komentari kondisi approval kompleks di LaporanController sementara waktu - Tambah penggunaan null safety operator (`?->`) & fallback tanggal ke `created_at` NOC - Rapikan import: hapus unused imports, tambah `Auth` facade, perbaikan urutan - Tambah handling data: `created_at` timestamp saat buat NOC, fallback value untuk tanggal Bucok, default value kosong untuk null safety
This commit is contained in:
@@ -44,6 +44,9 @@ class PembayaranController extends Controller
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = PersetujuanPenawaran::query();
|
||||
if (Auth::user()->hasAnyRole(['pemohon-ao','pemohon-eo'])) {
|
||||
$query = $query->whereRelation('permohonan', 'branch_id', Auth::user()->branch_id);
|
||||
}
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
@@ -172,10 +175,10 @@ class PembayaranController extends Controller
|
||||
$noc = Noc::create($noc);
|
||||
|
||||
$bucok = [
|
||||
'tanggal_penuh' => $persetujuanPenawaran->created_at,
|
||||
'tanggal' => $persetujuanPenawaran->created_at->format('d'),
|
||||
'bulan' => $persetujuanPenawaran->created_at->format('m'),
|
||||
'tahun' => $persetujuanPenawaran->created_at->format('Y'),
|
||||
'tanggal_penuh' => $persetujuanPenawaran->created_at ?? $noc->created_at,
|
||||
'tanggal' => $persetujuanPenawaran->created_at?->format('d') ?? $noc->created_at?->format('d'),
|
||||
'bulan' => $persetujuanPenawaran->created_at?->format('m') ?? $noc->created_at?->format('m'),
|
||||
'tahun' => $persetujuanPenawaran->created_at?->format('Y') ?? $noc->created_at?->format('Y'),
|
||||
'nomor_tiket' => $req['nomor_tiket'] ?? '',
|
||||
'nominal' => $req['nominal_bayar'] ?? '',
|
||||
'nominal_berjalan' => $req['nominal_bayar'] ?? '',
|
||||
@@ -225,6 +228,7 @@ class PembayaranController extends Controller
|
||||
$validated = $request->validated();
|
||||
$validated['nominal_bayar'] = $req['nominal_bayar'] ?? 0;
|
||||
$validated['created_by'] = Auth::id();
|
||||
$validated['created_at'] = now();
|
||||
$validated['status'] = '0';
|
||||
|
||||
$persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $validated['permohonan_id'] ?? null)->first();
|
||||
@@ -266,10 +270,10 @@ class PembayaranController extends Controller
|
||||
}
|
||||
|
||||
$bucok = [
|
||||
'tanggal_penuh' => $persetujuanPenawaran->created_at,
|
||||
'tanggal' => $persetujuanPenawaran->created_at->format('d'),
|
||||
'bulan' => $persetujuanPenawaran->created_at->format('m'),
|
||||
'tahun' => $persetujuanPenawaran->created_at->format('Y'),
|
||||
'tanggal_penuh' => $persetujuanPenawaran->created_at ?? $validated['created_at'],
|
||||
'tanggal' => $persetujuanPenawaran->created_at?->format('d') ?? $validated['created_at']?->format('d'),
|
||||
'bulan' => $persetujuanPenawaran->created_at?->format('m') ?? $validated['created_at']?->format('m'),
|
||||
'tahun' => $persetujuanPenawaran->created_at?->format('Y') ?? $validated['created_at']?->format('Y'),
|
||||
'nomor_tiket' => $req['nomor_tiket'] ?? '',
|
||||
'nominal' => $req['nominal_bayar'] ?? '',
|
||||
'nominal_berjalan' => $req['nominal_bayar'] ?? '',
|
||||
@@ -391,6 +395,10 @@ class PembayaranController extends Controller
|
||||
|
||||
$query = PersetujuanPenawaran::query();
|
||||
|
||||
if (Auth::user()->hasAnyRole(['pemohon-ao','pemohon-eo'])) {
|
||||
$query = $query->whereRelation('permohonan', 'branch_id', Auth::user()->branch_id);
|
||||
}
|
||||
|
||||
$query->where(function($q) {
|
||||
$q->whereRelation('permohonan', function($query) {
|
||||
$query->where('status_bayar', 'belum_bayar')
|
||||
|
||||
Reference in New Issue
Block a user