Daftar Dokumen Persyaratan
Unggah seluruh dokumen wajib sebelum melanjutkan ke tahap pengisian nilai transkrip.
@if(!($isLocked ?? false))
@endif
@php
// Prepare data structure for document types
$docs = [
[
'id' => 'ijazah',
'title' => 'Ijazah Terakhir',
'description' => 'File ijazah pendidikan terakhir (PDF, JPG, JPEG, PNG, Maks. 2MB)',
'is_required' => true,
'uploaded' => $ijazah ? true : false,
'filename' => $ijazah ? basename($ijazah->file) : null,
'filepath' => $ijazah ? asset($ijazah->file) : null,
'upload_route' => route('ijazah-add'),
'delete_route' => $ijazah ? route('ijazah-delete', $ijazah->id) : null,
'icon' => 'bi-award text-primary bg-light-primary'
],
[
'id' => 'transkrip',
'title' => 'Transkrip Nilai / KHS',
'description' => 'Transkrip nilai akademik dari instansi sebelumnya (Hanya file PDF, Maks. 2MB)',
'is_required' => true,
'uploaded' => $transkrip ? true : false,
'filename' => $transkrip ? basename($transkrip->file) : null,
'filepath' => $transkrip ? route('view-transkrip', ['filename' => $transkrip->file]) : null,
'upload_route' => route('transkrip-add-data'),
'delete_route' => $transkrip ? route('delete-transkrip', $transkrip->id) : null,
'icon' => 'bi-file-earmark-pdf text-danger bg-light-danger',
'accept' => '.pdf'
],
[
'id' => 'ktp',
'title' => 'Kartu Tanda Penduduk (KTP)',
'description' => 'Kartu identitas resmi KTP pendaftar (PDF, JPG, JPEG, PNG, Maks. 2MB)',
'is_required' => true,
'uploaded' => $bukti_list->firstWhere('jenis_dokumen', 'KTP') ? true : false,
'filename' => $bukti_list->firstWhere('jenis_dokumen', 'KTP') ? $bukti_list->firstWhere('jenis_dokumen', 'KTP')->file : null,
'filepath' => $bukti_list->firstWhere('jenis_dokumen', 'KTP') ? route('bukti-alih-jenjang-file', ['filename' => $bukti_list->firstWhere('jenis_dokumen', 'KTP')->file]) : null,
'upload_route' => route('bukti-alih-jenjang-add'),
'delete_route' => $bukti_list->firstWhere('jenis_dokumen', 'KTP') ? route('bukti-alih-jenjang-delete', $bukti_list->firstWhere('jenis_dokumen', 'KTP')->nomor_dokumen) : null,
'icon' => 'bi-card-image text-info bg-light-info',
'fixed_jenis' => 'KTP'
]
];
// Optional document types
$optional_types = [
'Sertifikat' => 'Sertifikat keahlian, kompetensi, atau pelatihan penunjang',
'Panduan Kurikulum' => 'Panduan kurikulum atau silabus mata kuliah prodi asal',
'Surat Keterangan Pernah Kuliah' => 'Surat keterangan pernah kuliah bagi mahasiswa alih jenjang/belum lulus'
];
foreach($optional_types as $type_name => $type_desc) {
$item = $bukti_list->firstWhere('jenis_dokumen', $type_name);
$docs[] = [
'id' => Str::slug($type_name),
'title' => $type_name,
'description' => $type_desc . ' (PDF, JPG, JPEG, PNG, Maks. 2MB)',
'is_required' => false,
'uploaded' => $item ? true : false,
'filename' => $item ? $item->file : null,
'filepath' => $item ? route('bukti-alih-jenjang-file', ['filename' => $item->file]) : null,
'upload_route' => route('bukti-alih-jenjang-add'),
'delete_route' => $item ? route('bukti-alih-jenjang-delete', $item->nomor_dokumen) : null,
'icon' => 'bi-file-earmark-check text-success bg-light-success',
'fixed_jenis' => $type_name
];
}
// Custom uploaded documents
$all_predefined_types = array_merge(['KTP'], array_keys($optional_types));
$custom_docs = $bukti_list->filter(function($bukti) use ($all_predefined_types) {
return !in_array($bukti->jenis_dokumen, $all_predefined_types);
});
@endphp
@foreach($docs as $doc)
@if($doc['is_required'])
Wajib
@else
Opsional
@endif
{{ $doc['title'] }}
{{ $doc['description'] }}
@if($doc['uploaded'])
Sudah Diunggah
{{ $doc['filename'] }}
Lihat
@if(!($isLocked ?? false))
@endif
@elseif(!($isLocked ?? false))
@else
Tidak diunggah
@endif
@endforeach
@foreach($custom_docs as $bukti)
{{ $bukti->jenis_dokumen }}
Dokumen pendukung kustom yang diunggah.
Sudah Diunggah
{{ $bukti->file }}
Lihat
@if(!($isLocked ?? false))
@endif
@endforeach
Sebelumnya
@php
$next_enabled = $docs[0]['uploaded'] && $docs[1]['uploaded'] && $docs[2]['uploaded'];
@endphp
@if($next_enabled)
Selanjutnya
@else
@endif