From a79a93d291ececc13fb524899ceef052290441fa Mon Sep 17 00:00:00 2001 From: ahmadafriadi Date: Wed, 15 Jul 2026 11:30:10 +0700 Subject: [PATCH] Update komoditas Utama --- .../Web/Master/KomoditasController.php | 21 +++++----- app/Models/Pertanian/Komoditas.php | 4 ++ .../views/master/komoditas/add.blade.php | 27 +++++++++++++ .../views/master/komoditas/edit.blade.php | 30 ++++++++++++++ .../views/master/komoditas/index.blade.php | 39 ++++++++++++++++++- .../views/master/komoditas/view.blade.php | 4 ++ 6 files changed, 115 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Web/Master/KomoditasController.php b/app/Http/Controllers/Web/Master/KomoditasController.php index b4f2938..3f599f6 100644 --- a/app/Http/Controllers/Web/Master/KomoditasController.php +++ b/app/Http/Controllers/Web/Master/KomoditasController.php @@ -27,14 +27,14 @@ class KomoditasController extends Controller public function store(Request $request) { - // dd($request->all()); $validator = Validator::make($request->all(), [ - 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama'], - 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'], + 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama'], + 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'], + 'is_utama' => ['nullable', 'boolean'], ], [ - 'nama.unique' => 'Nama komoditas ini sudah ada di database.', - 'kode.unique' => 'Kode komoditas ini sudah ada di database.', - 'kode.max' => 'Kode komoditas maksimal 2 Digit.' + 'nama.unique' => 'Nama komoditas ini sudah ada di database.', + 'kode.unique' => 'Kode komoditas ini sudah ada di database.', + 'kode.max' => 'Kode komoditas maksimal 2 Digit.' ]); if ($validator->fails()) { @@ -43,7 +43,8 @@ class KomoditasController extends Controller Komoditas::create([ 'nama' => $request->nama, - 'kode' => $request->kode, + 'kode' => $request->kode, + 'is_utama' => $request->is_utama, 'created_by' => auth()->id(), 'updated_by' => auth()->id(), ]); @@ -60,8 +61,9 @@ class KomoditasController extends Controller public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ - 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama,' . $id], - 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'], + 'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama,' . $id], + 'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode,' . $id], + 'is_utama' => ['nullable', 'boolean'], ], [ 'nama.unique' => 'Nama komoditas ini sudah ada di database.', 'kode.unique' => 'Kode komoditas ini sudah ada di database.', @@ -76,6 +78,7 @@ class KomoditasController extends Controller $komoditas->update([ 'nama' => $request->nama, 'kode' => $request->kode, + 'is_utama' => $request->is_utama, 'updated_by' => auth()->id(), ]); diff --git a/app/Models/Pertanian/Komoditas.php b/app/Models/Pertanian/Komoditas.php index 6bd810a..53b992c 100644 --- a/app/Models/Pertanian/Komoditas.php +++ b/app/Models/Pertanian/Komoditas.php @@ -16,6 +16,10 @@ class Komoditas extends Model protected $table = 'master_komoditas'; + protected $casts = [ + 'is_utama' => 'boolean', + ]; + protected $fillable = [ 'nama', 'kode', diff --git a/resources/views/master/komoditas/add.blade.php b/resources/views/master/komoditas/add.blade.php index 4c4f241..179b842 100644 --- a/resources/views/master/komoditas/add.blade.php +++ b/resources/views/master/komoditas/add.blade.php @@ -14,6 +14,33 @@ +
+ + + + + + @error('is_utama') +
+ {{ $message }} +
+ @enderror +
diff --git a/resources/views/master/komoditas/edit.blade.php b/resources/views/master/komoditas/edit.blade.php index a49dc3c..b1e374a 100644 --- a/resources/views/master/komoditas/edit.blade.php +++ b/resources/views/master/komoditas/edit.blade.php @@ -6,6 +6,7 @@
@csrf + @method('PUT') @@ -17,6 +18,35 @@
+
+ + + + + +
diff --git a/resources/views/master/komoditas/index.blade.php b/resources/views/master/komoditas/index.blade.php index e251ea4..0cdad51 100644 --- a/resources/views/master/komoditas/index.blade.php +++ b/resources/views/master/komoditas/index.blade.php @@ -147,6 +147,18 @@ $('#edit-id').val(res.data.id); $('#edit-nama').val(res.data.nama); $('#edit-kode').val(res.data.kode); + + const isUtama = + res.data.is_utama === true || + res.data.is_utama === 1 || + res.data.is_utama === '1'; + + $('#edit-is-utama').prop('checked', isUtama); + + $('#edit-is-utama-label').text( + isUtama ? 'Komoditas Utama' : 'Tidak Termasuk' + ); + if (typeof fvEdit !== 'undefined') fvEdit.resetForm(); offcanvasEdit.show(); } @@ -170,6 +182,14 @@ if (res.status === 'success') { $('#view-nama').val(res.data.nama); $('#view-kode').val(res.data.kode); + const isUtama = + res.data.is_utama === true || + res.data.is_utama === 1 || + res.data.is_utama === '1'; + + $('#view-is-utama').val( + isUtama ? 'Komoditas Utama' : 'Tidak Termasuk' + ); offcanvasView.show(); } }).fail((xhr) => { @@ -181,7 +201,9 @@ const editForm = document.getElementById('editKomoditasForm'); let fvEdit = FormValidation.formValidation(editForm, { - fields: { nama: { validators: { notEmpty: { message: 'Nama komoditas wajib diisi' } } } }, + fields: { nama: { validators: { notEmpty: { message: 'Nama komoditas wajib diisi' } } } , + kode: {validators: { notEmpty: { message: 'Kode komoditas wajib diisi' } } } + }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap5: new FormValidation.plugins.Bootstrap5({ eleValidClass: '', rowSelector: '.form-control-validation' }), @@ -249,5 +271,20 @@ }); }); }); + + document.addEventListener('DOMContentLoaded', function () { + const switchInput = document.getElementById('add-is-utama'); + const switchLabel = document.getElementById('add-is-utama-label'); + + function updateKomoditasLabel() { + switchLabel.textContent = switchInput.checked + ? 'Komoditas Utama' + : 'Tidak Termasuk'; + } + + switchInput.addEventListener('change', updateKomoditasLabel); + + updateKomoditasLabel(); + }); @endpush \ No newline at end of file diff --git a/resources/views/master/komoditas/view.blade.php b/resources/views/master/komoditas/view.blade.php index 9fcde1e..b450496 100644 --- a/resources/views/master/komoditas/view.blade.php +++ b/resources/views/master/komoditas/view.blade.php @@ -13,6 +13,10 @@
+
+ + +