route('home'); } return view('login'); } public function login(Request $request) { $rules = [ 'nrk' => 'required|string', 'password' => 'required|string' ]; $messages = [ 'nrk.required' => 'NRK wajib diisi', 'nrk.string' => 'NRK tidak valid', 'password.required' => 'Password wajib diisi', 'password.string' => 'Password harus berupa string' ]; $validator = Validator::make($request->all(), $rules, $messages); if($validator->fails()){ return redirect()->back()->withErrors($validator)->withInput($request->all); } $data = [ 'nrk' => $request->input('nrk'), 'password' => $request->input('password'), ]; Auth::attempt($data); if (Auth::check()) { if (Auth::user()->status_lock == 1) { Auth::logout(); Session::flash('eror', 'Data Terkunci Silahkan Hubungi Admin'); return redirect()->route('login'); } // True sekalian session field di users nanti bisa dipanggil via Auth // Login Success $taValue = []; for($i=2022;$i<=date("Y");$i++){ $taValue[] = $i; } Session::put('listTA', $taValue); return redirect()->route('home'); } else { // False // Login Fail Session::flash('error', 'NRK atau password salah'); return redirect()->route('login'); } } public function showFormRegister() { return view('register'); } public function register(Request $request) { $rules = [ 'name' => 'required|min:3|max:35', 'nrk' => 'required|min:5|unique:users,nrk', 'password' => 'required|confirmed' ]; $messages = [ 'name.required' => 'Nama Lengkap wajib diisi', 'name.min' => 'Nama lengkap minimal 3 karakter', 'name.max' => 'Nama lengkap maksimal 35 karakter', 'nrk.required' => 'NRK wajib diisi', 'nrk.min' => 'NRK tidak valid', 'nrk.unique' => 'NRK sudah terdaftar', 'password.required' => 'Password wajib diisi', 'password.confirmed' => 'Password tidak sama dengan konfirmasi password' ]; $validator = Validator::make($request->all(), $rules, $messages); if($validator->fails()){ return redirect()->back()->withErrors($validator)->withInput($request->all); } $user = new User; $user->name = ucwords(strtolower($request->name)); $user->nrk = strtolower($request->nrk); $user->password = Hash::make($request->password); // $user->email_verified_at = \Carbon\Carbon::now(); $simpan = $user->save(); $roleUser = new RoleUser; $roleUser->role_id = 3; $roleUser->user_id = $user->id; $roleUser->save(); if($simpan){ Session::flash('success', 'Register berhasil! Silahkan login untuk mengakses data'); return redirect()->route('login'); } else { Session::flash('errors', ['' => 'Register gagal! Silahkan ulangi beberapa saat lagi']); return redirect()->route('register'); } } public function logout() { Auth::logout(); // menghapus session yang aktif return redirect()->route('login'); } }