create redirect link for dashboard pimpinan
This commit is contained in:
@@ -8,7 +8,7 @@ use App\Http\Resources\RequestAssignmentResouce;
|
||||
use App\Models\PbgTask;
|
||||
use App\Models\PbgTaskGoogleSheet;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use DB;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Log;
|
||||
@@ -21,18 +21,51 @@ class RequestAssignmentController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = PbgTask::with(['attachments' => function ($q) {
|
||||
$q->whereIn('pbg_type', ['berita_acara', 'bukti_bayar']);
|
||||
}])->orderBy('id', 'desc');
|
||||
|
||||
$query = PbgTask::with([
|
||||
'attachments' => function ($q) {
|
||||
$q->whereIn('pbg_type', ['berita_acara', 'bukti_bayar']);
|
||||
},
|
||||
'googleSheet'
|
||||
])->orderBy('id', 'desc');
|
||||
|
||||
if ($request->has('filter') && !empty($request->get('filter'))) {
|
||||
$filter = strtolower($request->get('filter'));
|
||||
|
||||
switch ($filter) {
|
||||
case 'non-business':
|
||||
$query->whereRaw("LOWER(function_type) != ?", ['sebagai tempat usaha'])->orWhereNull('function_type');
|
||||
break;
|
||||
|
||||
case 'business':
|
||||
$query->whereRaw("LOWER(function_type) = ?", ['sebagai tempat usaha']);
|
||||
break;
|
||||
|
||||
case 'verified':
|
||||
$query->whereHas('googleSheet', function ($q) {
|
||||
$q->whereRaw("LOWER(status_verifikasi) = ?", ['selesai verifikasi']);
|
||||
});
|
||||
break;
|
||||
|
||||
case 'non-verified':
|
||||
$query->where(function ($q) {
|
||||
$q->whereDoesntHave('googleSheet')
|
||||
->orWhereHas('googleSheet', function ($q2) {
|
||||
$q2->whereRaw("LOWER(status_verifikasi) != ?", ['selesai verifikasi'])->orWhereNull('status_verifikasi');
|
||||
});
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->has('search') && !empty($request->get("search"))) {
|
||||
$query->where(function ($q) use ($request) {
|
||||
$q->where('name', 'LIKE', '%' . $request->get('search') . '%')
|
||||
->orWhere('registration_number', 'LIKE', '%' . $request->get('search') . '%')
|
||||
->orWhere('document_number', 'LIKE', '%' . $request->get('search') . '%');
|
||||
$search = $request->get('search');
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('name', 'LIKE', "%$search%")
|
||||
->orWhere('registration_number', 'LIKE', "%$search%")
|
||||
->orWhere('document_number', 'LIKE', "%$search%");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return RequestAssignmentResouce::collection($query->paginate());
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\RequestAssignment;
|
||||
|
||||
use App\Enums\PbgTaskApplicationTypes;
|
||||
use App\Enums\PbgTaskFilterData;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\PbgTask;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -17,27 +18,21 @@ class PbgTaskController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$menuId = $request->query('menu_id');
|
||||
$user = Auth::user();
|
||||
$userId = $user->id;
|
||||
$menuId = $request->query('menu_id') ?? $request->input('menu_id');
|
||||
$filter = $request->query('filter');
|
||||
|
||||
// Ambil role_id yang dimiliki user
|
||||
$roleIds = DB::table('user_role')
|
||||
->where('user_id', $userId)
|
||||
->pluck('role_id');
|
||||
|
||||
// Ambil data akses berdasarkan role_id dan menu_id
|
||||
$roleAccess = DB::table('role_menu')
|
||||
->whereIn('role_id', $roleIds)
|
||||
->where('menu_id', $menuId)
|
||||
->first();
|
||||
|
||||
// Pastikan roleAccess tidak null sebelum mengakses properti
|
||||
$creator = $roleAccess->allow_create ?? 0;
|
||||
$updater = $roleAccess->allow_update ?? 0;
|
||||
$destroyer = $roleAccess->allow_destroy ?? 0;
|
||||
|
||||
return view('pbg_task.index', compact('creator', 'updater', 'destroyer'));
|
||||
$permissions = $this->permissions[$menuId]?? []; // Avoid undefined index error
|
||||
$creator = $permissions['allow_create'] ?? 0;
|
||||
$updater = $permissions['allow_update'] ?? 0;
|
||||
$destroyer = $permissions['allow_destroy'] ?? 0;
|
||||
|
||||
return view('pbg_task.index', [
|
||||
'creator' => $creator,
|
||||
'updater' => $updater,
|
||||
'destroyer' => $destroyer,
|
||||
'filter' => $filter,
|
||||
'filterOptions' => PbgTaskFilterData::getAllOptions(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user