user(); // Jika user adalah admin, tampilkan view profil admin if ($user->role === 'admin' || $user->is_admin) { return view('admin.profile.index', [ 'user' => $user, ]); } // Jika user adalah siswa, tampilkan view profil bawaan return view('profile.edit', [ 'user' => $user, ]); } /** * Memperbarui Informasi Profil (Nama & Email) ke Database. */ public function update(Request $request) { $user = $request->user(); // Validasi input $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'.$user->id], ]); // Masukkan data baru ke model user $user->name = $request->name; $user->email = $request->email; // Jika email diubah, reset email_verified_at jika fitur verifikasi dipakai if ($user->isDirty('email')) { $user->email_verified_at = null; } // SIMPAN KE DATABASE $user->save(); return redirect()->route('profile.edit')->with('status', 'profile-updated'); } /** * Memperbarui Kata Sandi User ke Database. */ public function updatePassword(Request $request) { // Validasi password lama dan password baru $validated = $request->validate([ 'current_password' => ['required', 'current_password'], 'password' => ['required', 'confirmed', Password::defaults()], ]); // Simpan password baru yang sudah di-hash ke Database $request->user()->update([ 'password' => Hash::make($validated['password']), ]); return redirect()->route('profile.edit')->with('status', 'password-updated'); } }