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:
@@ -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'))) {
|
||||
|
||||
@@ -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'))) {
|
||||
|
||||
Reference in New Issue
Block a user