From c8f90866caaed15de57b8d61070be59b63c94016 Mon Sep 17 00:00:00 2001 From: Novy San87 Date: Thu, 6 Aug 2026 21:57:18 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20hapus=20akun=20wali=20murid=20=E2=80=94?= =?UTF-8?q?=20tombol=20Hapus=20+=20konfirmasi=20Swal,=20hapus=20user=20+?= =?UTF-8?q?=20tautan=20anak=20+=20perangkat=20(data=20siswa=20aman)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/WaliMuridController.php | 16 +++++++ resources/views/parents/index.blade.php | 42 ++++++++++++++++--- routes/web.php | 1 + 3 files changed, 54 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/WaliMuridController.php b/app/Http/Controllers/Admin/WaliMuridController.php index 9943783..716b524 100644 --- a/app/Http/Controllers/Admin/WaliMuridController.php +++ b/app/Http/Controllers/Admin/WaliMuridController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\ParentStudent; use App\Models\User; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; @@ -45,4 +46,19 @@ class WaliMuridController extends Controller return view('parents.index', compact('users', 'total', 'totalAktif', 'pending', 'baruMingguIni')); } + + /** + * Hapus akun wali murid beserta tautan anak & perangkatnya. + * Hanya akun role=parent yang boleh dihapus lewat sini. + */ + public function destroy(int $userId): RedirectResponse + { + $user = User::where('role', 'parent')->findOrFail($userId); + + $user->parentDevices()->delete(); + $user->parentStudents()->delete(); + $user->delete(); + + return back()->with('success', 'Akun wali "' . $user->name . '" beserta tautan & perangkatnya telah dihapus.'); + } } diff --git a/resources/views/parents/index.blade.php b/resources/views/parents/index.blade.php index 700d74e..ac82905 100644 --- a/resources/views/parents/index.blade.php +++ b/resources/views/parents/index.blade.php @@ -254,11 +254,18 @@ - +
+ + +
@endforeach @@ -274,6 +281,31 @@ @push('scripts')