diff --git a/app/Http/Controllers/MasterData/LandController.php b/app/Http/Controllers/MasterData/LandController.php index 4e896ad..423753d 100644 --- a/app/Http/Controllers/MasterData/LandController.php +++ b/app/Http/Controllers/MasterData/LandController.php @@ -53,6 +53,10 @@ public function store(Request $request) 'district_id.required' => 'Kecamatan wajib diisi', 'district_id.exists' => 'Kecamatan tidak ditemukan', + 'address.required' => 'Alamat wajib diisi', + 'address.max' => 'Alamat maksimal 100 karakter', + 'address.string' => 'Alamat harus berupa string', + 'lat.required' => 'Latitude wajib diisi', 'lat.numeric' => 'Latitude harus berupa angka', @@ -74,6 +78,7 @@ public function store(Request $request) 'province_id' => 'required|exists:provinces,id', 'regency_id' => 'required|exists:regencies,id', 'district_id' => 'required|exists:districts,id', + 'address' => 'required|string|max:100', 'lat' => 'required|numeric', 'lng' => 'required|numeric', ], $customMessage); @@ -93,6 +98,7 @@ public function store(Request $request) $land->province_code = $request->province_id; $land->regency_code = $request->regency_id; $land->district_code = $request->district_id; + $land->address = $request->address; $land->latitude = $request->lat; $land->longitude = $request->lng; @@ -143,6 +149,10 @@ public function update(Request $request, $id) 'district_id.required' => 'Kecamatan wajib diisi', 'district_id.exists' => 'Kecamatan tidak ditemukan', + 'address.required' => 'Alamat wajib diisi', + 'address.max' => 'Alamat maksimal 100 karakter', + 'address.string' => 'Alamat harus berupa string', + 'lat.required' => 'Latitude wajib diisi', 'lat.numeric' => 'Latitude harus berupa angka', @@ -164,6 +174,7 @@ public function update(Request $request, $id) 'province_id' => 'required|exists:provinces,id', 'regency_id' => 'required|exists:regencies,id', 'district_id' => 'required|exists:districts,id', + 'address' => 'required|string|max:100', 'lat' => 'required|numeric', 'lng' => 'required|numeric', ], $customMessage); @@ -183,6 +194,7 @@ public function update(Request $request, $id) $land->province_code = $request->province_id; $land->regency_code = $request->regency_id; $land->district_code = $request->district_id; + $land->address = $request->address; $land->latitude = $request->lat; $land->longitude = $request->lng; diff --git a/database/migrations/2025_01_28_065420_create_land_table.php b/database/migrations/2025_01_28_065420_create_land_table.php index c3f7688..1a78859 100644 --- a/database/migrations/2025_01_28_065420_create_land_table.php +++ b/database/migrations/2025_01_28_065420_create_land_table.php @@ -22,6 +22,7 @@ public function up(): void $table->string('province_code'); $table->string('regency_code'); $table->string('district_code'); + $table->string('address'); $table->string('latitude'); $table->string('longitude'); $table->timestamps(); diff --git a/public/assets/js/pages/customJs/master-data/lahan/index.js b/public/assets/js/pages/customJs/master-data/lahan/index.js index 61812c8..98a1df3 100644 --- a/public/assets/js/pages/customJs/master-data/lahan/index.js +++ b/public/assets/js/pages/customJs/master-data/lahan/index.js @@ -31,6 +31,12 @@ var districtEditVal = new Choices(districtEditField, { shouldSort: false, }); +var addressContainer = form.querySelector("#address-container"); +var addressField = form.querySelector("#address-field"); + +var addressEditContainer = formEdit.querySelector("#address-edit-container"); +var addressEditField = formEdit.querySelector("#address-edit-field"); + var mapContainer = form.querySelector("#map-container"); var latField = form.querySelector("#lat"); var lngField = form.querySelector("#lng"); @@ -130,9 +136,13 @@ function showmap(districtId) { mapContainer.style.display = "block"; map.invalidateSize(); + addressContainer.style.display = "block"; + mapEditConatiner.style.display = "block"; mapEdit.invalidateSize(); + addressEditContainer.style.display = "block"; + btnContainer.style.display = "block"; btnEditContainer.style.display = "block"; @@ -257,6 +267,8 @@ function getRegencies(provinceId) { regencyEditContainer.style.display = "none"; districtContainer.style.display = "none"; districtEditContainer.style.display = "none"; + addressContainer.style.display = "none"; + addressEditContainer.style.display = "none"; loading.style.display = "block"; loadingEdit.style.display = "block"; mapContainer.style.display = "none"; @@ -344,6 +356,8 @@ function getRegencies(provinceId) { function getDistricts(regencyId) { districtContainer.style.display = "none"; districtEditContainer.style.display = "none"; + addressContainer.style.display = "none"; + addressEditContainer.style.display = "none"; loading.style.display = "block"; loadingEdit.style.display = "block"; mapContainer.style.display = "none"; @@ -545,6 +559,9 @@ async function updateData(data) { }, }); + addressEditContainer.style.display = "block"; + addressEditField.value = land.address; + mapEdit.setView([land.latitude, land.longitude], 16); currentMarkerEdit .setLatLng([land.latitude, land.longitude]) diff --git a/resources/views/master-data/lahan/index.blade.php b/resources/views/master-data/lahan/index.blade.php index 5630254..b7791fa 100644 --- a/resources/views/master-data/lahan/index.blade.php +++ b/resources/views/master-data/lahan/index.blade.php @@ -274,6 +274,15 @@ class="needs-validation" method="POST" novalidate id="add-form"> + + + +