56 lines
1.4 KiB
PHP
56 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Satuan;
|
|
use Illuminate\Http\Request;
|
|
|
|
class SatuanController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$satuans = Satuan::orderBy('nama')->paginate(10);
|
|
return view('satuan.index', compact('satuans'));
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return view('satuan.create');
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'nama' => 'required|string|max:100|unique:satuans,nama',
|
|
'keterangan' => 'nullable|string|max:255',
|
|
]);
|
|
|
|
Satuan::create($validated);
|
|
|
|
return redirect()->route('satuan.index')->with('success', 'Satuan berhasil ditambahkan');
|
|
}
|
|
|
|
public function edit(Satuan $satuan)
|
|
{
|
|
return view('satuan.edit', compact('satuan'));
|
|
}
|
|
|
|
public function update(Request $request, Satuan $satuan)
|
|
{
|
|
$validated = $request->validate([
|
|
'nama' => 'required|string|max:100|unique:satuans,nama,' . $satuan->id,
|
|
'keterangan' => 'nullable|string|max:255',
|
|
]);
|
|
|
|
$satuan->update($validated);
|
|
|
|
return redirect()->route('satuan.index')->with('success', 'Satuan berhasil diperbarui');
|
|
}
|
|
|
|
public function destroy(Satuan $satuan)
|
|
{
|
|
$satuan->delete();
|
|
return redirect()->route('satuan.index')->with('success', 'Satuan berhasil dihapus');
|
|
}
|
|
}
|