role != 'admin'){ abort(403); } return view('admin.user.create'); } // SIMPAN DATA public function store(Request $request) { if(Auth::user()->role != 'admin'){ abort(403); } $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users,email', 'password' => 'required|min:6', 'role' => 'required|in:rt' // 🔥 hanya boleh RT ]); // 🔥 VALIDASI TAMBAHAN (ANTI NAKAL) if ($request->role != 'rt') { return back()->with('error', 'Hanya boleh menambahkan role RT!'); } User::create([ 'name' => $request->name, 'email' => $request->email, 'username' => $request->email, // biar aman 'password' => bcrypt($request->password), 'role' => 'rt' ]); return redirect()->route('admin.user.index') ->with('success', 'User RT berhasil ditambahkan'); } // 🔥 FORM EDIT public function edit($id) { $user = \App\Models\User::findOrFail($id); return view('admin.user.edit', compact('user')); } // 🔥 UPDATE DATA public function update(Request $request, $id) { $user = \App\Models\User::findOrFail($id); $request->validate([ 'name' => 'required', 'email' => 'required|email', 'role' => 'required' ]); $user->update([ 'name' => $request->name, 'email' => $request->email, 'role' => $request->role, ]); return redirect()->route('admin.user.index')->with('success', 'Data berhasil diupdate'); } public function destroy($id) { $user = \App\Models\User::findOrFail($id); $user->delete(); return redirect()->route('admin.user.index')->with('success', 'User berhasil dihapus'); } }