From fd5b8e1dad12190432eb304b0ee8dc6070e17a17 Mon Sep 17 00:00:00 2001 From: daengdeni Date: Fri, 20 Jun 2025 14:33:56 +0700 Subject: [PATCH] feat(webstatement): tambahkan filter data berdasarkan peran pengguna ### Perubahan Utama - Menambahkan filter data pada `PrintStatementLog` untuk pengguna non-administrator. - Membatasi query hanya untuk data yang sesuai dengan `user_id` pengguna yang sedang login jika bukan administrator. ### Detail Perubahan 1. **Update Logika Query**: - Menambahkan kondisi pengecekan untuk peran pengguna menggunakan `auth()->user()->hasRole('administrator')`. - Jika pengguna bukan administrator, query akan otomatis difilter berdasarkan `user_id` dari pengguna yang sedang login dengan fungsi `Auth::id()`. 2. **Peningkatan Keamanan Data**: - Membatasi akses data supaya hanya pengguna yang berhak dapat melihat data milik mereka. - Memastikan administrator tetap memiliki akses penuh ke semua data tanpa pembatasan. --- app/Http/Controllers/PrintStatementController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Http/Controllers/PrintStatementController.php b/app/Http/Controllers/PrintStatementController.php index 70cf1f4..7b4657e 100644 --- a/app/Http/Controllers/PrintStatementController.php +++ b/app/Http/Controllers/PrintStatementController.php @@ -333,6 +333,10 @@ // Retrieve data from the database $query = PrintStatementLog::query(); + if (!auth()->user()->hasRole('administrator')) { + $query->where('user_id', Auth::id()); + } + // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { $search = $request->get('search');