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) {
|
if(!Auth::user()->hasRole('administrator')) {
|
||||||
$q->where('role', 'penilai')
|
$query->whereHas('penilaian.userPenilai', function ($q) {
|
||||||
->where('user_id', Auth::user()->id);
|
$q
|
||||||
});
|
->where('role', 'penilai')
|
||||||
|
->where('user_id', Auth::user()->id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply sorting if provided
|
// Apply sorting if provided
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
|
|||||||
@@ -1412,10 +1412,12 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$query->whereRaw('LOWER(status) = ?', ['assign']);
|
$query->whereRaw('LOWER(status) = ?', ['assign']);
|
||||||
|
|
||||||
$query->whereHas('penilaian.userPenilai', function ($q) {
|
if(!Auth::user()->hasRole('administrator')) {
|
||||||
$q->where('user_id', Auth::user()->id);
|
$query->whereHas('penilaian.userPenilai', function ($q) {
|
||||||
$q->where('role', 'surveyor');
|
$q->where('user_id', Auth::user()->id);
|
||||||
});
|
$q->where('role', 'surveyor');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
|
|||||||
Reference in New Issue
Block a user