@extends('layouts.app') @section('title', 'Seminar Magang') @section('page-title', 'Seminar Magang') @section('content') @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
Daftar Pengajuan Seminar
@forelse($pengajuans as $pengajuan) @php $badge = ['menunggu_jadwal'=>'warning','terjadwal'=>'success','selesai'=>'primary','ditunda'=>'secondary','dibatalkan'=>'dark']; $kelayakanApproved = $pengajuan->kelayakanSeminar?->isApproved(); $kelayakanStatus = $pengajuan->kelayakanSeminar?->statusRingkas(); $kelayakanStatusBadge = ['Belum Lengkap'=>'secondary','Menunggu Validasi Dokumen'=>'warning text-dark','Perlu Revisi Dokumen'=>'danger','Siap Ajukan Seminar'=>'success','Seminar Sudah Diajukan'=>'success']; $perluVerifikasiPembimbing = $pengajuan->kelayakanSeminar && (!$pengajuan->kelayakanSeminar->dosen_id || !$pengajuan->kelayakanSeminar->pembimbing_lapangan_id); $seminarAktifSetelahReupload = $pengajuan->kelayakanSeminar?->hasActiveSeminarSubmissionAfterReupload() ?? true; $statusSeminar = $seminarAktifSetelahReupload ? ($pengajuan->status_seminar ?: ($kelayakanApproved ? 'menunggu_jadwal' : 'belum')) : 'belum'; $formatStatus = fn($status) => ucwords(str_replace('_', ' ', $status ?: '-')); $statusLabel = $statusSeminar === 'menunggu_jadwal' && $kelayakanApproved ? 'Siap Dijadwalkan' : $formatStatus($statusSeminar); $dokumenKelayakan = [ 'laporan_hasil_magang' => ['label' => 'Laporan Hasil Magang', 'path' => $pengajuan->kelayakanSeminar?->laporan_hasil_magang, 'original' => $pengajuan->kelayakanSeminar?->laporan_hasil_magang_original_name], 'draft_jurnal' => ['label' => 'Draft Jurnal', 'path' => $pengajuan->kelayakanSeminar?->draft_jurnal, 'original' => $pengajuan->kelayakanSeminar?->draft_jurnal_original_name], 'produk_magang' => ['label' => 'Produk Magang', 'path' => $pengajuan->kelayakanSeminar?->produk_magang, 'original' => $pengajuan->kelayakanSeminar?->produk_magang_original_name, 'link' => $pengajuan->kelayakanSeminar?->produk_magang_link], ]; $statusDocLabel = ['belum_dikirim' => 'Belum Dikirim', 'menunggu' => 'Menunggu Validasi', 'revisi' => 'Direvisi', 'disetujui' => 'Disetujui']; $statusDocBadge = ['belum_dikirim' => 'secondary', 'menunggu' => 'warning text-dark', 'revisi' => 'danger', 'disetujui' => 'success']; @endphp @empty @endforelse
MahasiswaInstansiKelayakanJudulStatusJadwalAksi
{{ $pengajuan->mahasiswa->nama_lengkap ?? '-' }}
{{ $pengajuan->mahasiswa->nim ?? '-' }}
{{ $pengajuan->mitra->nama_instansi ?? $pengajuan->nama_instansi_manual ?? '-' }} Dosen Pembimbing: {{ $formatStatus($pengajuan->kelayakanSeminar->status_persetujuan_dosen ?? '-') }}
@if($pengajuan->kelayakanSeminar?->catatan_dosen)Catatan dosen pembimbing: {{ $pengajuan->kelayakanSeminar->catatan_dosen }}
@endif Pembimbing Lapangan: {{ $formatStatus($pengajuan->kelayakanSeminar->status_persetujuan_pembimbing ?? '-') }} @if($pengajuan->kelayakanSeminar?->catatan_pembimbing)
Catatan pembimbing lapangan: {{ $pengajuan->kelayakanSeminar->catatan_pembimbing }}@endif @if($pengajuan->kelayakanSeminar) @if($perluVerifikasiPembimbing)
Perlu Verifikasi Pembimbing
Dosen terbaca: {{ $pengajuan->bimbingans->pluck('dosen.nama_dosen')->filter()->unique()->implode(', ') ?: '-' }}
Pembimbing lapangan terbaca: {{ $pengajuan->pembimbingLapangan->nama ?? $pengajuan->pic_nama ?? '-' }}
@endif @if($kelayakanStatus)
{{ $kelayakanStatus }}
@endif
Output: {{ \Illuminate\Support\Str::limit($pengajuan->kelayakanSeminar->output_magang ?: '-', 80) }}
Laporan @if($pengajuan->kelayakanSeminar->produk_magang) Produk @endif @if($pengajuan->kelayakanSeminar->draft_jurnal) Draft Jurnal @endif
@endif
{{ $pengajuan->judul_laporan ?? '-' }} {{ $statusLabel }} {{ $pengajuan->seminar_tanggal ?? '-' }}
{{ $pengajuan->seminar_jam ? substr($pengajuan->seminar_jam, 0, 5) : '-' }}
{{ $pengajuan->seminar_ruangan ?? '-' }}
@if($kelayakanApproved) @else @endif
@if($pengajuan->kelayakanSeminar)
Dokumen Kelayakan Seminar
Judul Laporan Magang
{{ $pengajuan->judul_laporan ?: '-' }}
Uraian Output Magang
{{ $pengajuan->kelayakanSeminar->output_magang ?: 'Belum tersedia' }}
Catatan Tambahan
{{ $pengajuan->kelayakanSeminar->catatan_mahasiswa ?: 'Belum tersedia' }}

