middleware('guest')->except('logout'); }*/ public function __construct() { $this->middleware('guest', ['except' => 'destroy']); } public function create() { return view('auth.login.create'); } public function store() { // Attempt to login if (!auth()->attempt(request(['email', 'password']), request('remember', false))) { flash(trans('auth.failed'))->error(); return back(); } // Get user object $user = auth()->user(); // Check if user is enabled if (!$user->enabled) { $this->logout(); flash(trans('auth.disabled'))->error(); return redirect('auth/login'); } // Check if is customer if ($user->customer) { $path = session('url.intended', 'customers'); // Path must start with 'customers' prefix if (!str_contains($path, 'customers')) { $path = 'customers'; } return redirect($path); } // Check wizard if (!setting('general.wizard', false)) { return redirect('wizard'); } return redirect()->intended('/'); } public function destroy() { $this->logout(); return redirect('auth/login'); } public function logout() { auth()->logout(); // Session destroy is required if stored in database if (env('SESSION_DRIVER') == 'database') { $request = app('Illuminate\Http\Request'); $request->session()->getHandler()->destroy($request->session()->getId()); } } }