1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
namespace App\Http\Controllers\Admin\Evaluasi;
use App\Models\Pelatihan;
use App\Models\Alumni;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AlumniAdminController extends Controller
{
// Menampilkan daftar pelatihan dengan pencarian
public function index(Request $request)
{
$search = $request->input('search');
$pelatihan_5_pascadiklatalumni = Alumni::when($search, function ($query, $search) {
return $query->where('nama_pelatihan', 'LIKE', "%{$search}%")
->orWhere('jenis_pelatihan', 'LIKE', "%{$search}%")
->orWhere('penyelenggara_pelatihan', 'LIKE', "%{$search}%");
})
->orderBy('created_at', 'desc')
->paginate(10);
return view('admin.evaluasi.alumni', compact('pelatihan_5_pascadiklatalumni'));
}
// Menampilkan form tambah pelatihan
public function create()
{
return view('admin.evaluasi.createlumni');
}
// Menyimpan data pelatihan baru
public function store(Request $request)
{
$request->validate([
'nama' => 'required|string|max:255',
'pangkat_golongan' => 'required|string|max:255',
'jabatan' => 'required|string|max:255',
'unitkerja' => 'required|string|max:255',
'pelaksanaan_pelatihan' => 'required|string|max:255',
'jenis_pelatihan' => 'required|string|max:255',
'nama_pelatihan' => 'required|string|max:255',
'penyelenggara_pelatihan' => 'required|string|max:255',
'tanggal_pelatihan' => 'required|date',
'selesai_pelatihan' => 'required|date',
'biaya' => 'required|string|max:255',
'laporan' => 'required|string|max:255',
'hasil_pelatihan' => 'required|in:lulus,tidak lulus',
'Status_peserta' => 'required|in:Alumni,Non Alumni',
]);
Alumni::create($request->all());
return redirect()->route('evaluasi.alumni')->with('success', 'Data pelatihan berhasil disimpan.');
}
// Menampilkan form edit pelatihan
public function edit($id)
{
$pelatihan_5_pascadiklatalumni = Alumni::findOrFail($id);
return view('admin.evaluasi.editalumni', compact('pelatihan_5_pascadiklatalumni'));
}
// Memperbarui data pelatihan
public function update(Request $request, $id)
{
$request->validate([
'nama' => 'required|string|max:255',
'pangkat_golongan' => 'required|string|max:255',
'jabatan' => 'required|string|max:255',
'unitkerja' => 'required|string|max:255',
'pelaksanaan_pelatihan' => 'required|string|max:255',
'jenis_pelatihan' => 'required|string|max:255',
'nama_pelatihan' => 'required|string|max:255',
'penyelenggara_pelatihan' => 'required|string|max:255',
'tanggal_pelatihan' => 'required|date',
'selesai_pelatihan' => 'required|date',
'biaya' => 'required|string|max:255',
'laporan' => 'required|string|max:255',
'hasil_pelatihan' => 'required|in:lulus,tidak lulus',
'Status_peserta' => 'required|in:Alumni,Non Alumni',
]);
$pelatihan_5_pascadiklatalumni = Alumni::findOrFail($id);
$pelatihan_5_pascadiklatalumni->update($request->all());
return redirect()->route('evaluasi.alumni')->with('success', 'Data pelatihan berhasil diperbarui.');
}
// Menghapus data pelatihan
public function destroy($id)
{
$pelatihan_5_pascadiklatalumni = Alumni::findOrFail($id);
$pelatihan_5_pascadiklatalumni->delete();
return redirect()->route('evaluasi.alumni')->with('success', 'Data pelatihan berhasil dihapus.');
}
// Menampilkan detail pelatihan
public function view($id)
{
$pelatihan_5_pascadiklatalumni = Alumni::findOrFail($id);
return view('admin.evaluasi.viewalumni', compact('pelatihan_5_pascadiklatalumni'));
}
// Mengubah status pelatihan
public function toggleStatus($id)
{
$pelatihan_5_pascadiklatalumni = Alumni::findOrFail($id);
$pelatihan_5_pascadiklatalumni->Status_peserta = $pelatihan_5_pascadiklatalumni->Status_peserta == 'Alumni' ? 'Non Alumni' : 'Alumni';
$pelatihan_5_pascadiklatalumni->save();
return redirect()->back()->with('success', 'Status berhasil diubah.');
}
}