@extends('layouts.app') @section('title', 'Attendance Rules') @section('content')
{{-- ============================================================ Page Header ============================================================ --}}

Attendance Rules

Manage attendance timings, grace periods, late rules and attendance policies.

{{-- Export --}} @can('attendance-rules.view') @if(Route::has('attendance-rules.export')) Export CSV @endif @endcan {{-- Create --}} @can('attendance-rules.create') New Attendance Rule @endcan
{{-- ============================================================ Filters ============================================================ --}}
{{-- Search --}}
{{-- --}}
{{-- Academic Year --}}
{{-- Status --}}
{{-- Filter --}} {{-- Reset --}} @if(request()->hasAny([ 'search', 'academic_year_id', 'status' ])) Reset @endif
{{-- ============================================================ Active Filters ============================================================ --}} @if( filled(request('search')) || filled(request('academic_year_id')) || request('status') !== null && request('status') !== '' )
Active filters: {{-- Search --}} @if(filled(request('search'))) {{-- --}} {{ request('search') }} @endif {{-- Academic Year --}} @if(filled(request('academic_year_id'))) @php $selectedAcademicYear = $academicYears->firstWhere( 'id', (int) request('academic_year_id') ); @endphp @if($selectedAcademicYear) {{ $selectedAcademicYear->name }} @endif @endif {{-- Status --}} @if(request('status') !== null && request('status') !== '') @if(request('status') === '1') Active @else Inactive @endif @endif
@endif {{-- ============================================================ Bulk Actions ============================================================ --}} {{-- ============================================================ Attendance Rules Table ============================================================ --}}
{{-- Table Header --}}

Attendance Rule List

@if($attendanceRules->total() > 0) Showing {{ number_format($attendanceRules->firstItem()) }} to {{ number_format($attendanceRules->lastItem()) }} of {{ number_format($attendanceRules->total()) }} attendance rules. @else No attendance rules available. @endif

@if($attendanceRules->total() > 0)
Page {{ $attendanceRules->currentPage() }} of {{ $attendanceRules->lastPage() }}
@endif
{{-- Table --}}
{{-- Select --}} @forelse($attendanceRules as $attendanceRule) {{-- Checkbox --}} {{-- Rule --}} {{-- Academic Year --}} {{-- School Time --}} {{-- Check-In Window --}} {{-- Grace --}} {{-- Status --}} {{-- Actions --}} @empty @endforelse
Rule Academic Year School Time Check-In Window Grace Status Actions
@can('attendance-rules.view') {{ $attendanceRule->name }} @else

{{ $attendanceRule->name }}

@endcan

@if($attendanceRule->auto_checkout) Auto checkout enabled @else Manual checkout @endif

@if($attendanceRule->academicYear)

{{ $attendanceRule->academicYear->name }}

@if($attendanceRule->academicYear->is_current) Current @endif
@else @endif

{{ $attendanceRule->school_start_time?->format('h:i A') ?? '—' }} - {{ $attendanceRule->school_end_time?->format('h:i A') ?? '—' }}

Working hours

{{ $attendanceRule->check_in_start_time?->format('h:i A') ?? '—' }} - {{ $attendanceRule->check_in_end_time?->format('h:i A') ?? '—' }}

Allowed check-in

{{ number_format($attendanceRule->grace_minutes) }} min @if($attendanceRule->is_active) Active @else Inactive @endif
{{-- View --}} @can('attendance-rules.view') @endcan {{-- Edit --}} @can('attendance-rules.edit') @endcan {{-- Delete --}} @can('attendance-rules.delete')
@csrf @method('DELETE')
@endcan
@if( filled(request('search')) || filled(request('academic_year_id')) || request('status') !== null && request('status') !== '' )

No matching attendance rules found

No attendance rules match the current search or filter criteria.

Clear Filters @else

No attendance rules found

Create your first attendance rule to configure school timings, grace periods and attendance policies.

@can('attendance-rules.create') New Attendance Rule @endcan @endif
{{-- ======================================================== Pagination ======================================================== --}} @if($attendanceRules->hasPages())
{{ $attendanceRules->withQueryString()->links() }}
@endif
{{-- ================================================================ Bulk Delete Form ================================================================ --}} @if(Route::has('attendance-rules.bulk-delete')) @endif @endsection @push('scripts') @endpush