<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Auth; use App\Models\ref_pegawais; class UserEvaluasiController extends Controller { public function index() { return view(view: 'menuumum.evaluasipasca.homepage'); } public function login(Request $request) { $request->validate([ 'nip' => 'required', 'role' => 'required' ]); // Ambil data pegawai berdasarkan NIP $pegawai = ref_pegawais::where('nip', $request->nip)->first(); if (!$pegawai) { return response()->json(['success' => false, 'message' => 'NIP tidak ditemukan.']); } // Cek apakah role sesuai dengan yang dipilih user if ($pegawai->role !== $request->role) { return response()->json(['success' => false, 'message' => 'Role tidak sesuai.']); } // Simpan user ke session session([ 'user_id' => $pegawai->id, 'user_nip' => $pegawai->nip, 'user_role' => $pegawai->role, 'user_name' => $pegawai->nama // Simpan nama di session ]); // Redirect sesuai role $redirectUrl = match ($pegawai->role) { 'alumni' => route('dashboard.alumni'), 'atasan' => route('dashboard.atasan'), 'rekan' => route('dashboard.rekan'), default => route('home'), }; return response()->json(['success' => true, 'redirect' => $redirectUrl]); } public function logout() { session()->flush(); // Menghapus semua session return redirect('/'); } public function alumni() { // Pastikan user sudah login dengan sesi yang valid if (!session()->has('user_nip')) { return redirect()->route('login')->with('error', 'Silakan login terlebih dahulu.'); } // Ambil data pegawai berdasarkan NIP dari session $nip = session('user_nip'); $ref_pegawai = ref_pegawais::where('nip', $nip)->first(); if (!$ref_pegawai) { return redirect()->route('home')->with('error', 'Data alumni tidak ditemukan.'); } // Kirim ke view dengan nama variabel yang sama return view('menuumum.evaluasipasca.dashboard.alumni', compact('ref_pegawai')); } public function atasan() { return view('menuumum.evaluasipasca.dashboard.atasan', ['role' => 'atasan']); } public function rekan() { return view('menuumum.evaluasipasca.dashboard.rekan', ['role' => 'rekan']); } }