@extends('layouts.app') @section('title', 'Verifikasi Pendaftar') @section('content')
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif

Verifikasi Pendaftar - {{ $selectedEvent->nama_kegiatan_aktif ?? '-' }}

Kembali ke Dashboard

Daftar Peserta

@forelse($eventParticipants as $participant) @empty @endforelse
# Nama Peserta Desa Cabang Golongan Status Verifikasi Permintaan Data Alasan Penolakan Aksi
{{ $loop->iteration }} {{ $participant->user->name ?? '-' }} {{ $participant->user->desa->nama ?? '-' }} {{ $participant->cabang->nama ?? '-' }} {{ $participant->golongan->nama ?? '-' }} @switch($participant->status_verifikasi) @case('belum_verifikasi') Belum Verifikasi @break @case('sedang_diverifikasi') Sedang Diverifikasi @break @case('verifikasi_gagal') Verifikasi Gagal @break @case('verifikasi_berhasil') Verifikasi Berhasil @break @default - @endswitch {{ $participant->request_message ?? '—' }} {{-- Tampilkan alasan penolakan jika ada --}} {{ $participant->catatan_verifikasi ?? '—' }} @php // Tentukan hak aksi berdasarkan peran dan asal desa $canVerify = false; $canReject = false; $canUpload = false; $canEdit = false; $canRequestChange = false; // Administrator dapat memverifikasi, menolak, mengedit dan meminta perubahan. if ($currentUser->role === 'administrator') { $canVerify = true; $canReject = true; $canEdit = true; if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canRequestChange = true; } } elseif ($currentUser->role === 'admin_desa' && $participant->user && $participant->user->desa_id === $currentUser->desa_id) { // Admin desa tidak dapat memverifikasi atau menolak. // Mereka hanya dapat mengedit data peserta sebelum verifikasi berhasil if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canEdit = true; $canRequestChange = true; } // Admin desa dapat mengunggah berkas untuk peserta dari desanya jika status belum berhasil if ($participant->status_verifikasi !== 'verifikasi_berhasil') { $canUpload = true; } } // Peserta dapat mengunggah berkas sendiri jika belum verifikasi atau verifikasi gagal if ($currentUser->role === 'peserta' && $participant->user && $participant->user->id === $currentUser->id) { if (in_array($participant->status_verifikasi, ['belum_verifikasi', 'verifikasi_gagal'])) { $canUpload = true; // Peserta mengirim permintaan perubahan kepada admin $canRequestChange = true; } } // Administrator juga dapat mengunggah berkas peserta jika status belum berhasil (misal perbaikan) if ($currentUser->role === 'administrator' && $participant->status_verifikasi !== 'verifikasi_berhasil') { $canUpload = true; } // Batasi aksi berdasarkan status event: jika bukan Aktif, non-administrator tidak dapat melakukan aksi apa pun if (isset($selectedEventStatus) && $selectedEventStatus !== 'Aktif' && $currentUser->role !== 'administrator') { $canUpload = false; $canRequestChange = false; $canEdit = false; $canVerify = false; $canReject = false; } // Tentukan apakah link menuju halaman verifikasi detail harus ditampilkan. // Link ini hanya muncul jika status verifikasi belum berhasil. Administrator // selalu dapat mengakses, sedangkan operator desa hanya boleh mengakses // peserta dari desanya sendiri dan ketika event masih aktif. $canShowVerifyForm = false; if ($participant->status_verifikasi !== 'verifikasi_berhasil') { if ($currentUser->role === 'administrator') { $canShowVerifyForm = true; } elseif ($currentUser->role === 'admin_desa' && $participant->user && $participant->user->desa_id === $currentUser->desa_id) { // event harus aktif untuk operator desa if (!isset($selectedEventStatus) || $selectedEventStatus === 'Aktif') { $canShowVerifyForm = true; } } } @endphp {{-- Tampilkan tombol upload berkas untuk peserta --}} @if($canUpload) Upload Berkas @endif {{-- Peserta dapat meminta perubahan data jika belum diverifikasi --}} @if($canRequestChange) Minta Perubahan @endif {{-- Admin dan operator dapat mengedit data peserta sebelum verifikasi berhasil --}} @if($canEdit) Edit Data @endif {{-- Verifikasi dan penolakan oleh admin/operator ketika status sedang diverifikasi --}} @if($participant->status_verifikasi === 'sedang_diverifikasi') @if($canVerify)
@csrf
@endif @if($canReject)
@csrf
@endif @endif {{-- Jika tidak ada tindakan tersedia, tampilkan strip --}} @if(! $canUpload && ! $canRequestChange && ! $canEdit && $participant->status_verifikasi !== 'sedang_diverifikasi') — @endif {{-- Tampilkan link menuju halaman verifikasi detail jika diizinkan --}} @if($canShowVerifyForm) Verifikasi @endif
Belum ada peserta untuk event ini.
@endsection