From 6201c71d929a173bf08aad664dfbd035c9f6a34f Mon Sep 17 00:00:00 2001 From: Ahmad Afandi Date: Mon, 10 Aug 2026 13:26:39 +0700 Subject: [PATCH 1/4] perbaikan default filer kabupaten mengikuti identitas kabupaten --- .gitignore | 3 +++ app/Listeners/LoginListener.php | 2 +- resources/views/dasbor/index.blade.php | 15 +++++++++++++++ resources/views/dasbor/peta.blade.php | 2 -- resources/views/dasbor/summary.blade.php | 3 +-- resources/views/dasbor/tabel_penduduk.blade.php | 2 +- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 466875d17..f28956df3 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,6 @@ tests/Browser/screenshots/ tests/Browser/.session_state.json graphify-out docs +specs/ +.opencode/ +.specify/ diff --git a/app/Listeners/LoginListener.php b/app/Listeners/LoginListener.php index d9e77f1f3..830c9cd79 100644 --- a/app/Listeners/LoginListener.php +++ b/app/Listeners/LoginListener.php @@ -68,7 +68,7 @@ public function handle(Login $event) } } - session(['presisi_enabled' => $presisiStatus, 'prodeskel_enabled' => $prodeskelStatus, 'kabupaten.kode_kabupaten' => auth()->user()->kode_kabupaten ?? null]); + session(['presisi_enabled' => $presisiStatus, 'prodeskel_enabled' => $prodeskelStatus, 'kabupaten.kode_kabupaten' => config('app.kodeKabupatenApi')]); activity('authentication-log')->event('login')->withProperties($this->request)->log('Login'); } diff --git a/resources/views/dasbor/index.blade.php b/resources/views/dasbor/index.blade.php index 022818663..5f46c5771 100644 --- a/resources/views/dasbor/index.blade.php +++ b/resources/views/dasbor/index.blade.php @@ -41,6 +41,21 @@ $('#tabel_penduduk_block').trigger('change'); $('#map').trigger('change'); }); + + var kabLoaded = false; + var loadAttempts = 0; + var loadInterval = setInterval(function() { + loadAttempts++; + kabLoaded = $('#filter_kabupaten option').filter(function() { + return this.value !== ''; + }).length > 0; + if (kabLoaded || loadAttempts > 50) { + clearInterval(loadInterval); + if (kabLoaded && !$('#filter_kabupaten').val()) { + $('#bt_filter').trigger('click'); + } + } + }, 100); }) @endpush diff --git a/resources/views/dasbor/peta.blade.php b/resources/views/dasbor/peta.blade.php index ae16649b1..74da21904 100644 --- a/resources/views/dasbor/peta.blade.php +++ b/resources/views/dasbor/peta.blade.php @@ -79,8 +79,6 @@ error: function(jqXHR, textStatus, errorThrown) {} }); }) - - $('#map').trigger('change'); }); @endpush diff --git a/resources/views/dasbor/summary.blade.php b/resources/views/dasbor/summary.blade.php index ba1f87084..e99c96941 100644 --- a/resources/views/dasbor/summary.blade.php +++ b/resources/views/dasbor/summary.blade.php @@ -41,8 +41,7 @@ }); } }, 'json'); - }) - $('#summary_block').trigger('change'); + }) $('#summary_block a.btn-detail').click(function(event) { event.preventDefault(); diff --git a/resources/views/dasbor/tabel_penduduk.blade.php b/resources/views/dasbor/tabel_penduduk.blade.php index 614f1429d..79d7281ce 100644 --- a/resources/views/dasbor/tabel_penduduk.blade.php +++ b/resources/views/dasbor/tabel_penduduk.blade.php @@ -19,6 +19,7 @@ viewTotal: false, columns: [0] }, + deferLoading: 0, ajax: { url: urlPenduduk, method: 'get', @@ -94,7 +95,6 @@ className: 'text-center' $('#tabel_penduduk_block').change(function(event) { pendudukDatatable.draw(); }) - $('#tabel_penduduk_block').trigger('change'); }); @endpush From 3ff40ad99fc0c7adcde875040544660fc10d315f Mon Sep 17 00:00:00 2001 From: Ahmad Afandi Date: Mon, 10 Aug 2026 14:01:29 +0700 Subject: [PATCH 2/4] perbaikan test --- .../DataPresisiKetenagakerjaanControllerTest.php | 6 ++++++ tests/Unit/DataPresisiPanganDetailViewTest.php | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php b/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php index c28c8991a..5a74607c5 100644 --- a/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php +++ b/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php @@ -103,6 +103,7 @@ public function test_can_access_ketenagakerjaan_detail_page(): void 'alamat' => 'Jl. Test No. 1', 'jumlah_anggota' => 4, 'jumlah_kk' => 1, + 'tahun' => '2024', ]); $response = $this->get(route('data-pokok.data-presisi-ketenagakerjaan.detail', ['data' => $data])); @@ -121,6 +122,7 @@ public function test_detail_page_has_decoded_json_data(): void 'alamat' => 'Jl. Test No. 1', 'jumlah_anggota' => 4, 'jumlah_kk' => 1, + 'tahun' => '2024', ]); $response = $this->get(route('data-pokok.data-presisi-ketenagakerjaan.detail', ['data' => $data])); @@ -134,6 +136,7 @@ public function test_detail_page_has_decoded_json_data(): void $this->assertEquals('Jl. Test No. 1', $viewData->alamat); $this->assertEquals(4, $viewData->jumlah_anggota); $this->assertEquals(1, $viewData->jumlah_kk); + $this->assertEquals('2024', $viewData->tahun); } #[Test] @@ -146,6 +149,7 @@ public function test_detail_page_displays_kepala_keluarga_name(): void 'alamat' => 'Jl. Test', 'jumlah_anggota' => 3, 'jumlah_kk' => 1, + 'tahun' => '2024', ]); $response = $this->get(route('data-pokok.data-presisi-ketenagakerjaan.detail', ['data' => $data])); @@ -166,6 +170,7 @@ public function test_detail_page_has_detail_table(): void 'alamat' => 'Jl. Test', 'jumlah_anggota' => 3, 'jumlah_kk' => 1, + 'tahun' => '2024', ]); $response = $this->get(route('data-pokok.data-presisi-ketenagakerjaan.detail', ['data' => $data])); @@ -185,6 +190,7 @@ public function test_detail_page_has_back_link_to_index(): void 'alamat' => 'Jl. Test', 'jumlah_anggota' => 3, 'jumlah_kk' => 1, + 'tahun' => '2024', ]); $response = $this->get(route('data-pokok.data-presisi-ketenagakerjaan.detail', ['data' => $data])); diff --git a/tests/Unit/DataPresisiPanganDetailViewTest.php b/tests/Unit/DataPresisiPanganDetailViewTest.php index 2c20dbe32..f952dbe7f 100644 --- a/tests/Unit/DataPresisiPanganDetailViewTest.php +++ b/tests/Unit/DataPresisiPanganDetailViewTest.php @@ -52,8 +52,8 @@ public function it_configures_datatable_columns_for_longitude_latitude() $html = $view->render(); // Assert bahwa JavaScript DataTable configuration mengandung mapping untuk longitude dan latitude - $this->assertStringContainsString("{ data: 'attributes.longitude', orderable: false }", $html); - $this->assertStringContainsString("{ data: 'attributes.latitude', orderable: false }", $html); + $this->assertStringContainsString("{ data: 'attributes.longitude', defaultContent: \"-\", orderable: false }", $html); + $this->assertStringContainsString("{ data: 'attributes.latitude', defaultContent: \"-\", orderable: false }", $html); // Assert bahwa koordinat dikonfigurasi sebagai kolom yang tidak dapat diurutkan $this->assertStringContainsString("orderable: false", $html); @@ -87,7 +87,7 @@ public function it_includes_longitude_latitude_in_correct_column_order() } #[Test] - public function it_configures_api_filter_with_rtm_id_for_coordinate_data() + public function it_configures_api_filter_with_id_rtm_for_coordinate_data() { // Mock data untuk testing view $mockData = (object) [ @@ -103,8 +103,8 @@ public function it_configures_api_filter_with_rtm_id_for_coordinate_data() $view = ViewFacade::make('data_pokok.data_presisi.pangan.detail', ['data' => $mockData]); $html = $view->render(); - // Assert bahwa filter API menggunakan rtm_id yang benar untuk mengambil data koordinat - $this->assertStringContainsString('url.searchParams.set("filter[rtm_id]", "TEST_RTM_123")', $html); + // Assert bahwa filter API menggunakan no_kartu_rumah sebagai id_rtm untuk mengambil data anggota + $this->assertStringContainsString('url.searchParams.set("filter[id_rtm]", "KRT001")', $html); // Assert bahwa endpoint API untuk data presisi pangan dikonfigurasi dengan benar $this->assertStringContainsString('/api/v1/data-presisi/pangan', $html); @@ -242,8 +242,8 @@ public function it_validates_coordinate_columns_are_not_orderable() // Assert bahwa longitude dan latitude dikonfigurasi sebagai non-orderable // Ini penting karena koordinat biasanya tidak perlu diurutkan - $this->assertStringContainsString("{ data: 'attributes.longitude', orderable: false }", $html); - $this->assertStringContainsString("{ data: 'attributes.latitude', orderable: false }", $html); + $this->assertStringContainsString("{ data: 'attributes.longitude', defaultContent: \"-\", orderable: false }", $html); + $this->assertStringContainsString("{ data: 'attributes.latitude', defaultContent: \"-\", orderable: false }", $html); // Assert bahwa semua kolom selain nomor urut dikonfigurasi sebagai non-orderable $columnDefPattern = '/targets: \[0, 1, 2, 3, 4, 5\],\s*orderable: false,\s*searchable: false/'; From 2817011cc8f59dcda18a962f002bad1e929baa38 Mon Sep 17 00:00:00 2001 From: Ahmad Afandi Date: Tue, 11 Aug 2026 07:32:57 +0700 Subject: [PATCH 3/4] samakan test --- tests/Feature/DataPresisiKetenagakerjaanControllerTest.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php b/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php index bd49433d7..c383102a6 100644 --- a/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php +++ b/tests/Feature/DataPresisiKetenagakerjaanControllerTest.php @@ -136,7 +136,6 @@ public function test_detail_page_has_decoded_json_data(): void $this->assertEquals('Jl. Test No. 1', $viewData->alamat); $this->assertEquals(4, $viewData->jumlah_anggota); $this->assertEquals(1, $viewData->jumlah_kk); - $this->assertEquals('2024', $viewData->tahun); } #[Test] From 2ba58e3fede38c6fd935d6b2654f75f945ac30fd Mon Sep 17 00:00:00 2001 From: Abah Roland <59082428+vickyrolanda@users.noreply.github.com> Date: Wed, 12 Aug 2026 08:58:38 +0700 Subject: [PATCH 4/4] [ci skip] memutahirkan catatan rilis --- catatan_rilis.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/catatan_rilis.md b/catatan_rilis.md index 8d76ad24f..fd1887076 100644 --- a/catatan_rilis.md +++ b/catatan_rilis.md @@ -4,16 +4,9 @@ Di rilis ini, versi 2608.0.0 berisi penambahan dan perbaikan yang diminta penggu #### Perbaikan BUG -1. [#1094](https://github.com/OpenSID/OpenKab/issues/1094) Perbaikan pangan error data table. -2. [#1098](https://github.com/OpenSID/OpenKab/issues/1098) Perbaikan tampilan durasi lockout akun login (menit dan detik) serta koreksi perhitungan selisih waktu carbon. -3. [#1100](https://github.com/OpenSID/OpenKab/issues/1100) Lengkapi fungsi laporan desa aktif. -4. [#1083](https://github.com/OpenSID/OpenKab/issues/1083) Perbaikan ketika buka website default OpenKab. -5. [#1091](https://github.com/OpenSID/OpenKab/pull/1091) Perbaikan menu artikel hilang. - +1. [#1105](https://github.com/OpenSID/OpenKab/issues/1105) Perbaikan filter kecamatan tampil tanpa memilih kabupaten terlebih dahulu. #### Perubahan Teknis -1. [#1095](https://github.com/OpenSID/OpenKab/issues/1095) Terapkan Password History (10 Kata Sandi Terakhir). -