diff --git a/resources/views/backend/event/create.blade.php b/resources/views/backend/event/create.blade.php index e075ab40d..3b06da00a 100644 --- a/resources/views/backend/event/create.blade.php +++ b/resources/views/backend/event/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('informasi.event.store'))->id('form-event')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/backend/event/form_edit.blade.php b/resources/views/backend/event/form_edit.blade.php index eec2651ab..7b8d25c44 100644 --- a/resources/views/backend/event/form_edit.blade.php +++ b/resources/views/backend/event/form_edit.blade.php @@ -15,7 +15,7 @@
{!! html()->textarea('description', old('description', $event->description))->class('textarea my-editor')->placeholder('Deskripsi kegiatan')->style( 'width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: - 10px;', + 10px;', )->required() !!}
@@ -42,30 +42,30 @@ @push('scripts') {!! JsValidator::formRequest('App\Http\Requests\EventRequest', '#form-event') !!} + function add_atachment() { + $('#attachment_input').html(` + +
+ +
+ `); + }; + + //Datetimepicker + $('#waktu').daterangepicker({ timePicker: true, timePicker24Hour: true, locale: { format: 'YYYY/MM/D HH:mm' } }) + }); + @endpush diff --git a/resources/views/backend/themes/import.blade.php b/resources/views/backend/themes/import.blade.php index f3639a9ea..224c18375 100644 --- a/resources/views/backend/themes/import.blade.php +++ b/resources/views/backend/themes/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('setting.themes.do-upload')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles() !!}
diff --git a/resources/views/data/aki_akb/import.blade.php b/resources/views/data/aki_akb/import.blade.php index a0ae1305d..7681f70c2 100644 --- a/resources/views/data/aki_akb/import.blade.php +++ b/resources/views/data/aki_akb/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.aki-akb.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/aki_akb/index.blade.php b/resources/views/data/aki_akb/index.blade.php index 77579ffe4..c94723561 100644 --- a/resources/views/data/aki_akb/index.blade.php +++ b/resources/views/data/aki_akb/index.blade.php @@ -53,6 +53,7 @@ serverSide: true, ajax: { url: "{!! route('data.aki-akb.getdata') !!}", + type: 'POST', data: function(d) { d.desa_id = $('#list_desa').val(); } diff --git a/resources/views/data/anggaran_desa/import.blade.php b/resources/views/data/anggaran_desa/import.blade.php index bebe68680..b4d98ad2f 100644 --- a/resources/views/data/anggaran_desa/import.blade.php +++ b/resources/views/data/anggaran_desa/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('data.anggaran-desa.do_import')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles() !!}
diff --git a/resources/views/data/anggaran_realisasi/import.blade.php b/resources/views/data/anggaran_realisasi/import.blade.php index ca06fb3a5..628e3fa96 100644 --- a/resources/views/data/anggaran_realisasi/import.blade.php +++ b/resources/views/data/anggaran_realisasi/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('data.anggaran-realisasi.do_import')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles() !!}
diff --git a/resources/views/data/data_desa/create.blade.php b/resources/views/data/data_desa/create.blade.php index c24a34c11..b7746f53c 100644 --- a/resources/views/data/data_desa/create.blade.php +++ b/resources/views/data/data_desa/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form()->route('data.data-desa.store')->method('POST')->id('form-datadesa')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!}
diff --git a/resources/views/data/data_desa/gabungan/index.blade.php b/resources/views/data/data_desa/gabungan/index.blade.php index 558584b28..44dde592e 100644 --- a/resources/views/data/data_desa/gabungan/index.blade.php +++ b/resources/views/data/data_desa/gabungan/index.blade.php @@ -50,21 +50,21 @@ processing: true, serverSide: true, ajax: { - url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/desa?' . + url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/desa-datatable?' . http_build_query([ 'filter[kode_kecamatan]' => str_replace('.', '', $profil->kecamatan_id), ]) }}`, headers: { - "Accept": "application/ld+json", - "Content-Type": "text/json; charset=utf-8", - "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}` + "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}`, + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, - method: 'get', + method: 'POST', data: function(row) { return { "page[size]": row.length, "page[number]": (row.start / row.length) + 1, "filter[search]": row.search.value, + "search": row.search.value, "fields[config]": "id,kode_desa,nama_desa,website,path", "sort": (row.order[0]?.dir === "asc" ? "" : "-") + row.columns[row.order[0] ?.column] diff --git a/resources/views/data/data_desa/gabungan/peta.blade.php b/resources/views/data/data_desa/gabungan/peta.blade.php index 24252781a..1cca16ee7 100644 --- a/resources/views/data/data_desa/gabungan/peta.blade.php +++ b/resources/views/data/data_desa/gabungan/peta.blade.php @@ -88,11 +88,11 @@ function path_kec() { overlayLayers['Peta Wilayah Kecamatan'] = wilayah_property(mark_kec, false); } } - fetch(`{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/desa' }}?filter[id]={{ $id }}&page[size]=1&fields[config]=id,path,nama_desa`, { + fetch(`{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/desa-datatable' }}?filter[id]={{ $id }}&page[size]=1&fields[config]=id,path,nama_desa`, { + method: 'POST', headers: { - "Accept": "application/ld+json", - "Content-Type": "text/json; charset=utf-8", - "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}` + "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}`, + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }).then(response => response.json()) .then(data => { diff --git a/resources/views/data/data_desa/index.blade.php b/resources/views/data/data_desa/index.blade.php index 9748f530e..6958fac1a 100644 --- a/resources/views/data/data_desa/index.blade.php +++ b/resources/views/data/data_desa/index.blade.php @@ -61,7 +61,10 @@ responsive: true, processing: true, serverSide: true, - ajax: "{!! route('data.data-desa.getdata') !!}", + ajax: { + url: "{!! route('data.data-desa.getdata') !!}", + type: "POST", + }, columns: [{ data: 'aksi', name: 'aksi', diff --git a/resources/views/data/data_sarana/create.blade.php b/resources/views/data/data_sarana/create.blade.php index 45cfd22e4..44234cd19 100644 --- a/resources/views/data/data_sarana/create.blade.php +++ b/resources/views/data/data_sarana/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('data.data-sarana.store'))->id('form-sarana')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!}
diff --git a/resources/views/data/data_sarana/edit.blade.php b/resources/views/data/data_sarana/edit.blade.php index 6e362c985..f708020ad 100644 --- a/resources/views/data/data_sarana/edit.blade.php +++ b/resources/views/data/data_sarana/edit.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('data.data-sarana.update', $sarana->id))->id('form-sarana')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @method('PUT') @@ -42,7 +42,8 @@
{!! html()->form()->close() !!}
diff --git a/resources/views/data/data_sarana/import.blade.php b/resources/views/data/data_sarana/import.blade.php index 37a0a6c1b..e242bd4af 100644 --- a/resources/views/data/data_sarana/import.blade.php +++ b/resources/views/data/data_sarana/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.data-sarana.import-excel'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/data_sarana/index.blade.php b/resources/views/data/data_sarana/index.blade.php index 13228af30..7fb51a359 100644 --- a/resources/views/data/data_sarana/index.blade.php +++ b/resources/views/data/data_sarana/index.blade.php @@ -74,6 +74,7 @@ serverSide: true, ajax: { url: "{{ route('data.data-sarana.getdata') }}", + type: "POST", data: function(d) { d.desa_id = $('#list_desa').val(), d.kategori = $('#kategori').val() diff --git a/resources/views/data/data_suplemen/create.blade.php b/resources/views/data/data_suplemen/create.blade.php index f04a9356d..665146b9b 100644 --- a/resources/views/data/data_suplemen/create.blade.php +++ b/resources/views/data/data_suplemen/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('data.data-suplemen.store'))->id('form-faq')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!}
diff --git a/resources/views/data/data_suplemen/form.blade.php b/resources/views/data/data_suplemen/form.blade.php index f2c3926f4..ef4963ee6 100644 --- a/resources/views/data/data_suplemen/form.blade.php +++ b/resources/views/data/data_suplemen/form.blade.php @@ -18,8 +18,8 @@
{!! html()->textarea('keterangan')->class('textarea')->style( 'width: 100%; height: 200px; font-size: 14px; - line-height: 18px; border: 1px solid #dddddd; padding: - 10px;', + line-height: 18px; border: 1px solid #dddddd; padding: + 10px;', )->placeholder('Keterangan')->value(old('keterangan', isset($suplemen) ? $suplemen->keterangan : '')) !!}
diff --git a/resources/views/data/data_suplemen/form_detail.blade.php b/resources/views/data/data_suplemen/form_detail.blade.php index 720348a73..ab7eb7dc9 100644 --- a/resources/views/data/data_suplemen/form_detail.blade.php +++ b/resources/views/data/data_suplemen/form_detail.blade.php @@ -26,7 +26,9 @@ @if ($anggota == null) @else - + @endif @endforeach @@ -54,7 +56,7 @@
@@ -64,7 +66,9 @@ @if ($anggota == null) @else - + @endif @endforeach diff --git a/resources/views/data/data_suplemen/index.blade.php b/resources/views/data/data_suplemen/index.blade.php index 5e97c5761..f13515692 100644 --- a/resources/views/data/data_suplemen/index.blade.php +++ b/resources/views/data/data_suplemen/index.blade.php @@ -52,7 +52,10 @@ var data = $('#suplemen-table').DataTable({ processing: true, serverSide: true, - ajax: "{!! route('data.data-suplemen.getdata') !!}", + ajax: { + url: "{!! route('data.data-suplemen.getdata') !!}", + type: "POST", + }, columns: [{ data: 'aksi', name: 'aksi', diff --git a/resources/views/data/data_suplemen/show.blade.php b/resources/views/data/data_suplemen/show.blade.php index 6b50d6cf0..d2f0a8ca5 100644 --- a/resources/views/data/data_suplemen/show.blade.php +++ b/resources/views/data/data_suplemen/show.blade.php @@ -77,7 +77,10 @@ var data = $('#suplemen-terdata-table').DataTable({ processing: true, serverSide: true, - ajax: "{!! route('data.data-suplemen.getsuplementerdata', $suplemen->id) !!}", + ajax: { + url: "{!! route('data.data-suplemen.getsuplementerdata', $suplemen->id) !!}", + type: "POST", + }, columns: [{ data: 'aksi', name: 'aksi', diff --git a/resources/views/data/data_umum/form_edit.blade.php b/resources/views/data/data_umum/form_edit.blade.php index 7a5105409..ff14dfdb9 100644 --- a/resources/views/data/data_umum/form_edit.blade.php +++ b/resources/views/data/data_umum/form_edit.blade.php @@ -15,7 +15,7 @@
{!! html()->textarea('tipologi')->class( 'form-control - my-editor', + my-editor', )->placeholder('Tipologi')->rows(2)->value(old('tipologi', isset($data_umum) ? $data_umum->tipologi : '')) !!}
@@ -26,7 +26,7 @@
{!! html()->textarea('sejarah')->class( 'form-control - my-editor', + my-editor', )->placeholder('Sejarah')->rows(2)->value(old('sejarah', isset($data_umum) ? $data_umum->sejarah : '')) !!}
@@ -37,7 +37,7 @@
{!! html()->number('ketinggian')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('ketinggian', isset($data_umum) ? $data_umum->ketinggian : '')) !!}
@@ -53,7 +53,7 @@
{!! html()->number('luas_wilayah')->class( 'form-control - luas_wilayah text-right', + luas_wilayah text-right', )->placeholder('0')->value(old('luas_wilayah', isset($data_umum) ? $data_umum->luas_wilayah : '')) !!}
@@ -68,7 +68,7 @@
{!! html()->textarea('bts_wil_utara')->class('form-control')->placeholder( 'Batas - Utara', + Utara', )->rows(2)->value(old('bts_wil_utara', isset($data_umum) ? $data_umum->bts_wil_utara : '')) !!}
@@ -78,7 +78,7 @@
{!! html()->textarea('bts_wil_timur')->class('form-control')->placeholder( 'Batas - Timur', + Timur', )->rows(2)->value(old('bts_wil_timur', isset($data_umum) ? $data_umum->bts_wil_timur : '')) !!}
@@ -88,7 +88,7 @@
{!! html()->textarea('bts_wil_selatan')->class('form-control')->placeholder( 'Batas - Selatan', + Selatan', )->rows(2)->value(old('bts_wil_selatan', isset($data_umum) ? $data_umum->bts_wil_selatan : '')) !!}
@@ -98,7 +98,7 @@
{!! html()->textarea('bts_wil_barat')->class('form-control')->placeholder( 'Batas - Barat', + Barat', )->rows(2)->value(old('bts_wil_barat', isset($data_umum) ? $data_umum->bts_wil_barat : '')) !!}
@@ -113,7 +113,7 @@
{!! html()->number('jml_puskesmas')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_puskesmas', isset($data_umum) ? $data_umum->jml_puskesmas : '')) !!}
@@ -124,7 +124,7 @@
{!! html()->number('jml_puskesmas_pembantu')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_puskesmas_pembantu', isset($data_umum) ? $data_umum->jml_puskesmas_pembantu : '')) !!}
@@ -135,7 +135,7 @@
{!! html()->number('jml_posyandu')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_posyandu', isset($data_umum) ? $data_umum->jml_posyandu : '')) !!}
@@ -146,7 +146,7 @@
{!! html()->number('jml_pondok_bersalin')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_pondok_bersalin', isset($data_umum) ? $data_umum->jml_pondok_bersalin : '')) !!}
@@ -159,7 +159,7 @@
{!! html()->number('jml_paud')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_paud', isset($data_umum) ? $data_umum->jml_paud : '')) !!}
@@ -196,7 +196,7 @@
{!! html()->number('jml_masjid_besar')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_masjid_besar', isset($data_umum) ? $data_umum->jml_masjid_besar : '')) !!}
@@ -207,7 +207,7 @@
{!! html()->number('jml_mushola')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_mushola', isset($data_umum) ? $data_umum->jml_mushola : '')) !!}
@@ -218,7 +218,7 @@
{!! html()->number('jml_gereja')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_gereja', isset($data_umum) ? $data_umum->jml_gereja : '')) !!}
@@ -229,7 +229,7 @@
{!! html()->number('jml_pasar')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_pasar', isset($data_umum) ? $data_umum->jml_pasar : '')) !!}
@@ -240,7 +240,7 @@
{!! html()->number('jml_balai_pertemuan')->class( 'form-control - text-right', + text-right', )->placeholder('0')->value(old('jml_balai_pertemuan', isset($data_umum) ? $data_umum->jml_balai_pertemuan : '')) !!}
diff --git a/resources/views/data/epidemi_penyakit/import.blade.php b/resources/views/data/epidemi_penyakit/import.blade.php index fe18f5247..999bead33 100644 --- a/resources/views/data/epidemi_penyakit/import.blade.php +++ b/resources/views/data/epidemi_penyakit/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.epidemi-penyakit.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/epidemi_penyakit/index.blade.php b/resources/views/data/epidemi_penyakit/index.blade.php index cd918a305..1f65d27f4 100644 --- a/resources/views/data/epidemi_penyakit/index.blade.php +++ b/resources/views/data/epidemi_penyakit/index.blade.php @@ -60,6 +60,7 @@ serverSide: true, ajax: { url: "{!! route('data.epidemi-penyakit.getdata') !!}", + type: 'POST', data: function(d) { d.desa = $('#list_desa').val(); } diff --git a/resources/views/data/fasilitas_paud/import.blade.php b/resources/views/data/fasilitas_paud/import.blade.php index 962a13061..799e2bba3 100644 --- a/resources/views/data/fasilitas_paud/import.blade.php +++ b/resources/views/data/fasilitas_paud/import.blade.php @@ -21,7 +21,7 @@ {!! html()->form('POST', route('data.fasilitas-paud.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/imunisasi/import.blade.php b/resources/views/data/imunisasi/import.blade.php index de81864e0..d10d76437 100644 --- a/resources/views/data/imunisasi/import.blade.php +++ b/resources/views/data/imunisasi/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('data.imunisasi.do_import')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/imunisasi/index.blade.php b/resources/views/data/imunisasi/index.blade.php index eee4f6a28..610e6758d 100644 --- a/resources/views/data/imunisasi/index.blade.php +++ b/resources/views/data/imunisasi/index.blade.php @@ -52,6 +52,7 @@ serverSide: true, ajax: { url: "{!! route('data.imunisasi.getdata') !!}", + type: 'POST', data: function(d) { d.desa = $('#list_desa').val(); } diff --git a/resources/views/data/jabatan/create.blade.php b/resources/views/data/jabatan/create.blade.php index 47d535673..0fbd6859f 100644 --- a/resources/views/data/jabatan/create.blade.php +++ b/resources/views/data/jabatan/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('data.jabatan.store'))->id('form-jabatan')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/jabatan/form.blade.php b/resources/views/data/jabatan/form.blade.php index 3a3c274b9..28b2db134 100644 --- a/resources/views/data/jabatan/form.blade.php +++ b/resources/views/data/jabatan/form.blade.php @@ -11,7 +11,7 @@
{!! html()->textarea('tupoksi')->value(old('tupoksi', isset($jabatan) ? $jabatan->tupoksi : ''))->class('textarea')->placeholder('Tupoksi')->style('width: 100%; height: 200px; font-size: 14px; - line-height: 18px; border: 1px solid #dddddd; padding: 10px;') !!} + line-height: 18px; border: 1px solid #dddddd; padding: 10px;') !!}
diff --git a/resources/views/data/jabatan/index.blade.php b/resources/views/data/jabatan/index.blade.php index 0f881dcc6..0e2dc5296 100644 --- a/resources/views/data/jabatan/index.blade.php +++ b/resources/views/data/jabatan/index.blade.php @@ -49,7 +49,10 @@ var data = $('#jabatan-table').DataTable({ processing: true, serverSide: true, - ajax: "{!! route('data.jabatan.index') !!}", + ajax: { + url: "{!! route('data.jabatan.getdata.post') !!}", + type: "POST", + }, columns: [{ data: 'aksi', name: 'aksi', diff --git a/resources/views/data/keluarga/gabungan/index.blade.php b/resources/views/data/keluarga/gabungan/index.blade.php index 1f6fab753..c4353ad30 100644 --- a/resources/views/data/keluarga/gabungan/index.blade.php +++ b/resources/views/data/keluarga/gabungan/index.blade.php @@ -62,16 +62,16 @@ processing: true, serverSide: true, ajax: { - url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/keluarga?' . + url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/keluarga-datatable?' . http_build_query([ 'filter[kode_kecamatan]' => str_replace('.', '', $profil->kecamatan_id), ]) }}`, headers: { + "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}`, "Accept": "application/ld+json", "Content-Type": "text/json; charset=utf-8", - "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}` }, - method: 'get', + method: 'POST', data: function(row) { var selectedDesa = $('#list_desa').val(); diff --git a/resources/views/data/keluarga/index.blade.php b/resources/views/data/keluarga/index.blade.php index 43b45cd4b..93ec0a1cb 100644 --- a/resources/views/data/keluarga/index.blade.php +++ b/resources/views/data/keluarga/index.blade.php @@ -66,6 +66,7 @@ serverSide: true, ajax: { url: "{!! route('data.keluarga.getdata') !!}", + type: "POST", data: function(d) { d.desa = $('#list_desa').val(); } diff --git a/resources/views/data/laporan-apbdes/import.blade.php b/resources/views/data/laporan-apbdes/import.blade.php index c35cf63b5..33211a328 100644 --- a/resources/views/data/laporan-apbdes/import.blade.php +++ b/resources/views/data/laporan-apbdes/import.blade.php @@ -22,7 +22,7 @@ {!! html()->form('POST', route('data.laporan-apbdes.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/laporan-penduduk/gabungan/index.blade.php b/resources/views/data/laporan-penduduk/gabungan/index.blade.php index 14932f1a3..896eccac5 100644 --- a/resources/views/data/laporan-penduduk/gabungan/index.blade.php +++ b/resources/views/data/laporan-penduduk/gabungan/index.blade.php @@ -55,16 +55,16 @@ processing: true, serverSide: true, ajax: { - url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/opendk/laporan-penduduk?' . + url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/opendk/laporan-penduduk-datatable?' . http_build_query([ 'filter[kode_kecamatan]' => str_replace('.', '', $profil->kecamatan_id), ]) }}`, headers: { "Accept": "application/ld+json", "Content-Type": "text/json; charset=utf-8", - "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}` + "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}`, }, - method: 'get', + method: 'POST', data: function(row) { var selectedDesa = $('#list_desa').val(); // Ambil nilai kode_desa yang dipilih var searchValue = row.search.value; // Ambil nilai search dari DataTables diff --git a/resources/views/data/laporan-penduduk/import.blade.php b/resources/views/data/laporan-penduduk/import.blade.php index 2b8226952..7afd8d8be 100644 --- a/resources/views/data/laporan-penduduk/import.blade.php +++ b/resources/views/data/laporan-penduduk/import.blade.php @@ -22,7 +22,7 @@
{!! html()->form('POST', route('data.laporan-penduduk.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/laporan-penduduk/index.blade.php b/resources/views/data/laporan-penduduk/index.blade.php index 4e302f4ff..3cb821af5 100644 --- a/resources/views/data/laporan-penduduk/index.blade.php +++ b/resources/views/data/laporan-penduduk/index.blade.php @@ -66,6 +66,7 @@ serverSide: true, ajax: { url: "{!! route('data.laporan-penduduk.getdata') !!}", + type: "POST", data: function(d) { d.desa = $('#list_desa').val(); } diff --git a/resources/views/data/lembaga/create.blade.php b/resources/views/data/lembaga/create.blade.php index 4009ad370..41b44c6d6 100644 --- a/resources/views/data/lembaga/create.blade.php +++ b/resources/views/data/lembaga/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('data.lembaga.store'))->id('form-lembaga')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/lembaga_anggota/form_create.blade.php b/resources/views/data/lembaga_anggota/form_create.blade.php index f00a5065c..56adf2bb5 100644 --- a/resources/views/data/lembaga_anggota/form_create.blade.php +++ b/resources/views/data/lembaga_anggota/form_create.blade.php @@ -13,7 +13,7 @@
{!! html()->select('penduduk_id', $pendudukList)->value(old('penduduk_id', isset($anggota) ? $anggota->penduduk_id : (isset($lembaga) ? $lembaga->penduduk_id : '')))->class( 'form-control - select2', + select2', )->placeholder('Pilih Nama Anggota')->required()->style('width:100%;') !!}
@@ -67,7 +67,7 @@
{!! html()->date('tgl_sk_pengangkatan', old('tgl_sk_pengangkatan'))->placeholder( 'Tanggal SK - Pengangkatan', + Pengangkatan', )->class('form-control') !!}
diff --git a/resources/views/data/lembaga_kategori/create.blade.php b/resources/views/data/lembaga_kategori/create.blade.php index b20833e5d..fc928516a 100644 --- a/resources/views/data/lembaga_kategori/create.blade.php +++ b/resources/views/data/lembaga_kategori/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('post')->route('data.kategori-lembaga.store')->id('form-kategori-lembaga')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/penduduk/gabungan/index.blade.php b/resources/views/data/penduduk/gabungan/index.blade.php index 3de71ee0c..0a99f1672 100644 --- a/resources/views/data/penduduk/gabungan/index.blade.php +++ b/resources/views/data/penduduk/gabungan/index.blade.php @@ -62,16 +62,14 @@ processing: true, serverSide: true, ajax: { - url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/opendk/sync-penduduk-opendk?' . + url: `{{ $settings['api_server_database_gabungan'] ?? '' }}{{ '/api/v1/opendk/sync-penduduk-opendk-datatable?' . http_build_query([ 'filter[kode_kecamatan]' => str_replace('.', '', $profil->kecamatan_id), ]) }}`, headers: { - "Accept": "application/ld+json", - "Content-Type": "text/json; charset=utf-8", "Authorization": `Bearer {{ $settings['api_key_database_gabungan'] ?? '' }}` }, - method: 'get', + method: 'POST', data: function(row) { var selectedDesa = $('#list_desa').val(); diff --git a/resources/views/data/penduduk/import.blade.php b/resources/views/data/penduduk/import.blade.php index 316c9f248..af957b827 100644 --- a/resources/views/data/penduduk/import.blade.php +++ b/resources/views/data/penduduk/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('data.penduduk.import-excel')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/penduduk/index.blade.php b/resources/views/data/penduduk/index.blade.php index e3cac6fbf..02e79c606 100644 --- a/resources/views/data/penduduk/index.blade.php +++ b/resources/views/data/penduduk/index.blade.php @@ -69,6 +69,7 @@ ], ajax: { url: "{!! route('data.penduduk.getdata') !!}", + type: "POST", data: function(d) { d.desa = $('#list_desa').val(); } diff --git a/resources/views/data/pengurus/arsip.blade.php b/resources/views/data/pengurus/arsip.blade.php index ab63f4995..72e0a1eb5 100644 --- a/resources/views/data/pengurus/arsip.blade.php +++ b/resources/views/data/pengurus/arsip.blade.php @@ -43,7 +43,7 @@ {!! html()->form()->route('data.pengurus.store')->method('POST')->acceptsFiles()->id('form-pengurus')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/pengurus/create_arsip.blade.php b/resources/views/data/pengurus/create_arsip.blade.php index 1dad300d6..a8df35ebb 100644 --- a/resources/views/data/pengurus/create_arsip.blade.php +++ b/resources/views/data/pengurus/create_arsip.blade.php @@ -30,7 +30,7 @@ {!! html()->form()->route('data.pengurus.store.arsip')->method('POST')->acceptsFiles()->id('form-pengurus')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/pengurus/edit.blade.php b/resources/views/data/pengurus/edit.blade.php index 00a3696c3..46d011ba6 100644 --- a/resources/views/data/pengurus/edit.blade.php +++ b/resources/views/data/pengurus/edit.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.pengurus.update', $pengurus->id))->acceptsFiles()->id('form-pengurus')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/data/pengurus/edit_arsip.blade.php b/resources/views/data/pengurus/edit_arsip.blade.php index 79f41d126..18e66f8c0 100644 --- a/resources/views/data/pengurus/edit_arsip.blade.php +++ b/resources/views/data/pengurus/edit_arsip.blade.php @@ -28,7 +28,7 @@ {!! html()->form('post')->route('data.pengurus.store.arsip')->acceptsFiles()->id('form-pengurus')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message')
diff --git a/resources/views/data/pengurus/form_create_arsip.blade.php b/resources/views/data/pengurus/form_create_arsip.blade.php index d86805ce5..977dd75af 100644 --- a/resources/views/data/pengurus/form_create_arsip.blade.php +++ b/resources/views/data/pengurus/form_create_arsip.blade.php @@ -4,7 +4,7 @@
{!! html()->select('jenis_surat', \App\Models\JenisSurat::pluck('nama', 'id')->value(old('jenis_surat', isset($pengurus) ? $pengurus->jenis_surat : '')), null, [ 'placeholder' => 'Pilih - Jenis Dokumen', + Jenis Dokumen', 'class' => 'form-control', 'id' => 'jenis_dokumen_id', 'required' => true, @@ -19,7 +19,7 @@
{!! html()->text('judul_document')->class('form-control')->required()->placeholder( 'Judul - Document', + Document', )->value(old('judul_document', isset($pengurus) ? $pengurus->judul_document : '')) !!}
diff --git a/resources/views/data/pengurus/form_edit_arsip.blade.php b/resources/views/data/pengurus/form_edit_arsip.blade.php index 661b950a4..9a4939f6c 100644 --- a/resources/views/data/pengurus/form_edit_arsip.blade.php +++ b/resources/views/data/pengurus/form_edit_arsip.blade.php @@ -23,7 +23,7 @@
{!! html()->text('judul_document')->class('form-control')->required()->placeholder( 'Judul - Document', + Document', )->value(old('judul_document', isset($pengurus) ? $pengurus->judul_document : '')) !!}
diff --git a/resources/views/data/pengurus/index.blade.php b/resources/views/data/pengurus/index.blade.php index 536547448..c90bbf638 100644 --- a/resources/views/data/pengurus/index.blade.php +++ b/resources/views/data/pengurus/index.blade.php @@ -80,7 +80,8 @@ processing: true, serverSide: true, ajax: { - url: "{!! route('data.pengurus.index') !!}", + url: "{!! route('data.pengurus.getdata.post') !!}", + type: "POST", data: function(d) { d.status = $('#status').val(); } diff --git a/resources/views/data/profil/form_edit.blade.php b/resources/views/data/profil/form_edit.blade.php index 21b321301..e5d553dae 100644 --- a/resources/views/data/profil/form_edit.blade.php +++ b/resources/views/data/profil/form_edit.blade.php @@ -148,7 +148,7 @@
{!! html()->textarea('sambutan', old('sambutan', $profil->sambutan ?? null))->class('textarea my-editor')->placeholder('Sambutan ' . $sebutan_kepala_wilayah . ' ' . $profil->nama_kecamatan)->style('width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; - padding: 10px;') !!} + padding: 10px;') !!}
@@ -161,14 +161,14 @@
{!! html()->textarea('visi', old('visi', $profil->visi ?? null))->class('textarea my-editor')->placeholder('Visi Kecamatan')->style('width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; - padding: 10px;') !!} + padding: 10px;') !!}
{!! html()->textarea('misi', old('misi', $profil->misi ?? null))->class('textarea my-editor')->placeholder('Misi Kecamatan')->style('width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; - padding: 10px;') !!} + padding: 10px;') !!}
diff --git a/resources/views/data/program_bantuan/import.blade.php b/resources/views/data/program_bantuan/import.blade.php index 0fa442b74..060122123 100644 --- a/resources/views/data/program_bantuan/import.blade.php +++ b/resources/views/data/program_bantuan/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.program-bantuan.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/putus_sekolah/import.blade.php b/resources/views/data/putus_sekolah/import.blade.php index 960485810..fded7ab93 100644 --- a/resources/views/data/putus_sekolah/import.blade.php +++ b/resources/views/data/putus_sekolah/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form()->route('data.putus-sekolah.do_import')->method('POST')->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/tingkat_pendidikan/import.blade.php b/resources/views/data/tingkat_pendidikan/import.blade.php index 4506befaf..6612271d2 100644 --- a/resources/views/data/tingkat_pendidikan/import.blade.php +++ b/resources/views/data/tingkat_pendidikan/import.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('data.tingkat-pendidikan.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/data/toilet_sanitasi/import.blade.php b/resources/views/data/toilet_sanitasi/import.blade.php index b15a1d7b1..ee165fa93 100644 --- a/resources/views/data/toilet_sanitasi/import.blade.php +++ b/resources/views/data/toilet_sanitasi/import.blade.php @@ -33,7 +33,7 @@ {!! html()->form('POST', route('data.toilet-sanitasi.do_import'))->id('form-import')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/informasi/artikel/_form.blade.php b/resources/views/informasi/artikel/_form.blade.php index 04c9a5569..1aa00083d 100644 --- a/resources/views/informasi/artikel/_form.blade.php +++ b/resources/views/informasi/artikel/_form.blade.php @@ -20,7 +20,7 @@ {!! html()->textarea('isi')->class('form-control my-editor')->placeholder('Isi Artikel')->style( 'width:100%; height:750px; font-size:14px; line-height:18px; border:1px solid #dddddd; - padding:10px;', + padding:10px;', )->value(old('isi', isset($artikel) ? $artikel->isi : '')) !!} @if ($errors->has('isi')) {{ $errors->first('isi') }} diff --git a/resources/views/informasi/artikel_kategori/create.blade.php b/resources/views/informasi/artikel_kategori/create.blade.php index c5d72c659..3af45d556 100644 --- a/resources/views/informasi/artikel_kategori/create.blade.php +++ b/resources/views/informasi/artikel_kategori/create.blade.php @@ -20,7 +20,7 @@ {!! html()->form('POST', route('informasi.artikel-kategori.store'))->id('form-artikel-kategori')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/informasi/faq/create.blade.php b/resources/views/informasi/faq/create.blade.php index c7953bf1a..6f1249fd8 100644 --- a/resources/views/informasi/faq/create.blade.php +++ b/resources/views/informasi/faq/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('informasi.faq.store'))->id('form-faq')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @include('layouts.fragments.error_message') diff --git a/resources/views/informasi/faq/form.blade.php b/resources/views/informasi/faq/form.blade.php index 1a8f06830..68467913b 100644 --- a/resources/views/informasi/faq/form.blade.php +++ b/resources/views/informasi/faq/form.blade.php @@ -10,7 +10,7 @@
{{ html()->textarea('answer')->value(old('answer', $faq->answer ?? ''))->class('textarea my-editor')->placeholder('Jawaban')->style( 'width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: - 10px;', + 10px;', )->required() }}
diff --git a/resources/views/informasi/form_dokumen/create.blade.php b/resources/views/informasi/form_dokumen/create.blade.php index e07eab1d3..205b082be 100644 --- a/resources/views/informasi/form_dokumen/create.blade.php +++ b/resources/views/informasi/form_dokumen/create.blade.php @@ -21,7 +21,7 @@ {!! html()->form('POST', route('informasi.form-dokumen.store'))->acceptsFiles()->id('form-dokumen')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @if (count($errors) > 0) diff --git a/resources/views/informasi/media_sosial/create.blade.php b/resources/views/informasi/media_sosial/create.blade.php index 478f9150e..1bebd01a2 100644 --- a/resources/views/informasi/media_sosial/create.blade.php +++ b/resources/views/informasi/media_sosial/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('informasi.media-sosial.store'))->acceptsFiles()->id('form-media-sosial')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!}
diff --git a/resources/views/informasi/potensi/create.blade.php b/resources/views/informasi/potensi/create.blade.php index 10094ea7e..27bdda51a 100644 --- a/resources/views/informasi/potensi/create.blade.php +++ b/resources/views/informasi/potensi/create.blade.php @@ -21,7 +21,7 @@ {!! html()->form('POST', route('informasi.potensi.store'))->acceptsFiles()->id('form-potensi')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @if (count($errors) > 0) diff --git a/resources/views/informasi/prosedur/create.blade.php b/resources/views/informasi/prosedur/create.blade.php index fcf9cadf9..da37cd2dc 100644 --- a/resources/views/informasi/prosedur/create.blade.php +++ b/resources/views/informasi/prosedur/create.blade.php @@ -21,7 +21,7 @@ {!! html()->form('POST', route('informasi.prosedur.store'))->acceptsFiles()->id('form-prosedur')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!} @if (count($errors) > 0) diff --git a/resources/views/informasi/regulasi/create.blade.php b/resources/views/informasi/regulasi/create.blade.php index 37654c12c..7220655f4 100644 --- a/resources/views/informasi/regulasi/create.blade.php +++ b/resources/views/informasi/regulasi/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('informasi.regulasi.store'))->id('form-regulasi')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/informasi/sinergi_program/create.blade.php b/resources/views/informasi/sinergi_program/create.blade.php index 9d38c6886..9d163bccf 100644 --- a/resources/views/informasi/sinergi_program/create.blade.php +++ b/resources/views/informasi/sinergi_program/create.blade.php @@ -19,7 +19,7 @@ {!! html()->form('POST', route('informasi.sinergi-program.store'))->acceptsFiles()->id('form-sinergi-program')->class( 'form-horizontal - form-label-left', + form-label-left', )->open() !!}
diff --git a/resources/views/informasi/sinergi_program/edit.blade.php b/resources/views/informasi/sinergi_program/edit.blade.php index 13b94aa68..1d68ce2ac 100644 --- a/resources/views/informasi/sinergi_program/edit.blade.php +++ b/resources/views/informasi/sinergi_program/edit.blade.php @@ -32,7 +32,7 @@ {!! html()->form('PUT', route('informasi.sinergi-program.update', $sinergi->id))->id('form-sinergi-program')->class( 'form-horizontal - form-label-left', + form-label-left', )->acceptsFiles()->open() !!}
diff --git a/resources/views/pesan/masuk/index.blade.php b/resources/views/pesan/masuk/index.blade.php index 86e144b3f..ea30f8041 100644 --- a/resources/views/pesan/masuk/index.blade.php +++ b/resources/views/pesan/masuk/index.blade.php @@ -46,7 +46,7 @@ {!! html()->form('POST', route('pesan.arsip.multiple'))->class( 'form-group - inline', + inline', )->id('form-multiple-arsip-pesan')->open() !!} {!! html()->hidden('array_id')->id('array_multiple_id_arsip') !!} @@ -54,7 +54,7 @@ {!! html()->form('POST', route('pesan.read.multiple'))->class( 'form-group - inline', + inline', )->id('form-multiple-read-pesan')->open() !!} {!! html()->hidden('array_id')->id('array_multiple_id') !!} @@ -88,7 +88,8 @@
- {{ $pesan->custom_date }} + {{ $pesan->custom_date }} + @endforeach diff --git a/resources/views/pesan/read_pesan.blade.php b/resources/views/pesan/read_pesan.blade.php index 840e2f9f8..812f96554 100644 --- a/resources/views/pesan/read_pesan.blade.php +++ b/resources/views/pesan/read_pesan.blade.php @@ -28,7 +28,7 @@ @if ($pesan->diarsipkan === 0) {!! html()->form('POST', route('pesan.arsip.post'))->class( 'form-group - inline', + inline', )->id('form-arisp-pesan')->open() !!} {!! html()->hidden('id', $pesan->id) !!} @@ -77,11 +77,11 @@ diff --git a/resources/views/setting/aplikasi/form.blade.php b/resources/views/setting/aplikasi/form.blade.php index 169cc7aa9..1ff106022 100644 --- a/resources/views/setting/aplikasi/form.blade.php +++ b/resources/views/setting/aplikasi/form.blade.php @@ -28,7 +28,7 @@ {!! html()->select('value', [ 'OpenStreetMap' => 'OpenStreetMap', 'OpenStreetMap H.O.T.' => 'OpenStreetMap - H.O.T.', + H.O.T.', 'Mapbox Streets' => 'Mapbox Streets', 'Mapbox Satellite' => 'Mapbox Satellite', 'Mapbox Satellite-Streets' => 'Mapbox Satellite-Streets', diff --git a/resources/views/setting/slide/form.blade.php b/resources/views/setting/slide/form.blade.php index 51e89ca4d..585e43f14 100644 --- a/resources/views/setting/slide/form.blade.php +++ b/resources/views/setting/slide/form.blade.php @@ -9,7 +9,7 @@
{!! html()->textarea('deskripsi')->class('textarea')->style( 'width: 100%; height: 200px; font-size: 14px; - line-height: 18px; border: 1px solid #dddddd; padding: 10px;', + line-height: 18px; border: 1px solid #dddddd; padding: 10px;', )->placeholder('deskripsi')->value(old('deskripsi', isset($slide) ? $slide->deskripsi : '')) !!}
diff --git a/routes/web.php b/routes/web.php index f16e6e8cb..c888b6ce1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -519,7 +519,7 @@ Route::group(['prefix' => 'data-desa', 'middleware' => ['action_permission:access.data.data_desa']], function () { Route::put('update/{id}', ['as' => 'data.data-desa.update', 'uses' => 'DataDesaController@update']); Route::get('/', ['as' => 'data.data-desa.index', 'uses' => 'DataDesaController@index']); - Route::get('getdata', ['as' => 'data.data-desa.getdata', 'uses' => 'DataDesaController@getDataDesa']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.data-desa.getdata', 'uses' => 'DataDesaController@getDataDesa']); Route::get('getdata/ajax', ['as' => 'data.data-desa.getdataajax', 'uses' => 'DataDesaController@getDataDesaAjax']); Route::post('getdesa', ['as' => 'data.data-desa.getdesa', 'uses' => 'DataDesaController@getDesaKecamatan']); Route::get('peta/{id}', ['as' => 'data.data-desa.peta', 'uses' => 'DataDesaController@peta']); @@ -533,7 +533,7 @@ // Data Sarana Route::group(['prefix' => 'data-sarana', 'excluded_middleware' => 'xss_sanitization', 'middleware' => ['action_permission:access.data.data_sarana']], function () { Route::get('/', ['as' => 'data.data-sarana.index', 'uses' => 'DataSaranaController@index']); - Route::get('getdata', ['as' => 'data.data-sarana.getdata', 'uses' => 'DataSaranaController@getData']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.data-sarana.getdata', 'uses' => 'DataSaranaController@getData']); Route::get('create', ['as' => 'data.data-sarana.create', 'uses' => 'DataSaranaController@create']); Route::post('store', ['as' => 'data.data-sarana.store', 'uses' => 'DataSaranaController@store']); Route::get('edit/{id}', ['as' => 'data.data-sarana.edit', 'uses' => 'DataSaranaController@edit']); @@ -545,9 +545,11 @@ // Jabatan Route::resource('jabatan', 'JabatanController', ['as' => 'data'])->middleware(['action_permission:access.data.jabatan'])->except(['show']); + Route::post('jabatan', ['as' => 'data.jabatan.getdata.post', 'uses' => 'JabatanController@index'])->middleware(['action_permission:access.data.jabatan']); // Pengurus Route::post('pengurus/lock/{id}/{status}', ['as' => 'data.pengurus.lock', 'uses' => 'PengurusController@lock'])->middleware(['action_permission:access.data.pengurus']); + Route::post('pengurus/getdata', ['as' => 'data.pengurus.getdata.post', 'uses' => 'PengurusController@index'])->middleware(['action_permission:access.data.pengurus']); Route::resource('pengurus', 'PengurusController', ['as' => 'data'])->middleware(['action_permission:access.data.pengurus'])->except(['show']); Route::get('pengurus/bagan', ['as' => 'data.pengurus.bagan', 'uses' => 'PengurusController@bagan'])->middleware(['action_permission:access.data.pengurus']); Route::get('pengurus/ajax-bagan', ['as' => 'data.pengurus.ajax-bagan', 'uses' => 'PengurusController@ajaxBagan'])->middleware(['action_permission:access.data.pengurus']); @@ -566,7 +568,7 @@ // Penduduk Route::group(['prefix' => 'penduduk', 'middleware' => ['action_permission:access.data.penduduk']], function () { Route::get('/', ['as' => 'data.penduduk.index', 'uses' => 'PendudukController@index']); - Route::get('getdata', ['as' => 'data.penduduk.getdata', 'uses' => 'PendudukController@getPenduduk']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.penduduk.getdata', 'uses' => 'PendudukController@getPenduduk']); Route::get('show/{id}', ['as' => 'data.penduduk.show', 'uses' => 'PendudukController@show']); Route::get('import', ['as' => 'data.penduduk.import', 'uses' => 'PendudukController@import']); Route::post('import-excel', ['as' => 'data.penduduk.import-excel', 'uses' => 'PendudukController@importExcel']); @@ -577,7 +579,7 @@ // Keluarga Route::group(['prefix' => 'keluarga', 'middleware' => ['action_permission:access.data.keluarga']], function () { Route::get('/', ['as' => 'data.keluarga.index', 'uses' => 'KeluargaController@index']); - Route::get('getdata', ['as' => 'data.keluarga.getdata', 'uses' => 'KeluargaController@getKeluarga']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.keluarga.getdata', 'uses' => 'KeluargaController@getKeluarga']); Route::get('show/{id}', ['as' => 'data.keluarga.show', 'uses' => 'KeluargaController@show']); Route::get('export-excel', ['as' => 'data.keluarga.export-excel', 'uses' => 'KeluargaController@exportExcel']); }); @@ -585,15 +587,15 @@ // Data Suplemen Route::group(['prefix' => 'data-suplemen', 'middleware' => ['action_permission:access.data.data_suplemen']], function () { Route::get('/', ['as' => 'data.data-suplemen.index', 'uses' => 'SuplemenController@index']); - Route::get('getdata', ['as' => 'data.data-suplemen.getdata', 'uses' => 'SuplemenController@getDataSuplemen']); - Route::get('getsuplementerdata', ['as' => 'data.data-suplemen.getsuplementerdata', 'uses' => 'SuplemenController@getDataSuplemenTerdata']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.data-suplemen.getdata', 'uses' => 'SuplemenController@getDataSuplemen']); + Route::match(['GET', 'POST'], 'getsuplementerdata', ['as' => 'data.data-suplemen.getsuplementerdata', 'uses' => 'SuplemenController@getDataSuplemenTerdata']); Route::get('show/{id}', ['as' => 'data.data-suplemen.show', 'uses' => 'SuplemenController@show']); Route::get('create', ['as' => 'data.data-suplemen.create', 'uses' => 'SuplemenController@create']); Route::post('store', ['as' => 'data.data-suplemen.store', 'uses' => 'SuplemenController@store']); Route::get('edit/{id}', ['as' => 'data.data-suplemen.edit', 'uses' => 'SuplemenController@edit']); Route::put('update/{id}', ['as' => 'data.data-suplemen.update', 'uses' => 'SuplemenController@update']); Route::delete('destroy/{id}', ['as' => 'data.data-suplemen.destroy', 'uses' => 'SuplemenController@destroy']); - Route::get('getsuplementerdata/{id_suplemen}', ['as' => 'data.data-suplemen.getsuplementerdata', 'uses' => 'SuplemenController@getDataSuplemenTerdata']); + Route::match(['GET', 'POST'], 'getsuplementerdata/{id_suplemen}', ['as' => 'data.data-suplemen.getsuplementerdata', 'uses' => 'SuplemenController@getDataSuplemenTerdata']); Route::get('createdetail/{id_suplemen}', ['as' => 'data.data-suplemen.createdetail', 'uses' => 'SuplemenController@createDetail']); Route::get('getpenduduk/{id_desa}/{id_suplemen}', ['as' => 'data.data-suplemen.getpenduduk', 'uses' => 'SuplemenController@getPenduduk']); Route::post('storedetail', ['as' => 'data.data-suplemen.storedetail', 'uses' => 'SuplemenController@storeDetail']); @@ -607,7 +609,7 @@ // Laporan Penduduk Route::group(['prefix' => 'laporan-penduduk', 'middleware' => ['action_permission:access.data.laporan_penduduk']], function () { Route::get('/', ['as' => 'data.laporan-penduduk.index', 'uses' => 'LaporanPendudukController@index']); - Route::get('getdata', ['as' => 'data.laporan-penduduk.getdata', 'uses' => 'LaporanPendudukController@getData']); + Route::match(['GET', 'POST'], 'getdata', ['as' => 'data.laporan-penduduk.getdata', 'uses' => 'LaporanPendudukController@getData']); Route::delete('destroy/{id}', ['as' => 'data.laporan-penduduk.destroy', 'uses' => 'LaporanPendudukController@destroy']); Route::get('download{id}', ['as' => 'data.laporan-penduduk.download', 'uses' => 'LaporanPendudukController@download']); Route::get('import', ['as' => 'data.laporan-penduduk.import', 'uses' => 'LaporanPendudukController@import']); @@ -619,7 +621,7 @@ // AKI & AKB Route::group(['prefix' => 'aki-akb', 'middleware' => ['action_permission:access.data.aki_akb']], function () { Route::get('/', ['as' => 'data.aki-akb.index', 'uses' => 'AKIAKBController@index']); - Route::get('getdata', ['as' => 'data.aki-akb.getdata', 'uses' => 'AKIAKBController@getDataAKIAKB']); + Route::post('getdata', ['as' => 'data.aki-akb.getdata', 'uses' => 'AKIAKBController@getDataAKIAKB']); Route::get('edit/{id}', ['as' => 'data.aki-akb.edit', 'uses' => 'AKIAKBController@edit']); Route::put('update/{id}', ['as' => 'data.aki-akb.update', 'uses' => 'AKIAKBController@update']); Route::delete('destroy/{id}', ['as' => 'data.aki-akb.destroy', 'uses' => 'AKIAKBController@destroy']); @@ -631,7 +633,7 @@ // Imunisasi Route::group(['prefix' => 'imunisasi', 'middleware' => ['action_permission:access.data.imunisasi']], function () { Route::get('/', ['as' => 'data.imunisasi.index', 'uses' => 'ImunisasiController@index']); - Route::get('getdata', ['as' => 'data.imunisasi.getdata', 'uses' => 'ImunisasiController@getDataAKIAKB']); + Route::post('getdata', ['as' => 'data.imunisasi.getdata', 'uses' => 'ImunisasiController@getDataAKIAKB']); Route::get('edit/{id}', ['as' => 'data.imunisasi.edit', 'uses' => 'ImunisasiController@edit']); Route::put('update/{id}', ['as' => 'data.imunisasi.update', 'uses' => 'ImunisasiController@update']); Route::delete('destroy/{id}', ['as' => 'data.imunisasi.destroy', 'uses' => 'ImunisasiController@destroy']); @@ -643,7 +645,7 @@ // Epidemi Penyakit Route::group(['prefix' => 'epidemi-penyakit', 'middleware' => ['action_permission:access.data.epidemi_penyakit']], function () { Route::get('/', ['as' => 'data.epidemi-penyakit.index', 'uses' => 'EpidemiPenyakitController@index']); - Route::get('getdata', ['as' => 'data.epidemi-penyakit.getdata', 'uses' => 'EpidemiPenyakitController@getDataAKIAKB']); + Route::post('getdata', ['as' => 'data.epidemi-penyakit.getdata', 'uses' => 'EpidemiPenyakitController@getDataAKIAKB']); Route::get('edit/{id}', ['as' => 'data.epidemi-penyakit.edit', 'uses' => 'EpidemiPenyakitController@edit']); Route::put('update/{id}', ['as' => 'data.epidemi-penyakit.update', 'uses' => 'EpidemiPenyakitController@update']); Route::delete('destroy/{id}', ['as' => 'data.epidemi-penyakit.destroy', 'uses' => 'EpidemiPenyakitController@destroy']); diff --git a/tests/Feature/DataTablesPostMethodTest.php b/tests/Feature/DataTablesPostMethodTest.php new file mode 100644 index 000000000..b90944ff2 --- /dev/null +++ b/tests/Feature/DataTablesPostMethodTest.php @@ -0,0 +1,354 @@ +ajax()) +const AJAX_HEADERS = ['X-Requested-With' => 'XMLHttpRequest']; + +// Payload minimal DataTables server-side (mirip yang dikirim browser via POST) +function datatablePostPayload(array $extra = []): array +{ + return array_merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns[0][data]' => 'aksi', + 'columns[0][name]' => 'aksi', + 'columns[0][searchable]' => 'false', + 'columns[0][orderable]' => 'false', + 'columns[0][search][value]' => '', + 'order[0][column]' => '1', + 'order[0][dir]' => 'asc', + ], $extra); +} + +beforeEach(function () { + $this->withoutMiddleware([ + Authenticate::class, + RoleMiddleware::class, + PermissionMiddleware::class, + CompleteProfile::class, + GlobalShareMiddleware::class, + ]); + + // Nonaktifkan mode database gabungan agar tidak redirect ke view berbeda + SettingAplikasi::updateOrCreate( + ['key' => 'sinkronisasi_database_gabungan'], + ['value' => '0'] + ); +}); + +// ============================================================================= +// 1. DATA DESA +// ============================================================================= +describe('DataTables Data Desa via POST', function () { + + test('endpoint getdata menolak GET dengan URL kosong (tetap backward-compatible)', function () { + $response = $this->getJson( + route('data.data-desa.getdata'), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + }); + + test('endpoint getdata menerima POST dan mengembalikan struktur DataTables', function () { + DataDesa::factory()->create([ + 'desa_id' => '3301010099001', + 'nama' => 'Desa Test POST', + ]); + + $response = $this->postJson( + route('data.data-desa.getdata'), + datatablePostPayload(), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('POST ke getdata mengembalikan kolom yang diharapkan', function () { + DataDesa::factory()->create([ + 'desa_id' => '3301010099002', + 'nama' => 'Desa Kolom Test', + ]); + + $response = $this->postJson( + route('data.data-desa.getdata'), + datatablePostPayload(), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $data = $response->json('data'); + $this->assertNotEmpty($data); + + $firstRow = $data[0]; + $this->assertArrayHasKey('desa_id', $firstRow); + $this->assertArrayHasKey('nama', $firstRow); + $this->assertArrayHasKey('aksi', $firstRow); + }); + + test('POST dengan draw parameter dikembalikan kembali dalam response', function () { + $response = $this->postJson( + route('data.data-desa.getdata'), + datatablePostPayload(['draw' => 5]), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonPath('draw', 5); + }); +}); + +// ============================================================================= +// 2. DATA SARANA +// ============================================================================= +describe('DataTables Data Sarana via POST', function () { + + test('endpoint getdata menerima POST dan mengembalikan struktur DataTables', function () { + $desa = DataDesa::factory()->create(['desa_id' => '3301010099010']); + DataSarana::factory()->create([ + 'desa_id' => $desa->desa_id, + 'kategori' => KategoriSarana::PUSKESMAS, + ]); + + $response = $this->postJson( + route('data.data-sarana.getdata'), + datatablePostPayload(), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('POST dengan filter desa_id memfilter data dengan benar', function () { + $desa1 = DataDesa::factory()->create(['desa_id' => '3301010099011']); + $desa2 = DataDesa::factory()->create(['desa_id' => '3301010099012']); + + DataSarana::factory()->create([ + 'desa_id' => $desa1->desa_id, + 'nama' => 'Sarana Desa 1', + 'kategori' => KategoriSarana::PUSKESMAS, + ]); + DataSarana::factory()->create([ + 'desa_id' => $desa2->desa_id, + 'nama' => 'Sarana Desa 2', + 'kategori' => KategoriSarana::POSYANDU, + ]); + + $response = $this->postJson( + route('data.data-sarana.getdata'), + datatablePostPayload(['desa_id' => $desa1->desa_id]), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $data = $response->json('data'); + + // Hanya data dari desa1 yang dikembalikan + foreach ($data as $row) { + $this->assertEquals($desa1->nama, $row['desa']); + } + }); + + test('GET pada getdata masih berfungsi (backward-compatible)', function () { + $response = $this->getJson( + route('data.data-sarana.getdata'), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + }); +}); + +// ============================================================================= +// 3. PERANGKAT KECAMATAN — PENGURUS +// ============================================================================= +describe('DataTables Pengurus via POST', function () { + + test('endpoint dedicated POST getdata mengembalikan struktur DataTables', function () { + Jabatan::factory()->jabatanLainnya()->create(['nama' => 'Staff Test']); + Pengurus::factory()->create(['status' => 1]); + + $response = $this->postJson( + route('data.pengurus.getdata.post'), + datatablePostPayload(['status' => '1']), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('POST dengan status aktif hanya mengembalikan pengurus aktif', function () { + Jabatan::factory()->jabatanLainnya()->create(['nama' => 'Staf Aktif Test']); + Pengurus::factory()->create(['status' => 1]); + Pengurus::factory()->create(['status' => 0]); + + $response = $this->postJson( + route('data.pengurus.getdata.post'), + datatablePostPayload(['status' => '1']), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $data = $response->json('data'); + + // Semua item yang dikembalikan harus aktif (status label 'Aktif') + foreach ($data as $row) { + $this->assertStringContainsString('Aktif', $row['status']); + $this->assertStringNotContainsString('Tidak Aktif', $row['status']); + } + }); + + test('index via GET masih mengembalikan view HTML (bukan ajax)', function () { + $response = $this->get(route('data.pengurus.index')); + + $response->assertStatus(200); + $response->assertViewIs('data.pengurus.index'); + }); +}); + +// ============================================================================= +// 4. PERANGKAT KECAMATAN — JABATAN +// ============================================================================= +describe('DataTables Jabatan via POST', function () { + + test('route POST jabatan mengembalikan struktur DataTables', function () { + Jabatan::factory()->jabatanLainnya()->create(); + + $response = $this->postJson( + route('data.jabatan.getdata.post'), + datatablePostPayload(), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('POST ke jabatan mengembalikan kolom nama dan tupoksi', function () { + Jabatan::factory()->jabatanLainnya()->create([ + 'nama' => 'Staf Umum Test', + 'tupoksi' => 'Menangani urusan umum', + ]); + + $response = $this->postJson( + route('data.jabatan.getdata.post'), + datatablePostPayload(), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $data = $response->json('data'); + $this->assertNotEmpty($data); + + $firstRow = $data[0]; + $this->assertArrayHasKey('nama', $firstRow); + $this->assertArrayHasKey('tupoksi', $firstRow); + $this->assertArrayHasKey('aksi', $firstRow); + }); + + test('index via GET masih mengembalikan view HTML (bukan ajax)', function () { + $response = $this->get(route('data.jabatan.index')); + + $response->assertStatus(200); + $response->assertViewIs('data.jabatan.index'); + }); + + test('GET index dengan ajax header mengembalikan data DataTables', function () { + Jabatan::factory()->jabatanLainnya()->create(); + + $response = $this->getJson( + route('data.jabatan.index'), + AJAX_HEADERS + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); +}); diff --git a/tests/Feature/KependudukanDataTablesPostTest.php b/tests/Feature/KependudukanDataTablesPostTest.php new file mode 100644 index 000000000..8d2b5c205 --- /dev/null +++ b/tests/Feature/KependudukanDataTablesPostTest.php @@ -0,0 +1,186 @@ + 'XMLHttpRequest']; + +function datatablePostPayloadKependudukan(array $extra = []): array +{ + return array_merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns[0][data]' => 'aksi', + 'columns[0][name]' => 'aksi', + 'columns[0][searchable]' => 'false', + 'columns[0][orderable]' => 'false', + 'columns[0][search][value]' => '', + 'order[0][column]' => '1', + 'order[0][dir]' => 'asc', + ], $extra); +} + +beforeEach(function () { + $this->withoutMiddleware([ + Authenticate::class, + RoleMiddleware::class, + PermissionMiddleware::class, + CompleteProfile::class, + GlobalShareMiddleware::class, + ]); + + SettingAplikasi::updateOrCreate( + ['key' => 'sinkronisasi_database_gabungan'], + ['value' => '0'] + ); +}); + +describe('DataTables Menu Kependudukan via POST', function () { + + test('Penduduk endpoint menerima POST dan mengembalikan struktur DataTables', function () { + $response = $this->postJson( + route('data.penduduk.getdata'), + datatablePostPayloadKependudukan(), + AJAX_HEADERS_KEPENDUDUKAN + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('Keluarga endpoint menerima POST dan mengembalikan struktur DataTables', function () { + $response = $this->postJson( + route('data.keluarga.getdata'), + datatablePostPayloadKependudukan(), + AJAX_HEADERS_KEPENDUDUKAN + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('Data Suplemen getdata endpoint menerima POST dan mengembalikan struktur DataTables', function () { + $response = $this->postJson( + route('data.data-suplemen.getdata'), + datatablePostPayloadKependudukan(), + AJAX_HEADERS_KEPENDUDUKAN + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('Data Suplemen getsuplementerdata endpoint menerima POST', function () { + $suplemen = Suplemen::create([ + 'nama' => 'Suplemen Test POST', + 'slug' => 'suplemen-test-post', + 'sasaran' => 1, + 'keterangan' => 'Testing POST method' + ]); + + $response = $this->postJson( + route('data.data-suplemen.getsuplementerdata', $suplemen->id), + datatablePostPayloadKependudukan(), + AJAX_HEADERS_KEPENDUDUKAN + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('Laporan Penduduk endpoint menerima POST dan mengembalikan struktur DataTables', function () { + $response = $this->postJson( + route('data.laporan-penduduk.getdata'), + datatablePostPayloadKependudukan(), + AJAX_HEADERS_KEPENDUDUKAN + ); + + $response->assertStatus(200); + $response->assertJsonStructure([ + 'draw', + 'recordsTotal', + 'recordsFiltered', + 'data', + ]); + }); + + test('Semua endpoint getdata Kependudukan tetap backward-compatible dengan GET', function () { + $endpoints = [ + route('data.penduduk.getdata'), + route('data.keluarga.getdata'), + route('data.data-suplemen.getdata'), + route('data.laporan-penduduk.getdata'), + ]; + + foreach ($endpoints as $url) { + $response = $this->getJson($url, AJAX_HEADERS_KEPENDUDUKAN); + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + } + }); +}); diff --git a/tests/Feature/Kesehatan/AkiAkbCrudTest.php b/tests/Feature/Kesehatan/AkiAkbCrudTest.php index 8f8cd9f2a..e62d40326 100644 --- a/tests/Feature/Kesehatan/AkiAkbCrudTest.php +++ b/tests/Feature/Kesehatan/AkiAkbCrudTest.php @@ -35,10 +35,31 @@ use App\Models\DataDesa; use Tests\CrudTestCase; +const AJAX_HEADERS_AKI_AKB = ['X-Requested-With' => 'XMLHttpRequest']; + beforeEach(function () { // Test setup if needed }); +function datatablePostPayloadAkiAkb(array $extra = []): array +{ + return array_merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns' => [ + ['data' => 'aksi', 'name' => 'aksi', 'searchable' => 'false', 'orderable' => 'false', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'nama_desa', 'name' => 'desa_id', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'aki', 'name' => 'aki', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'akb', 'name' => 'akb', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'bulan', 'name' => 'bulan', 'searchable' => 'false', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'tahun', 'name' => 'tahun', 'searchable' => 'false', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ], + 'order' => [['column' => 1, 'dir' => 'desc']], + ], $extra); +} + describe('AKI AKB CRUD', function () { test('index displays aki akb list view', function () { $response = $this->get(route('data.aki-akb.index')); @@ -121,7 +142,7 @@ $desa = DataDesa::factory()->create(); AkiAkb::factory()->count(3)->create(['desa_id' => $desa->desa_id]); - $response = $this->get(route('data.aki-akb.getdata')); + $response = $this->postJson(route('data.aki-akb.getdata'), datatablePostPayloadAkiAkb(), AJAX_HEADERS_AKI_AKB); $response->assertStatus(200); $response->assertJsonStructure([ diff --git a/tests/Feature/Kesehatan/ImunisasiCrudTest.php b/tests/Feature/Kesehatan/ImunisasiCrudTest.php index 0d8115d07..8365d6941 100644 --- a/tests/Feature/Kesehatan/ImunisasiCrudTest.php +++ b/tests/Feature/Kesehatan/ImunisasiCrudTest.php @@ -35,10 +35,30 @@ use App\Models\Imunisasi; use Tests\CrudTestCase; +const AJAX_HEADERS_IMUNISASI = ['X-Requested-With' => 'XMLHttpRequest']; + beforeEach(function () { // Test setup if needed }); +function datatablePostPayloadImunisasi(array $extra = []): array +{ + return array_merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns' => [ + ['data' => 'aksi', 'name' => 'aksi', 'searchable' => 'false', 'orderable' => 'false', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'nama_desa', 'name' => 'desa_id', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'cakupan_imunisasi', 'name' => 'cakupan_imunisasi', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'bulan', 'name' => 'bulan', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'tahun', 'name' => 'tahun', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ], + 'order' => [['column' => 1, 'dir' => 'asc']], + ], $extra); +} + describe('Imunisasi CRUD', function () { test('index displays imunisasi list view', function () { $response = $this->get(route('data.imunisasi.index')); @@ -59,7 +79,8 @@ }); test('edit displays edit form', function () { - $imunisasi = Imunisasi::factory()->create(); + $desa = DataDesa::factory()->create(); + $imunisasi = Imunisasi::factory()->create(['desa_id' => $desa->desa_id]); $response = $this->get(route('data.imunisasi.edit', $imunisasi->id)); @@ -70,7 +91,8 @@ }); test('update updates imunisasi successfully', function () { - $imunisasi = Imunisasi::factory()->create(); + $desa = DataDesa::factory()->create(); + $imunisasi = Imunisasi::factory()->create(['desa_id' => $desa->desa_id]); $updateData = [ 'cakupan_imunisasi' => 95, @@ -90,7 +112,8 @@ }); test('update fails with invalid data', function () { - $imunisasi = Imunisasi::factory()->create(); + $desa = DataDesa::factory()->create(); + $imunisasi = Imunisasi::factory()->create(['desa_id' => $desa->desa_id]); $invalidData = [ 'cakupan_imunisasi' => '', @@ -102,7 +125,8 @@ }); test('destroy deletes imunisasi successfully', function () { - $imunisasi = Imunisasi::factory()->create(); + $desa = DataDesa::factory()->create(); + $imunisasi = Imunisasi::factory()->create(['desa_id' => $desa->desa_id]); $response = $this->delete(route('data.imunisasi.destroy', $imunisasi->id)); @@ -118,7 +142,7 @@ $desa = DataDesa::factory()->create(); Imunisasi::factory()->count(3)->create(['desa_id' => $desa->desa_id]); - $response = $this->get(route('data.imunisasi.getdata')); + $response = $this->postJson(route('data.imunisasi.getdata'), datatablePostPayloadImunisasi(), AJAX_HEADERS_IMUNISASI); $response->assertStatus(200); $response->assertJsonStructure([ diff --git a/tests/Feature/Kesehatan/KesehatanDataTablesPostTest.php b/tests/Feature/Kesehatan/KesehatanDataTablesPostTest.php new file mode 100644 index 000000000..6a40cc080 --- /dev/null +++ b/tests/Feature/Kesehatan/KesehatanDataTablesPostTest.php @@ -0,0 +1,121 @@ + 'XMLHttpRequest']; + +function datatablePostPayloadKesehatan(array $columns, string $direction = 'asc', array $extra = []): array +{ + return array_merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns' => $columns, + 'order' => [['column' => 1, 'dir' => $direction]], + ], $extra); +} + +describe('DataTables Menu Kesehatan via POST', function () { + test('AKI AKB getdata menerima POST dan mengembalikan struktur DataTables', function () { + $desa = DataDesa::factory()->create(); + AkiAkb::factory()->create(['desa_id' => $desa->desa_id]); + + $response = $this->postJson(route('data.aki-akb.getdata'), datatablePostPayloadKesehatan([ + ['data' => 'aksi', 'name' => 'aksi', 'searchable' => 'false', 'orderable' => 'false', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'nama_desa', 'name' => 'desa_id', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'aki', 'name' => 'aki', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'akb', 'name' => 'akb', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'bulan', 'name' => 'bulan', 'searchable' => 'false', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'tahun', 'name' => 'tahun', 'searchable' => 'false', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ], 'desc'), AJAX_HEADERS_KESEHATAN); + + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + }); + + test('Imunisasi getdata menerima POST dan mengembalikan struktur DataTables', function () { + $desa = DataDesa::factory()->create(); + Imunisasi::factory()->create(['desa_id' => $desa->desa_id]); + + $response = $this->postJson(route('data.imunisasi.getdata'), datatablePostPayloadKesehatan([ + ['data' => 'aksi', 'name' => 'aksi', 'searchable' => 'false', 'orderable' => 'false', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'nama_desa', 'name' => 'desa_id', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'cakupan_imunisasi', 'name' => 'cakupan_imunisasi', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'bulan', 'name' => 'bulan', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'tahun', 'name' => 'tahun', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ]), AJAX_HEADERS_KESEHATAN); + + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + }); + + test('Epidemi Penyakit getdata menerima POST dan mengembalikan struktur DataTables', function () { + $desa = DataDesa::factory()->create(); + $jenisPenyakit = JenisPenyakit::factory()->create(); + EpidemiPenyakit::factory()->create([ + 'desa_id' => $desa->desa_id, + 'penyakit_id' => $jenisPenyakit->id, + ]); + + $response = $this->postJson(route('data.epidemi-penyakit.getdata'), datatablePostPayloadKesehatan([ + ['data' => 'aksi', 'name' => 'aksi', 'searchable' => 'false', 'orderable' => 'false', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'nama_desa', 'name' => 'desa_id', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'penyakit.nama', 'name' => 'penyakit.nama', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'jumlah_penderita', 'name' => 'jumlah_penderita', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'bulan', 'name' => 'bulan', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ['data' => 'tahun', 'name' => 'tahun', 'searchable' => 'true', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ]), AJAX_HEADERS_KESEHATAN); + + $response->assertStatus(200); + $response->assertJsonStructure(['draw', 'recordsTotal', 'recordsFiltered', 'data']); + }); + + test('endpoint getdata kesehatan tidak lagi menerima GET', function () { + $endpoints = [ + route('data.aki-akb.getdata'), + route('data.imunisasi.getdata'), + route('data.epidemi-penyakit.getdata'), + ]; + + foreach ($endpoints as $url) { + $this->getJson($url, AJAX_HEADERS_KESEHATAN)->assertStatus(405); + } + }); +});