perbaiki modul arsip, jabatan, laporan penduduk, anggaran, dan epidemi penyakit#1582
Open
habibie11 wants to merge 24 commits into
Open
perbaiki modul arsip, jabatan, laporan penduduk, anggaran, dan epidemi penyakit#1582habibie11 wants to merge 24 commits into
habibie11 wants to merge 24 commits into
Conversation
…pgrade-laravel-13
|
🔄 AI PR Review sedang antri di server...
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ringkasan
Commit ini memperbaiki sejumlah bug yang muncul setelah upgrade ke Laravel 13, meliputi error fatal pada routing, form yang tidak dapat disubmit, tombol yang tidak muncul, dan crash saat ekstraksi file ZIP.
Bug yang Diperbaiki
1.
data/pengurus/arsip— Error: Missing required parameterpengurus_idPenyebab: Tombol "Tambah Arsip" selalu dirender tanpa kondisi, sehingga memanggil
route('data.pengurus.create.arsip', $pengurus_id)meskipun$pengurus_idbelum tersedia (halaman daftar arsip tanpa konteks pengurus tertentu).Perbaikan:
resources/views/data/pengurus/arsip.blade.php2.
data/jabatan/create— Error: Routedata.jabatan.storenot definedPenyebab: Route POST
jabatan(untuk getdata) konflik dengan route POSTjabatanmilikRoute::resource('jabatan', ...). Di Laravel 13, route yang didaftarkan belakangan menimpa yang pertama, sehingga routedata.jabatan.storedari resource hilang.Perbaikan:
routes/web.php3.
data/laporan-penduduk— Tombol hapus tidak muncul & crash saat extract ZIP3a. Tombol hapus tidak muncul
Penyebab: Nama permission yang digunakan di controller menggunakan format
laporan-penduduk(dash), sedangkan yang terdefinisi diRoleSpatieSeedermenggunakan formatlaporan_penduduk(underscore). Akibatnya$user->can()selalu mengembalikanfalse.Perbaikan:
app/Http/Controllers/Data/LaporanPendudukController.php3b. Route download konflik (typo: tidak ada slash sebelum
{id})Penyebab: Route
download{id}(tanpa/) terdaftar dengan nama yang sama dengandownload/{id}, menyebabkan konflik route di Laravel 13.Perbaikan:
routes/web.php3c. Crash
ValueError: Invalid or uninitialized Zip objectPenyebab:
ZipArchive::open()tidak melempar exception saat gagal membuka file ZIP. Nilai return-nya diabaikan, danextractTo()dipanggil pada objek ZIP yang tidak terinisialisasi, menyebabkanValueError.Perbaikan:
app/Http/Controllers/Data/LaporanPendudukController.php4.
data/anggaran-realisasi— Tombol import tidak bisa diklikPenyebab: Method chaining
->acceptsFiles()tidak dilanjutkan dengan->open(). Akibatnya tag<form>tidak pernah dibuka, dan semua elemen input serta tombol submit berada di luar form — tidak dapat mengirim data.Perbaikan:
resources/views/data/anggaran_realisasi/import.blade.php{!! html()->form()->route('data.anggaran-realisasi.do_import')->method('POST') - ->id('form-import')->class('form-horizontal - form-label-left')->acceptsFiles() !!} + ->id('form-import')->class('form-horizontal form-label-left') + ->acceptsFiles()->open() !!}5.
data/anggaran-desa— Tombol import tidak bisa diklikPenyebab: Sama seperti bug #4 —
->open()tidak dipanggil setelah->acceptsFiles().Perbaikan:
resources/views/data/anggaran_desa/import.blade.php{!! html()->form()->route('data.anggaran-desa.do_import')->method('POST') - ->id('form-import')->class('form-horizontal - form-label-left')->acceptsFiles() !!} + ->id('form-import')->class('form-horizontal form-label-left') + ->acceptsFiles()->open() !!}6.
data/epidemi-penyakit/{id}/edit— Error 405 Method Not AllowedPenyebab: Form edit epidemi penyakit menggunakan
html()->form()->open()tanpa mendefinisikan route dan method, sehingga form submit ke URL yang sama dengan method GET/POST default, bukan ke routeupdatedengan methodPUT.Perbaikan:
resources/views/data/epidemi_penyakit/edit.blade.php7.
data/laporan-apbdes— Route duplikatdownload{id}Penyebab: Terdapat dua definisi route download untuk laporan APBDes — satu tanpa slash (
download{id}) dan satu lagi dengan slash (download/{id}). Di Laravel 13, pendaftaran route ganda dengan nama yang sama menyebabkan route pertama ditimpa.Perbaikan:
routes/web.php- Route::get('download{id}', ['as' => 'data.laporan-apbdes.download', ...]); Route::get('download/{id}', ['as' => 'data.laporan-apbdes.download', ...]);Route
download{id}(tanpa slash, yang salah) dihapus; routedownload/{id}yang benar dipertahankan.File yang Diubah
routes/web.phpdownload{id}di laporan-penduduk dan laporan-apbdesapp/Http/Controllers/Data/LaporanPendudukController.phpZipArchive::open()resources/views/data/pengurus/arsip.blade.php@if(!empty($pengurus_id))resources/views/data/anggaran_realisasi/import.blade.php->open()pada form builderresources/views/data/anggaran_desa/import.blade.php->open()pada form builderresources/views/data/epidemi_penyakit/edit.blade.phpCara Menguji
http://127.0.0.1:8001/data/pengurus/arsip— pastikan tidak ada error, tombol Tambah hanya muncul jika konteks pengurus tersedia.http://127.0.0.1:8001/data/jabatan/create— isi form dan submit, pastikan data tersimpan tanpa error route.http://127.0.0.1:8001/data/laporan-penduduk— pastikan tombol hapus dan download muncul.http://127.0.0.1:8001/data/anggaran-realisasi/import— klik tombol Impor dan pastikan form dapat disubmit.http://127.0.0.1:8001/data/anggaran-desa/import— klik tombol Impor dan pastikan form dapat disubmit.