100 lines
3.2 KiB
PHP
100 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Kriteria;
|
|
use App\Models\TipeKriteria;
|
|
use Illuminate\Http\Request;
|
|
|
|
class KriteriaController extends Controller
|
|
{
|
|
// Menampilkan daftar semua kriteria
|
|
public function index()
|
|
{
|
|
$kriterias = Kriteria::all();
|
|
return view('pages.kriteria.index', compact('kriterias'));
|
|
}
|
|
|
|
// Menampilkan form untuk membuat kriteria baru
|
|
public function create()
|
|
{
|
|
$tipeKriterias = TipeKriteria::all();
|
|
return view('pages.kriteria.create', compact('tipeKriterias'));
|
|
}
|
|
|
|
// Menyimpan kriteria baru ke dalam database
|
|
public function store(Request $request)
|
|
{
|
|
// Validasi input yang diterima dari formulir
|
|
$request->validate([
|
|
'nama' => 'required',
|
|
'kode' => 'required',
|
|
'tipe_kriteria_id' => 'required',
|
|
'bobot' => 'required|numeric',
|
|
],[
|
|
'nama.required' => 'Nama harus diisi.',
|
|
'kode.required' => 'Kode harus diisi.',
|
|
'tipe_kriteria_id.required' => 'Tipe kriteria harus diisi.',
|
|
'bobot.required' => 'Bobot harus diisi.',
|
|
'bobot.numeric' => 'Bobot harus berupa angka.',
|
|
]);
|
|
|
|
// Simpan kriteria baru ke dalam database
|
|
Kriteria::create($request->all());
|
|
|
|
// Redirect kembali ke halaman indeks kriteria dengan pesan sukses
|
|
return redirect()->route('kriteria.index')
|
|
->with('success', 'Kriteria berhasil ditambahkan.');
|
|
}
|
|
|
|
// Menampilkan form untuk mengedit kriteria yang ada
|
|
public function edit($id)
|
|
{
|
|
$kriteria = Kriteria::find($id);
|
|
$tipeKriterias = TipeKriteria::all();
|
|
return view('pages.kriteria.edit', compact('kriteria', 'tipeKriterias'));
|
|
}
|
|
|
|
// Mengupdate kriteria yang ada di dalam database
|
|
public function update(Request $request, $id)
|
|
{
|
|
// Validasi input yang diterima dari formulir
|
|
$request->validate([
|
|
'kode'=> 'required',
|
|
'nama' => 'required',
|
|
'tipe_kriteria_id' => 'required',
|
|
'bobot' => 'required|numeric',
|
|
],[
|
|
'nama.required' => 'Nama harus diisi.',
|
|
'kode.required' => 'Kode harus diisi.',
|
|
'tipe_kriteria_id.required' => 'Tipe kriteria harus diisi.',
|
|
'bobot.required' => 'Bobot harus diisi.',
|
|
'bobot.numeric' => 'Bobot harus berupa angka.',
|
|
]);
|
|
|
|
// Temukan kriteria yang akan diubah
|
|
$kriteria = Kriteria::find($id);
|
|
|
|
// Update data kriteria dengan data baru
|
|
$kriteria->update($request->all());
|
|
|
|
// Redirect kembali ke halaman indeks kriteria dengan pesan sukses
|
|
return redirect()->route('kriteria.index')
|
|
->with('success', 'Kriteria berhasil diubah');
|
|
}
|
|
|
|
// Menghapus kriteria dari database
|
|
public function destroy($id)
|
|
{
|
|
// Temukan kriteria yang akan dihapus
|
|
$kriteria = Kriteria::find($id);
|
|
|
|
// Hapus kriteria dari database
|
|
$kriteria->delete();
|
|
|
|
// Redirect kembali ke halaman indeks kriteria dengan pesan sukses
|
|
return redirect()->route('kriteria.index')
|
|
->with('success', 'Kriteria berhasil dihapus');
|
|
}
|
|
}
|