Update role-based query conditions in controllers

- Menambahkan pengecekan peran 'administrator' sebelum menerapkan filter pada relasi `penilaian.userPenilai`.
- Memastikan hanya pengguna non-administrator yang dibatasi berdasarkan `user_id` dan `role`.
This commit is contained in:
Daeng Deni Mardaeni
2024-12-24 11:51:48 +07:00
parent 78635b6295
commit 7dfda9ffb6
2 changed files with 13 additions and 8 deletions

View File

@@ -242,10 +242,13 @@ class PenilaiController extends Controller
}
$query->whereHas('penilaian.userPenilai', function ($q) {
$q->where('role', 'penilai')
->where('user_id', Auth::user()->id);
});
if(!Auth::user()->hasRole('administrator')) {
$query->whereHas('penilaian.userPenilai', function ($q) {
$q
->where('role', 'penilai')
->where('user_id', Auth::user()->id);
});
}
// Apply sorting if provided
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {

View File

@@ -1412,10 +1412,12 @@ class SurveyorController extends Controller
$query->whereRaw('LOWER(status) = ?', ['assign']);
$query->whereHas('penilaian.userPenilai', function ($q) {
$q->where('user_id', Auth::user()->id);
$q->where('role', 'surveyor');
});
if(!Auth::user()->hasRole('administrator')) {
$query->whereHas('penilaian.userPenilai', function ($q) {
$q->where('user_id', Auth::user()->id);
$q->where('role', 'surveyor');
});
}
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {