Update komoditas Utama
This commit is contained in:
@@ -27,10 +27,10 @@ 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'],
|
||||
'is_utama' => ['nullable', 'boolean'],
|
||||
], [
|
||||
'nama.unique' => 'Nama komoditas ini sudah ada di database.',
|
||||
'kode.unique' => 'Kode komoditas ini sudah ada di database.',
|
||||
@@ -44,6 +44,7 @@ class KomoditasController extends Controller
|
||||
Komoditas::create([
|
||||
'nama' => $request->nama,
|
||||
'kode' => $request->kode,
|
||||
'is_utama' => $request->is_utama,
|
||||
'created_by' => auth()->id(),
|
||||
'updated_by' => auth()->id(),
|
||||
]);
|
||||
@@ -61,7 +62,8 @@ class KomoditasController extends Controller
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'nama' => ['required', 'string', 'max:255', 'unique:master_komoditas,nama,' . $id],
|
||||
'kode' => ['required', 'string', 'max:2', 'unique:master_komoditas,kode'],
|
||||
'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(),
|
||||
]);
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ class Komoditas extends Model
|
||||
|
||||
protected $table = 'master_komoditas';
|
||||
|
||||
protected $casts = [
|
||||
'is_utama' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'nama',
|
||||
'kode',
|
||||
|
||||
@@ -14,6 +14,33 @@
|
||||
<label class="form-label" for="add-kode">Kode Komoditas<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="add-kode" name="kode" placeholder="Cth: KP" />
|
||||
</div>
|
||||
<div class="mb-4 form-control-validation">
|
||||
<label class="form-label d-block">Komoditas Utama <span class="text-danger">*</span></label>
|
||||
<input type="hidden" name="is_utama" value="0">
|
||||
|
||||
<label class="switch switch-lg"><input type="checkbox" class="switch-input" id="add-is-utama" name="is_utama" value="1" @checked(old('is_utama', false))>
|
||||
|
||||
<span class="switch-toggle-slider">
|
||||
<span class="switch-on">
|
||||
<i class="icon-base ti tabler-check"></i>
|
||||
</span>
|
||||
|
||||
<span class="switch-off">
|
||||
<i class="icon-base ti tabler-x"></i>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="switch-label" id="add-is-utama-label">
|
||||
{{ old('is_utama', false) ? 'Komoditas Utama' : 'Tidak Termasuk' }}
|
||||
</span>
|
||||
</label>
|
||||
|
||||
@error('is_utama')
|
||||
<div class="invalid-feedback d-block">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Simpan</button>
|
||||
<button type="reset" class="btn btn-label-secondary" data-bs-dismiss="offcanvas">Batal</button>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<div class="offcanvas-body mx-0 flex-grow-0 p-6 h-100">
|
||||
<form id="editKomoditasForm" class="pt-0" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<input type="hidden" name="_method" value="PUT">
|
||||
<input type="hidden" id="edit-id" name="id">
|
||||
|
||||
@@ -17,6 +18,35 @@
|
||||
<label class="form-label" for="edit-kode">Kode Komoditas<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="edit-kode" name="kode" />
|
||||
</div>
|
||||
<div class="mb-4 form-control-validation">
|
||||
<label class="form-label d-block" for="edit-is-utama">Komoditas Utama <span class="text-danger">*</span></label>
|
||||
|
||||
<input type="hidden" name="is_utama" value="0">
|
||||
|
||||
<label class="switch switch-lg">
|
||||
<input
|
||||
type="checkbox"
|
||||
class="switch-input"
|
||||
id="edit-is-utama"
|
||||
name="is_utama"
|
||||
value="1"
|
||||
>
|
||||
|
||||
<span class="switch-toggle-slider">
|
||||
<span class="switch-on">
|
||||
<i class="icon-base ti tabler-check"></i>
|
||||
</span>
|
||||
|
||||
<span class="switch-off">
|
||||
<i class="icon-base ti tabler-x"></i>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="switch-label" id="edit-is-utama-label">
|
||||
Tidak Termasuk
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="submit" class="btn btn-primary me-sm-3 me-1 data-submit">Update</button>
|
||||
<button type="reset" class="btn btn-label-secondary" data-bs-dismiss="offcanvas">Batal</button>
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -13,6 +13,10 @@
|
||||
<label class="form-label" for="view-kode">Kode Komoditas</label>
|
||||
<input type="text" class="form-control bg-lighter" id="view-kode" readonly />
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
<label class="form-label" for="view-is-utama">Komoditas Utama</label>
|
||||
<input type="text" class="form-control bg-lighter" id="view-is-utama" readonly>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="button" class="btn btn-label-secondary d-grid w-100" data-bs-dismiss="offcanvas">Tutup</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user