fix(master-land): fix function update
This commit is contained in:
parent
c849014664
commit
1d2231f822
|
@ -9,7 +9,6 @@
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Psy\CodeCleaner\ReturnTypePass;
|
||||
|
||||
class LandController extends Controller
|
||||
{
|
||||
|
@ -164,6 +163,10 @@ public function update(Request $request, $id)
|
|||
|
||||
$polygon = json_decode($request->polygon, true);
|
||||
|
||||
if (isset($polygon[0])) {
|
||||
$polygon = $polygon[0]; // Ambil array pertama jika ada
|
||||
}
|
||||
|
||||
if ($validator->fails()) {
|
||||
toast($validator->messages()->all()[0], 'error')->position('top')->autoclose(3000);
|
||||
return redirect()->back()->withInput();
|
||||
|
@ -195,6 +198,7 @@ public function update(Request $request, $id)
|
|||
return redirect()->back();
|
||||
} catch (\Throwable $th) {
|
||||
DB::rollBack();
|
||||
dd($th->getMessage());
|
||||
toast('Terjadi kesalahan', 'error')->position('top')->autoclose(3000);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
|
|
@ -85,6 +85,7 @@ function initMapEdit() {
|
|||
|
||||
mapEdit.on("draw:created", handleDrawCreated);
|
||||
mapEdit.on("draw:edited", handleDrawEdited);
|
||||
mapEdit.on("draw:deleted", handleDrawDeleted);
|
||||
mapEdit.invalidateSize();
|
||||
}
|
||||
|
||||
|
@ -328,124 +329,6 @@ function setMapEdit() {
|
|||
.openPopup();
|
||||
}
|
||||
|
||||
// async function updateData(data) {
|
||||
// const land = data.land;
|
||||
// const userRole = data.role;
|
||||
|
||||
// var ownerEditField = formEdit.querySelector("#owner-edit-field");
|
||||
// var provinceEditField = formEdit.querySelector("#province-edit-field");
|
||||
// var provinceEditVal = new Choices(provinceEditField);
|
||||
|
||||
// ownerEditField.value = land.owner;
|
||||
// provinceEditField.value = land.province_code;
|
||||
// try {
|
||||
// const province = await getProvinces(land.province_code);
|
||||
// provinceEditVal.setChoices([
|
||||
// {
|
||||
// value: province.id,
|
||||
// label: province.name,
|
||||
// selected: true,
|
||||
// disabled: true,
|
||||
// },
|
||||
// ]);
|
||||
|
||||
// $.ajax({
|
||||
// type: "GET",
|
||||
// url: "/location/get-regency/" + land.province_code,
|
||||
// success: function (response) {
|
||||
// if (response.success) {
|
||||
// const dataRegencies = response.data;
|
||||
// const regencies = response.data.find(
|
||||
// (regency) => regency.id === parseInt(land.regency_code)
|
||||
// );
|
||||
|
||||
// regencyEditVal.setChoices([
|
||||
// {
|
||||
// value: regencies.id,
|
||||
// label: regencies.name,
|
||||
// selected: true,
|
||||
// disabled: true,
|
||||
// },
|
||||
// ]);
|
||||
|
||||
// if (Array.isArray(dataRegencies)) {
|
||||
// regencyEditVal.setChoices(
|
||||
// dataRegencies.map((regency) => ({
|
||||
// value: regency.id,
|
||||
// label: regency.name,
|
||||
// selected: false,
|
||||
// disabled: false,
|
||||
// }))
|
||||
// );
|
||||
// } else {
|
||||
// mapEditConatiner.style.display = "block";
|
||||
// mapEditConatiner.innerHTML =
|
||||
// "<p class='text-center text-muted'>Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi</p>";
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
// });
|
||||
|
||||
// $.ajax({
|
||||
// type: "GET",
|
||||
// url: "/location/get-district/" + land.regency_code,
|
||||
// success: function (response) {
|
||||
// if (response.success) {
|
||||
// const dataDistricts = response.data;
|
||||
// const districts = response.data.find(
|
||||
// (district) =>
|
||||
// district.id === parseInt(land.district_code)
|
||||
// );
|
||||
|
||||
// districtEditVal.setChoices([
|
||||
// {
|
||||
// value: districts.id,
|
||||
// label: districts.name,
|
||||
// selected: true,
|
||||
// disabled: true,
|
||||
// },
|
||||
// ]);
|
||||
|
||||
// if (Array.isArray(dataDistricts)) {
|
||||
// districtEditVal.setChoices(
|
||||
// dataDistricts.map((district) => ({
|
||||
// value: district.id,
|
||||
// label: district.name,
|
||||
// selected: false,
|
||||
// disabled: false,
|
||||
// }))
|
||||
// );
|
||||
// } else {
|
||||
// mapEditConatiner.style.display = "block";
|
||||
// mapEditConatiner.innerHTML =
|
||||
// "<p class='text-center text-muted'>Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi</p>";
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
// });
|
||||
|
||||
// addressEditContainer.style.display = "block";
|
||||
// addressEditField.value = land.address;
|
||||
|
||||
// mapEdit.setView([land.latitude, land.longitude], 16);
|
||||
// currentMarkerEdit
|
||||
// .setLatLng([land.latitude, land.longitude])
|
||||
// .openPopup();
|
||||
|
||||
// latEditField.value = land.latitude;
|
||||
// lngEditField.value = land.longitude;
|
||||
// polygonField.value = land.polygon;
|
||||
|
||||
// if (userRole === "admin") {
|
||||
// formEdit.action = "/data-lahan/" + land.id;
|
||||
// } else {
|
||||
// formEdit.action = "/data-lahan-petugas/" + land.id;
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.log(error);
|
||||
// }
|
||||
// }
|
||||
|
||||
function handleDrawCreated(e) {
|
||||
var layer = e.layer;
|
||||
drawnItems.addLayer(layer);
|
||||
|
@ -468,6 +351,10 @@ function handleDrawEdited(e) {
|
|||
});
|
||||
}
|
||||
|
||||
function handleDrawDeleted(e) {
|
||||
polygonField.value = "";
|
||||
}
|
||||
|
||||
function onPointerDragend() {
|
||||
if (!currentMarkerEdit) return;
|
||||
var coordinates = currentMarkerEdit.getLatLng();
|
||||
|
|
|
@ -136,9 +136,9 @@ class="needs-validation" novalidate>
|
|||
|
||||
<div class="mt-3">
|
||||
<input type="hidden" name="lat" id="lat-edit" class="form-control"
|
||||
readonly>
|
||||
value="{{ $land->latitude }}" readonly>
|
||||
<input type="hidden" name="lng" id="lng-edit" class="form-control"
|
||||
readonly>
|
||||
value="{{ $land->longitude }}" readonly>
|
||||
|
||||
<input type="hidden" name="polygon" id="polygon-edit" class="form-control"
|
||||
readonly>
|
||||
|
|
|
@ -1,24 +1,6 @@
|
|||
@extends('layouts.app')
|
||||
@push('title', 'Data Lahan')
|
||||
@section('content')
|
||||
@push('other-css')
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
||||
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
|
||||
|
||||
<style>
|
||||
#map {
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
#map-edit {
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
<div class="page-content">
|
||||
<div class="container-fluid">
|
||||
|
||||
|
@ -52,7 +34,7 @@
|
|||
<div class="row g-4 mb-3">
|
||||
<div class="col-sm-auto">
|
||||
<div>
|
||||
<a href="{{ route('master_data.lahan.create') }}"
|
||||
<a href="{{ Auth::user()->role == 'admin' ? route('master_data.lahan.create') : route('lahan.create') }}"
|
||||
class="btn btn-success add-btn" id="create-btn"><i
|
||||
class="ri-add-line align-bottom me-1"></i>
|
||||
Tambah</a>
|
||||
|
@ -97,9 +79,6 @@ class="fw-medium link-primary">#VZ2101</a></td>
|
|||
<div class="edit">
|
||||
<a href="{{ route('master_data.lahan.edit', $land->id) }}"
|
||||
class="btn btn-sm btn-warning edit-item-btn">Edit</a>
|
||||
{{-- <button class="btn btn-sm btn-warning edit-item-btn"
|
||||
data-bs-toggle="modal" data-bs-target="#editModal"
|
||||
onclick="updateData({{ json_encode(['land' => $land, 'role' => Auth::user()->role]) }})">Edit</button> --}}
|
||||
</div>
|
||||
<div class="remove">
|
||||
<button class="btn btn-sm btn-danger remove-item-btn"
|
||||
|
@ -144,166 +123,6 @@ class="btn btn-sm btn-warning edit-item-btn">Edit</a>
|
|||
</div>
|
||||
<!-- end row -->
|
||||
|
||||
{{-- edit modal --}}
|
||||
{{-- <div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-light p-3">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Edit Data Lahan</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
|
||||
id="close-modal"></button>
|
||||
</div>
|
||||
<form id="edit-form" action="" method="POST" class="needs-validation" novalidate>
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="mb-3" id="modal-id" style="display: none;">
|
||||
<label for="id-field" class="form-label">ID</label>
|
||||
<input type="text" id="id-field" class="form-control" placeholder="ID"
|
||||
readonly />
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="owner-edit-field" class="form-label">Pemilik Lahan</label>
|
||||
<input type="text" id="owner-edit-field" class="form-control" name="owner"
|
||||
value="{{ old('owner') }}" placeholder="Masukan Nama Pemilik Lahan" required />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Nama Pemilik Lahan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="nohp-edit-field" class="form-label">Nomor HP</label>
|
||||
<input type="text" id="nohp-edit-field" class="form-control" name="nohp"
|
||||
value="{{ old('nohp') }}" placeholder="Masukan Nomor HP" required
|
||||
oninput="validatePhoneNumber(this)" />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Nomor HP
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="rentalprice-edit-field" class="form-label">Harga Sewa</label>
|
||||
<input type="text" id="rentalprice-edit-field" class="form-control"
|
||||
name="rental_price" value="{{ old('rental_price') }}"
|
||||
placeholder="Masukan Harga Sewa" required oninput="validatePrice(this)" />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Harga Sewa
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="mb-3">
|
||||
<label for="rentalstart-edit-field" class="form-label">Mulai Dari</label>
|
||||
<input type="date" id="rentalstart-edit-field" class="form-control"
|
||||
name="rental_start" value="{{ old('rental_start') }}"
|
||||
min="{{ date('Y-m-d') }}" placeholder="Masukan Tanggal Mulai" required />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Tanggal Mulai
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="mb-3">
|
||||
<label for="rentaluntil-edit-field" class="form-label">Sampai</label>
|
||||
<input type="date" id="rentaluntil-edit-field" class="form-control"
|
||||
name="rental_until" value="{{ old('rental_start') }}"
|
||||
min="{{ date('Y-m-d') }}" placeholder="Masukan Tanggal Sampai"
|
||||
required />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Tanggal Sampai
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="landname-edit-field" class="form-label">Nama Lahan</label>
|
||||
<input type="text" id="landname-edit-field" class="form-control" name="land_name"
|
||||
value="{{ old('land_name') }}" placeholder="Masukan Nama Lahan" required />
|
||||
<div class="invalid-feedback">
|
||||
Masukan Nama Lahan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="province-edit-field" class="form-label">Provinsi</label>
|
||||
<select name="province_id" id="province-edit-field" class="form-control" required
|
||||
onchange="getRegencies(this.value)">
|
||||
<option value="" selected disabled>Pilih Provinsi</option>
|
||||
@foreach ($provinces as $province)
|
||||
<option value="{{ $province->id }}"
|
||||
{{ old('province_id') == $province->id ? 'selected' : '' }}>
|
||||
{{ $province->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">
|
||||
Harap Pilih Provinsi
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3" id="regency-edit-container">
|
||||
<label for="regency-edit-field" class="form-label">Kabupaten atau Kota</label>
|
||||
<select name="regency_id" id="regency-edit-field" class="form-control" required
|
||||
onchange="getDistricts(this.value)">
|
||||
<option value="" selected disabled>Pilih Kabupaten atau Kota</option>
|
||||
</select>
|
||||
<div class="invalid-feedback">
|
||||
Harap Pilih Kabupaten atau Kota
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3" id="district-edit-container">
|
||||
<label for="district-edit-field" class="form-label">Kecamatan</label>
|
||||
<select name="district_id" id="district-edit-field" class="form-control" required
|
||||
onchange="showmap(this.value)">
|
||||
<option value="" selected disabled>Pilih Kecamatan</option>
|
||||
</select>
|
||||
<div class="invalid-feedback">
|
||||
Harap Pilih Kecamatan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="loading-edit" class="text-center" style="display: none">
|
||||
<div class="spinner-border text-primary" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3" id="address-edit-container" style="display: none">
|
||||
<label for="address-edit-field" class="form-label">Alamat</label>
|
||||
<textarea name="address" id="address-edit-field" rows="3" class="form-control"
|
||||
placeholder="Masukan Alamat, cnth: Jl. Jend. Sudirman No. 12" required></textarea>
|
||||
<div class="invalid-feedback">
|
||||
Masukan Alamat
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="map-edit-container">
|
||||
<label for="map-edit" class="form-label">Lokasi</label>
|
||||
<div id="map-edit"></div>
|
||||
|
||||
<div class="mt-3">
|
||||
<input type="hidden" name="lat" id="lat-edit" class="form-control"
|
||||
readonly>
|
||||
<input type="hidden" name="lng" id="lng-edit" class="form-control"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer" id="edit-footer">
|
||||
<div class="hstack gap-2 justify-content-end">
|
||||
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Tutup</button>
|
||||
<button type="submit" class="btn btn-success" id="edit-btn">Update</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade zoomIn" id="deleteRecordModal" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
|
@ -315,8 +134,7 @@ class="btn btn-sm btn-warning edit-item-btn">Edit</a>
|
|||
<div class="modal-body">
|
||||
<div class="mt-2 text-center">
|
||||
<lord-icon src="https://cdn.lordicon.com/gsqxdxog.json" trigger="loop"
|
||||
colors="primary:#25a0e2,secondary:#00bd9d"
|
||||
style="width:100px;height:100px"></lord-icon>
|
||||
colors="primary:#25a0e2,secondary:#00bd9d" style="width:100px;height:100px"></lord-icon>
|
||||
<div class="mt-4 pt-2 fs-15 mx-4 mx-sm-5">
|
||||
<h4>Anda yakin ?</h4>
|
||||
<p class="text-muted mx-4 mb-0">Anda yakin akan menghapus data ini ?</p>
|
||||
|
|
|
@ -128,6 +128,7 @@
|
|||
|
||||
Route::prefix('data-lahan-petugas')->controller(LandController::class)->name('lahan.')->group(function () {
|
||||
Route::get('/', 'index')->name('index');
|
||||
Route::get('/tambah', 'create')->name('create');
|
||||
Route::post('/', 'store')->name('store');
|
||||
Route::put('/{id}', 'update')->name('update');
|
||||
Route::delete('/{id}', 'destroy')->name('destroy');
|
||||
|
|
Loading…
Reference in New Issue