From 2d42240ab5135e8f5c4fcf9a3f49721ca6039b02 Mon Sep 17 00:00:00 2001 From: ahmad afandi Date: Mon, 11 Aug 2025 14:54:05 +0700 Subject: [PATCH 1/6] Tambahkan fitur untuk penyebutan kelurahan / desa & Kabupaten / Kota pada OpenKab --- app/Http/Controllers/DasborController.php | 2 +- app/Http/Requests/IdentitasRequest.php | 1 + .../Transformers/IdentitasTransformer.php | 1 + app/Listeners/MenuListener.php | 2 +- app/Models/Identitas.php | 3 +- app/Providers/AppServiceProvider.php | 3 +- config/app.php | 11 +- ...01_add_sebutan_desa_to_identitas_table.php | 32 +++ database/seeders/IdentitasSeeder.php | 1 + .../views/components/wilayah_filter.blade.php | 5 +- .../components/wilayah_filter_js.blade.php | 4 +- resources/views/dasbor/data-desa.blade.php | 37 +-- .../data_pokok/pariwisata/index.blade.php | 208 +++++++------- resources/views/desa/cetak.blade.php | 2 +- resources/views/desa/index.blade.php | 8 +- resources/views/identitas/edit.blade.php | 31 +- resources/views/identitas/index.blade.php | 28 +- resources/views/kecamatan/index.blade.php | 2 +- resources/views/keluarga/detail.blade.php | 9 +- resources/views/keluarga/index.blade.php | 39 +-- .../views/laporan-bulanan/cetak.blade.php | 15 +- .../views/laporan-bulanan/index.blade.php | 17 +- .../layouts/presisi/peta/filter.blade.php | 156 +++++----- .../views/master/bantuan/create.blade.php | 34 ++- resources/views/master/bantuan/edit.blade.php | 3 +- resources/views/penduduk/detail.blade.php | 271 +++++++++--------- .../views/penduduk/filter_form.blade.php | 7 +- resources/views/penduduk/pindah.blade.php | 40 +-- .../views/presisi/bantuan/index.blade.php | 22 +- .../geo_spasial/layouts/peta/filter.blade.php | 81 +++--- .../geo_spasial/wilayah/data-desa.blade.php | 42 +-- .../geo_spasial/wilayah/filter.blade.php | 13 +- .../keluarga/filter-wilayah/desa.blade.php | 34 +-- .../filter-wilayah/kabupaten.blade.php | 33 +-- .../keluarga/filter-wilayah/view.blade.php | 5 +- .../filter-wilayah/desa.blade.php | 34 +-- .../filter-wilayah/kabupaten.blade.php | 42 ++- .../filter-wilayah/view.blade.php | 5 +- .../presisi/kependudukan/index.blade.php | 17 +- .../kesehatan/filter-wilayah/desa.blade.php | 2 +- .../filter-wilayah/kabupaten.blade.php | 2 +- .../kesehatan/filter-wilayah/view.blade.php | 5 +- .../presisi/rtm/filter-wilayah/desa.blade.php | 34 +-- .../rtm/filter-wilayah/kabupaten.blade.php | 42 ++- .../presisi/rtm/filter-wilayah/view.blade.php | 5 +- .../views/presisi/wilayah/data-desa.blade.php | 5 +- resources/views/rtm/detail.blade.php | 9 +- resources/views/rtm/index.blade.php | 6 +- resources/views/user/form.blade.php | 87 +++--- .../views/web/partials/property.blade.php | 123 ++++---- .../views/web/partials/statistik.blade.php | 2 +- 51 files changed, 855 insertions(+), 767 deletions(-) create mode 100644 database/migrations/2025_08_11_000001_add_sebutan_desa_to_identitas_table.php diff --git a/app/Http/Controllers/DasborController.php b/app/Http/Controllers/DasborController.php index 2080b19de..240ec8a78 100644 --- a/app/Http/Controllers/DasborController.php +++ b/app/Http/Controllers/DasborController.php @@ -16,7 +16,7 @@ public function index() $keluargaSummary = 0; $categoriesItems = [ ['key' => 'kecamatan', 'url' => url('kecamatan'), 'text' => 'kecamatan', 'value' => $configSummary, 'icon' => 'web/img/kecamatan.jpg'], - ['key' => 'desa', 'url' => url('desa'), 'text' => 'desa/kelurahan', 'value' => $totalDesa, 'icon' => 'web/img/kelurahan.jpg'], + ['key' => 'desa', 'url' => url('desa'), 'text' => strtolower($data['sebutanDesa'] ?? 'desa'), 'value' => $totalDesa, 'icon' => 'web/img/kelurahan.jpg'], ['key' => 'penduduk', 'url' => url('penduduk'), 'text' => 'jumlah penduduk', 'value' => $pendudukSummary, 'icon' => 'web/img/penduduk.jpg'], ['key' => 'keluarga', 'url' => url('keluarga'), 'text' => 'jumlah keluarga', 'value' => $keluargaSummary, 'icon' => 'web/img/bantuan.jpg'], ]; diff --git a/app/Http/Requests/IdentitasRequest.php b/app/Http/Requests/IdentitasRequest.php index 56f672ca9..01ea70a81 100644 --- a/app/Http/Requests/IdentitasRequest.php +++ b/app/Http/Requests/IdentitasRequest.php @@ -31,6 +31,7 @@ public function rules() 'nama_provinsi' => 'required|string', 'kode_provinsi' => 'required|string', 'sebutan_kab' => 'required|regex:/^[A-Za-z\.\']+(?:\s[A-Za-z\.\']+)*$/u|max:50', + 'sebutan_desa' => 'required|regex:/^[A-Za-z\.\']+(?:\s[A-Za-z\.\']+)*$/u|max:50', ]; } } diff --git a/app/Http/Transformers/IdentitasTransformer.php b/app/Http/Transformers/IdentitasTransformer.php index 8e21299fc..36d25358f 100644 --- a/app/Http/Transformers/IdentitasTransformer.php +++ b/app/Http/Transformers/IdentitasTransformer.php @@ -30,6 +30,7 @@ public function transform(Identitas $identitas) 'nama_provinsi' => $identitas->nama_provinsi, 'kode_provinsi' => $identitas->kode_provinsi, 'sebutan_kab' => $identitas->sebutan_kab, + 'sebutan_desa' => $identitas->sebutan_desa, ]; } } diff --git a/app/Listeners/MenuListener.php b/app/Listeners/MenuListener.php index a05419c5c..7f66ecbd0 100644 --- a/app/Listeners/MenuListener.php +++ b/app/Listeners/MenuListener.php @@ -93,7 +93,7 @@ public function handle(BuildingMenu $event) 'url' => 'sesi/hapus/desa', 'active' => ! session()->has('desa'), 'data' => [ - 'desa' => 'Desa', + 'desa' => config('app.sebutanDesa', 'Desa'), ], ]); diff --git a/app/Models/Identitas.php b/app/Models/Identitas.php index 7130386fb..6961d874c 100644 --- a/app/Models/Identitas.php +++ b/app/Models/Identitas.php @@ -13,7 +13,7 @@ class Identitas extends OpenKabModel protected $fillable = [ 'nama_aplikasi', 'deskripsi', 'favicon', 'logo', 'nama_kabupaten', 'kode_kabupaten', - 'nama_provinsi', 'kode_provinsi', 'sebutan_kab', + 'nama_provinsi', 'kode_provinsi', 'sebutan_kab', 'sebutan_desa', ]; public static function pengaturan() @@ -22,6 +22,7 @@ public static function pengaturan() $data['nama_aplikasi'] = $identitas->nama_aplikasi ?? config('app.namaAplikasi'); $data['sebutanKab'] = $identitas->sebutan_kab ?? config('app.sebutanKab'); + $data['sebutanDesa'] = $identitas->sebutan_desa ?? config('app.sebutanDesa'); $nama_kabupaten = preg_replace('/KAB/', '', $identitas->nama_kabupaten) ?? config('app.namaKab'); $data['nama_kabupaten'] = strtolower($data['sebutanKab']) == 'kota' ? $nama_kabupaten : $data['sebutanKab'].' '.$nama_kabupaten; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 2ba771e68..5a60d3915 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -59,7 +59,8 @@ public function boot() // daftarkan data identitas aplikasi disini, karena akan dipakai di hampir semua view View::share('identitasAplikasi', $identitasAplikasi); View::share('settingAplikasi', $settingAplikasi); - + config()->set(['app.sebutanDesa' => $identitasAplikasi['sebutan_desa'] ?? 'Desa']); + config()->set(['app.sebutanKab' => $identitasAplikasi['sebutan_kab'] ?? 'Kabupaten']); $this->bootConfigAdminLTE($identitasAplikasi, $settingAplikasi); } } diff --git a/config/app.php b/config/app.php index ea3fcd4a3..ca65a4b11 100644 --- a/config/app.php +++ b/config/app.php @@ -21,6 +21,7 @@ 'namaKab' => env('APP_NAMA_KAB', 'Nama Kabupaten'), 'namaProv' => env('APP_NAMA_PROV', 'Nama Provinsi'), 'sebutanKab' => env('APP_SEBUTAN_KAB', 'Kota'), + 'sebutanDesa' => env('APP_SEBUTAN_DESA', 'Desa'), 'serverPantau' => env('APP_PANTAU', 'https://pantau.opensid.my.id/'), 'tokenPantau' => env('TOKEN_PANTAU', 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6bnVsbCwidGltZXN0YW1wIjoxNjAzNDY2MjM5fQ.HVCNnMLokF2tgHwjQhSIYo6-2GNXB4-Kf28FSIeXnZw'), @@ -80,7 +81,7 @@ | */ - 'timezone' => env('APP_TIMEZONE','UTC'), + 'timezone' => env('APP_TIMEZONE', 'UTC'), /* |-------------------------------------------------------------------------- @@ -224,11 +225,11 @@ 'aliases' => Facade::defaultAliases()->merge([ // 'ExampleClass' => App\Example\ExampleClass::class, - 'Image' => Intervention\Image\Facades\Image::class + 'Image' => Intervention\Image\Facades\Image::class, ])->toArray(), 'format' => [ - 'date' => env('FORMAT_DATE','d/m/Y'), - 'date_js' => env('FORMAT_DATE_JS','DD/MM/YYYY') - ] + 'date' => env('FORMAT_DATE', 'd/m/Y'), + 'date_js' => env('FORMAT_DATE_JS', 'DD/MM/YYYY'), + ], ]; diff --git a/database/migrations/2025_08_11_000001_add_sebutan_desa_to_identitas_table.php b/database/migrations/2025_08_11_000001_add_sebutan_desa_to_identitas_table.php new file mode 100644 index 000000000..22de176ef --- /dev/null +++ b/database/migrations/2025_08_11_000001_add_sebutan_desa_to_identitas_table.php @@ -0,0 +1,32 @@ +string('sebutan_desa', 100)->default('Desa')->after('sebutan_kab'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('identitas', function (Blueprint $table) { + $table->dropColumn('sebutan_desa'); + }); + } +}; diff --git a/database/seeders/IdentitasSeeder.php b/database/seeders/IdentitasSeeder.php index 4fb77b684..8ad1c6e0f 100644 --- a/database/seeders/IdentitasSeeder.php +++ b/database/seeders/IdentitasSeeder.php @@ -21,6 +21,7 @@ public function run() 'nama_provinsi' => 'Nusa Tenggara Barat', 'kode_provinsi' => '52', 'sebutan_kab' => 'Kota', + 'sebutan_desa' => 'Kelurahan', ]); } } diff --git a/resources/views/components/wilayah_filter.blade.php b/resources/views/components/wilayah_filter.blade.php index e0aed295a..adb471e78 100644 --- a/resources/views/components/wilayah_filter.blade.php +++ b/resources/views/components/wilayah_filter.blade.php @@ -5,7 +5,7 @@
@@ -16,7 +16,8 @@
-
diff --git a/resources/views/components/wilayah_filter_js.blade.php b/resources/views/components/wilayah_filter_js.blade.php index be6fb0d36..cdb1ddd9c 100644 --- a/resources/views/components/wilayah_filter_js.blade.php +++ b/resources/views/components/wilayah_filter_js.blade.php @@ -20,7 +20,7 @@ }, 'json') $('#filter_kabupaten').select2({ - placeholder: "Pilih Kabupaten", + placeholder: "{{ config('app.sebutanKab') }}", allowClear: true, height: '100%', width: '100%', @@ -33,7 +33,7 @@ }) $('#filter_desa').select2({ - placeholder: "Pilih Desa", + placeholder: "{{ config('app.sebutanDesa') }}", allowClear: true, width: '100%', }) diff --git a/resources/views/dasbor/data-desa.blade.php b/resources/views/dasbor/data-desa.blade.php index 318bf8ca3..703d2ea7c 100644 --- a/resources/views/dasbor/data-desa.blade.php +++ b/resources/views/dasbor/data-desa.blade.php @@ -1,19 +1,20 @@
-
-
Data Kelurahan /Desa
-
-
- - - - - - - - - - -
NoDesaKecamatanJumlah Penduduk
-
-
-
\ No newline at end of file +
+
Data {{ config('app.sebutanDesa') }} +
+
+
+ + + + + + + + + + +
No{{ config('app.sebutanDesa') }}KecamatanJumlah Penduduk
+
+
+
diff --git a/resources/views/data_pokok/pariwisata/index.blade.php b/resources/views/data_pokok/pariwisata/index.blade.php index d3e0dc62f..b3c8d066d 100644 --- a/resources/views/data_pokok/pariwisata/index.blade.php +++ b/resources/views/data_pokok/pariwisata/index.blade.php @@ -50,7 +50,7 @@ ID - Desa + {{ config('app.sebutanDesa') }} Jenis Hiburan Jumlah Penginapan Lokasi/Tempat/Area Wisata @@ -70,122 +70,122 @@ @section('js') @include('data_pokok.pariwisata.chart') - @endsection diff --git a/resources/views/desa/cetak.blade.php b/resources/views/desa/cetak.blade.php index 3ae09e775..53b4c2e42 100644 --- a/resources/views/desa/cetak.blade.php +++ b/resources/views/desa/cetak.blade.php @@ -16,7 +16,7 @@ No - Desa + {{ config('app.sebutanDesa') }} Kecamatan Jumlah Penduduk diff --git a/resources/views/desa/index.blade.php b/resources/views/desa/index.blade.php index 40a6f7e41..0d48d68bf 100644 --- a/resources/views/desa/index.blade.php +++ b/resources/views/desa/index.blade.php @@ -38,7 +38,7 @@
+ title="{{ config('app.sebutanDesa') }}"> @if ($filters['kode_desa'] ?? false) @@ -102,7 +102,7 @@ class="fas fa-search"> No - Desa + {{ config('app.sebutanDesa') }} Kecamatan Jumlah Penduduk diff --git a/resources/views/identitas/edit.blade.php b/resources/views/identitas/edit.blade.php index 1b045601d..c5bda83c4 100644 --- a/resources/views/identitas/edit.blade.php +++ b/resources/views/identitas/edit.blade.php @@ -1,7 +1,7 @@ @extends('layouts.index') @push('css') -