feat: reset presensi (attendances) di menu Reset

Menambahkan opsi 'Presensi' pada form reset aplikasi:
- Hapus seluruh data attendances (dari sync E-Jurnal & manual)
- Tampilkan jumlah data presensi di card
- Dapat dipilih terpisah dari pelanggaran
This commit is contained in:
Bro
2026-07-24 17:41:20 +07:00
parent a867b3a267
commit 5206e2396b
2 changed files with 16 additions and 1 deletions
@@ -18,6 +18,7 @@ class ResetController extends Controller
public function index(): View
{
$stats = [
'attendances' => DB::table('attendances')->count(),
'violations' => DB::table('violations')->count(),
'evidences' => DB::table('violation_evidences')->count(),
'handlings' => DB::table('violation_handlings')->count(),
@@ -41,7 +42,7 @@ class ResetController extends Controller
$request->validate([
'confirm_password' => ['required', 'string'],
'reset_items' => ['required', 'array', 'min:1'],
'reset_items.*' => ['in:violations,evidences,handlings,sp_letters,notifications,students,classes,categories,types,thresholds,settings,users,backups'],
'reset_items.*' => ['in:attendances,violations,evidences,handlings,sp_letters,notifications,students,classes,categories,types,thresholds,settings,users,backups'],
]);
if (!Hash::check($request->confirm_password, $request->user()->password)) {
@@ -74,6 +75,11 @@ class ResetController extends Controller
$cleared[] = 'Foto bukti';
}
if (in_array('attendances', $items)) {
DB::table('attendances')->delete();
$cleared[] = 'Presensi';
}
if (in_array('violations', $items)) {
DB::table('handling_participants')->delete();
DB::table('violation_handlings')->delete();