@foreach($dokumenKelayakan as $documentKey => $document) @php $documentStatus = $pengajuan->kelayakanSeminar->documentValidationStatus($documentKey); $dosenValidation = $pengajuan->kelayakanSeminar->documentValidations->where('document_key', $documentKey)->where('reviewer_role', 'dosen')->first(); $pembimbingValidation = $pengajuan->kelayakanSeminar->documentValidations->where('document_key', $documentKey)->where('reviewer_role', 'pembimbing_lapangan')->first(); $documentHistories = $pengajuan->kelayakanSeminar->catatanHistories->where('document_key', $documentKey)->where('role_pemberi', 'Mahasiswa'); $validationHistories = $pengajuan->kelayakanSeminar->catatanHistories->where('document_key', $documentKey)->reject(fn($history) => strcasecmp((string) $history->role_pemberi, 'Mahasiswa') === 0); @endphp
{{ $document['label'] }}
@php $documentAktif = $pengajuan->kelayakanSeminar->documentAvailable($documentKey); @endphp @if($documentAktif && $document['path'])
File: {{ $document['original'] ?: basename($document['path']) }}
@elseif($documentAktif && $documentKey === 'produk_magang' && !empty($document['link']))
Link tersedia
@else
Belum tersedia
@endif
{{ $statusDocLabel[$documentStatus] ?? $documentStatus }}
@if($documentAktif && $document['path']) Lihat Download @endif @if($documentAktif && $documentKey === 'produk_magang' && !empty($document['link'])) Buka Link Produk @endif
@if($documentStatus !== 'belum_dikirim')
Dosen Pembimbing: {{ $statusDocLabel[$dosenValidation->status ?? 'menunggu'] ?? 'Menunggu Validasi' }}
Pembimbing Lapangan: {{ $statusDocLabel[$pembimbingValidation->status ?? 'menunggu'] ?? 'Menunggu Validasi' }}
@endif
Riwayat Dokumen
@forelse($documentHistories as $history)
{{ $history->catatan ?: '-' }}
@if($history->file_original_name || $history->file_path)
File: {{ $history->file_original_name ?: basename($history->file_path) }}
@endif @if($history->produk_magang_link)
Link: {{ $history->produk_magang_link }}
@endif
Oleh: {{ $history->nama_pemberi ?: 'Mahasiswa' }} • {{ optional($history->created_at)->timezone(config('app.timezone'))->format('d/m/Y H:i') }}
@empty
Belum ada riwayat dokumen.
@endforelse
Riwayat Validasi Pembimbing
@forelse($validationHistories as $history)
Status: {{ $statusDocLabel[$history->status_tindakan] ?? ucwords(str_replace('_', ' ', $history->status_tindakan)) }}
Catatan: {{ $history->catatan ?: '-' }}
Oleh: {{ $history->nama_pemberi ?: $history->role_pemberi }} • {{ optional($history->created_at)->timezone(config('app.timezone'))->format('d/m/Y H:i') }}
@empty
Belum ada riwayat validasi.
@endforelse
@endforeach @if($pengajuan->kelayakanSeminar->archives->isNotEmpty())
Arsip Kelayakan Lama
@foreach($pengajuan->kelayakanSeminar->archives as $archive)
Dokumen lama diarsipkan: {{ optional($archive->archived_at ?: $archive->created_at)->timezone(config('app.timezone'))->format('d/m/Y H:i') }}
@foreach($dokumenKelayakan as $documentKey => $document) @if($archive->documentPath($documentKey)) Lihat {{ $document['label'] }} Lama Download @endif @endforeach @if($archive->produk_magang_link) Buka Link Produk Lama @endif
@endforeach @endif
@endif @unless($kelayakanApproved)
Seminar belum dapat dijadwalkan karena belum disetujui oleh dosen pembimbing dan pembimbing lapangan.
@else
@csrf
@if($pengajuan->status_seminar === 'selesai')
Penilaian Tahap 2 - Seminar Hasil Magang
Nilai Tahap 2 diinput oleh Dosen Pembimbing dan Pembimbing Lapangan melalui menu Penilaian.
Nilai Tahap 2 Dosen
{{ $pengajuan->penilaian?->nilai_seminar_dosen !== null ? number_format($pengajuan->penilaian->nilai_seminar_dosen, 2) : '-' }}
Nilai Tahap 2 Pembimbing
{{ $pengajuan->penilaian?->nilai_seminar_pembimbing !== null ? number_format($pengajuan->penilaian->nilai_seminar_pembimbing, 2) : '-' }}
Nilai Seminar Gabungan
{{ $pengajuan->penilaian?->nilai_seminar !== null ? number_format($pengajuan->penilaian->nilai_seminar, 2) : 'Belum lengkap' }}
Status Nilai
{{ $pengajuan->penilaian?->statusNilaiLabel() ?? 'Belum Lengkap' }}
@elseif($pengajuan->seminar_tanggal)
Nilai seminar hasil magang dapat diinput setelah admin menyelesaikan status seminar.
@endif @endunless
Belum ada pengajuan seminar.
{{ $pengajuans->links() }}
@endsection