Update Kriteria Menu

This commit is contained in:
yuliana dewi 2023-11-16 16:04:26 +07:00
parent cd1b751138
commit f571777b6e
5 changed files with 149 additions and 17 deletions

View File

@ -9,8 +9,22 @@ use DataTables;
class DataKriteriaController extends Controller
{
function index() {
return view('pages.data_kriteria.index');
function index(Request $request) {
$data_kriteria = Kriteria::get();
if ($request->ajax()) {
$fetchAll = DataTables::of($data_kriteria)
->addIndexColumn()
->addColumn('action', function ($data) {
return'
<a href="'. route('edit_kriteria',$data->id) .'" class="btn btn-warning btn-sm" >Edit</a>
<button class="btn btn-danger btn-sm" onclick="deleteData(`'. route('destroy_kriteria', $data->id) .'`)">Hapus </button>
';
})
->rawColumns(['action'])
->make(true);
return $fetchAll;
}
return view('pages.data_kriteria.index', compact('data_kriteria'));
}
function create() {
@ -18,14 +32,41 @@ class DataKriteriaController extends Controller
}
function store(Request $request) {
$validated = $request->validate([
$request->session()->flash('kode_kriteria', $request->kode_kriteria);
$request->session()->flash('nama_kriteria', $request->nama_kriteria);
$request->session()->flash('bobot_kriteria', $request->bobot_kriteria);
$data = $request->validate([
'kode_kriteria' => 'required|unique:mst_kriteria',
'nama_kriteria' => 'required',
'bobot_kriteria' => 'required',
],[
'kode_kriteria.required' => 'Kode Kriteria wajib diisi',
'kode_kriteria.unique' => 'Kode Kriteria sudah terpakai',
'nama_kriteria.required' => 'Nama Kriteria wajib diisi',
'bobot_kriteria.required' => 'Bobot Kriteria wajib diisi',
]);
Kriteria::create($validated);
return redirect('/data-kriteria')->with('success', 'Berhasil tambah pengguna baru.');
Kriteria::create($data);
return redirect('/data-kriteria')->with('success', 'Berhasil tambah kriteria baru.');
}
function edit($id) {
$kriteria = Kriteria::find($id);
return view('pages.data_kriteria.form',compact('kriteria'));
}
function update(Request $request, $id) {
$data = $request->validate([
'nama_kriteria' => 'required',
'bobot_kriteria' => 'required',
],[
'nama_kriteria.required' => 'Nama Kriteria wajib diisi',
'bobot_kriteria.required' => 'Bobot Kriteria wajib diisi',
]);
Kriteria::find($id)->update($data);
return redirect('/data-kriteria')->with('success', 'Data berhasil Update.');
}
function destroy($id) {

View File

@ -1,35 +1,58 @@
@extends('layout.master')
@section('title', 'Tambah Kriteria')
@if (!empty($kriteria))
@section('title', 'Edit Kriteria')
@else
@section('title', 'Tambah Kriteria')
@endif
@section('content')
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all(); as $item)
<li>{{ $item}}</li>
@endforeach
</ul>
</div>
@endif
<div class="card border-top-primary shadow mb-4">
<form action="{{ route('store_kriteria') }}" method="POST">
@if (!empty($kriteria))
<form action="{{ url('data-kriteria/update').$kriteria->id }}" method="POST">
@else
<form action="{{ url('data-kriteria/store') }}" method="POST">
@endif
@csrf
<input type="hidden" class="form-control" name="id" @if(!empty($kriteria)) value="{{ $kriteria->id }}" @endif>
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="">Kode Kriteria</label>
<input type="text" class="form-control" name="kode_kriteria">
<input type="text" class="form-control" name="kode_kriteria" @if(!empty($kriteria)) value="{{ $kriteria->kode_kriteria }}" disabled @endif>
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Nama Kriteria</label>
<input type="text" class="form-control" name="nama_kriteria">
<input type="text" class="form-control" name="nama_kriteria" @if(!empty($kriteria)) value="{{ $kriteria->nama_kriteria }}" @else value="{{ Session::get('nama_kriteria') }}" @endif>
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Bobot Kriteria</label>
<input type="number" class="form-control" name="bobot_kriteria">
<input type="number" class="form-control" name="bobot_kriteria" @if(!empty($kriteria)) value="{{ $kriteria->bobot_kriteria }}" @else value="{{ Session::get('bobot_kriteria') }}" @endif>
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
<div class="card-footer justify-content-between" style="display: flex">
<a href="{{ URL::previous() }}" class="btn btn-sm btn-warning">Kembali</a>
@if (!empty($kriteria))
<button class="btn btn-sm btn-primary">Update</button>
@else
<button class="btn btn-sm btn-primary">Tambah</button>
@endif
</div>
</form>
</div>

View File

@ -7,20 +7,25 @@
@endpush
@section('content')
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_kriteria') }}" class="btn btn-sm btn-primary">Tambah Kriteria</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<table class="table table-bordered" id="tabelKriteria" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th width="5%">Kode</th>
<th>Kriteria</th>
<th class="text-center" width="5%">Bobot</th>
<th class="text-center" width="30%">Action</th>
<th class="text-center" width="20%">Action</th>
</tr>
</thead>
<tbody></tbody>
@ -37,4 +42,64 @@
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
<script>
//TAMPIL DATA
let table;
table = $('#tabelKriteria').DataTable({
processing: true,
serverSide: true,
ajax:"{{ route('data_kriteria') }}",
"language": {
"emptyTable": "Data kriteria kosong."
},
columnDefs: [
{
targets: 4,
className: 'text-center'
}
],
columns:[
{data:'DT_RowIndex', name:'DT_RowIndex'},
{data:'kode_kriteria', name:'kode_kriteria'},
{data:'nama_kriteria', name:'nama_kriteria'},
{data:'bobot_kriteria', name:'bobot_kriteria'},
{data:'action', name:'action'},
],
});
function deleteData(url) {
Swal.fire({
title: 'Apakah anda yakin?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#28a745',
cancelButtonColor: '#dc3545',
confirmButtonText: 'Ya!',
cancelButtonText: 'Tidak'
}).then((result) => {
if (result.isConfirmed) {
$.post(url,{
'_token': $('[name=csrf-token]').attr('content'),
'_method': 'delete'
})
.done((response) => {
Swal.fire({
icon: 'success',
title: response,
timer: 2000
})
table.ajax.reload();
})
.fail((errors) => {
Swal.fire({
icon: 'error',
title: 'Data tidak dapat dihapus!',
})
return;
})
}
})
}
</script>
@endpush

View File

@ -8,11 +8,11 @@
@section('content')
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">

View File

@ -44,6 +44,9 @@ Route::middleware(['auth'])->group(function () {
Route::get('/', [DataKriteriaController::class, 'index'])->name('data_kriteria');
Route::get('/tambah', [DataKriteriaController::class, 'create'])->name('create_kriteria');
Route::post('/store', [DataKriteriaController::class, 'store'])->name('store_kriteria');
Route::get('/edit{id}', [DataKriteriaController::class, 'edit'])->name('edit_kriteria');
Route::post('/update{id}', [DataKriteriaController::class, 'update'])->name('update_kriteria');
Route::delete('/hapus/{id}', [DataKriteriaController::class, 'destroy'])->name('destroy_kriteria');
});
Route::prefix('data-pengguna')->group(function () {
Route::get('/', [UsersController::class, 'index'])->name('data_pengguna');