@extends('dashboard.layouts.app') @section('content') @include('components.alert') @php $isMarketing = optional($authStaff?->department)->slug === 'marketing'; $isHr = optional($authStaff?->department)->slug === 'hr'; $canCreateRequest = !(request('priority') === 'high' && $isMarketing); $isSuperAdminRole = isSuperAdminOrCeo(Auth::user()); $activeFiltersCount = collect([request('department_id'), request('type_id'), request('priority')]) ->filter(fn($value) => filled($value)) ->count(); @endphp
@if ($activeFiltersCount > 0) {{ $activeFiltersCount }} Active Filter(s) @endif @if ($isHr) My Assigned Applicants @endif @if ($canCreateRequest) + Add New Request @endif
@php $tableFilters = []; if ($isSuperAdminRole) { $tableFilters['department_id'] = $departments->pluck('name', 'id')->toArray(); } if (!$isMarketing) { // $tableFilters['type_id'] = request()->get('type') // ? ['Recruitment'] // : $requestTypes->pluck('name', 'id')->toArray(); $tableFilters['priority'] = [ 'low' => 'Low', 'medium' => 'Medium', 'high' => 'High', ]; } $filterLabels = [ 'department' => 'All Departments', 'type' => 'All Request Types', 'priority' => 'All Priorities', ]; @endphp
Filters
@php $tableEmptyActionText = $canCreateRequest ? '+ Add First Request' : null; $tableEmptyActionUrl = $canCreateRequest ? route('requests.create') : null; @endphp @foreach ($requests as $request) @php $priorityVariant = match ($request->priority) { 'high' => 'danger', 'medium' => 'warn', default => 'success', }; $statusVariant = match ($request->status) { 'rejected' => 'danger', 'pending' => 'warn', 'approved' => 'success', default => 'neutral', }; $canEditRequest = $request->created_by == $staff_id && (isSuperAdminOrCeo(auth()->user()) || !in_array($authStaff?->jobTitle?->slug, [ 'teacher', 'tester', ])); $hasApplicants = $request->requestRecruitments->count() > 0; $creatorName = trim( ($request->creator->first_name ?? '') . ' ' . ($request->creator?->getRawOriginal('last_name') ?? ''), ); $requestForName = trim( ($request->requestFor->first_name ?? '') . ' ' . ($request->requestFor?->getRawOriginal('last_name') ?? ''), ); @endphp {{ $request->department->name ?? 'N/A' }} {{ $creatorName ?: '—' }} {{ $requestForName ?: '—' }} {{ $request->type->name ?? 'N/A' }} {{ ucfirst($request->priority) }} {{-- {{ $request->deadline ?? '—' }} --}} {{ ucfirst($request->status) }}
@if ($canEditRequest) @endif @can('hr_request_show_applicants') @if ($hasApplicants) @else @endif @endcan
@endforeach
@endsection @push('styles') @endpush