54 lines
1.8 KiB
PHP
54 lines
1.8 KiB
PHP
<?php
|
|
|
|
// app/Http/Controllers/JabatanController.php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Jabatan;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class JabatanController extends Controller
|
|
{
|
|
// Menampilkan halaman utama Data Jabatan
|
|
public function index()
|
|
{
|
|
$jabatans = Jabatan::latest()->get();
|
|
return view('dashboard.sections.jabatan', compact('jabatans'));
|
|
}
|
|
|
|
// Menyimpan data jabatan baru
|
|
public function store(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), ['jabatan' => 'required|string|max:255|unique:jabatans']);
|
|
if ($validator->fails()) {
|
|
return response()->json(['errors' => $validator->errors()], 422);
|
|
}
|
|
$jabatan = Jabatan::create($request->only('jabatan'));
|
|
return response()->json(['success' => 'Data Jabatan berhasil ditambahkan.', 'data' => $jabatan]);
|
|
}
|
|
|
|
// Mengambil data spesifik untuk form edit
|
|
public function show(Jabatan $jabatan)
|
|
{
|
|
return response()->json($jabatan);
|
|
}
|
|
|
|
// Memperbarui data jabatan
|
|
public function update(Request $request, Jabatan $jabatan)
|
|
{
|
|
$validator = Validator::make($request->all(), ['jabatan' => 'required|string|max:255|unique:jabatans,jabatan,' . $jabatan->id]);
|
|
if ($validator->fails()) {
|
|
return response()->json(['errors' => $validator->errors()], 422);
|
|
}
|
|
$jabatan->update($request->only('jabatan'));
|
|
return response()->json(['success' => 'Data Jabatan berhasil diperbarui.', 'data' => $jabatan]);
|
|
}
|
|
|
|
// Menghapus data jabatan
|
|
public function destroy(Jabatan $jabatan)
|
|
{
|
|
$jabatan->delete();
|
|
return response()->json(['success' => 'Data Jabatan berhasil dihapus.']);
|
|
}
|
|
} |