diff --git a/projek_pkl/app/Http/Controllers/DashboardController.php b/projek_pkl/app/Http/Controllers/DashboardController.php index fe939e0..21a3b68 100644 --- a/projek_pkl/app/Http/Controllers/DashboardController.php +++ b/projek_pkl/app/Http/Controllers/DashboardController.php @@ -19,5 +19,11 @@ class DashboardController extends Controller return view('dashboard.sections.karyawan', compact('karyawan')); } + public function jabatan() + { + $jabatans = Jabatan::all(); // atau [] jika tidak ada data + return view('dashboard.sections.jabatan', compact('jabatans')); + } + } diff --git a/projek_pkl/app/Http/Controllers/JabatanController.php b/projek_pkl/app/Http/Controllers/JabatanController.php new file mode 100644 index 0000000..8d89283 --- /dev/null +++ b/projek_pkl/app/Http/Controllers/JabatanController.php @@ -0,0 +1,54 @@ +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.']); + } +} \ No newline at end of file diff --git a/projek_pkl/resources/views/dashboard/sections/jabatan.blade.php b/projek_pkl/resources/views/dashboard/sections/jabatan.blade.php new file mode 100644 index 0000000..dce94d5 --- /dev/null +++ b/projek_pkl/resources/views/dashboard/sections/jabatan.blade.php @@ -0,0 +1,270 @@ +@extends('layouts.app') + +@section('title', 'Data Jabatan') + + + +@section('content') +
+

Data Jabatan

+ +
+
+ +
+
+
+ + + + + + + + + + @foreach($jabatans as $key => $jabatan) + + + + + + @endforeach + +
NoNama JabatanAksi
{{ $key + 1 }}{{ $jabatan->jabatan }} + + +
+
+
+
+
+ + +@endsection + +@push('scripts') + + + +@endpush diff --git a/projek_pkl/resources/views/layouts/app.blade.php b/projek_pkl/resources/views/layouts/app.blade.php index 54f3fcd..bd22bae 100644 --- a/projek_pkl/resources/views/layouts/app.blade.php +++ b/projek_pkl/resources/views/layouts/app.blade.php @@ -35,6 +35,10 @@ + + + + @stack('scripts') diff --git a/projek_pkl/resources/views/layouts/sidebar.blade.php b/projek_pkl/resources/views/layouts/sidebar.blade.php index 8add727..7367efb 100644 --- a/projek_pkl/resources/views/layouts/sidebar.blade.php +++ b/projek_pkl/resources/views/layouts/sidebar.blade.php @@ -22,6 +22,12 @@ + +