<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use App\Models\Admin;
class AdminLoginController extends Controller
{
use AuthenticatesUsers;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest:admin', ['except' => ['logout']]);
}
/**
* Show the application’s login form.
*
* @return \Illuminate\Http\Response
*/
public function showLoginForm()
{
return view('admin.auth.login');
}
protected function guard() {
return Auth::guard('admin');
}
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin';
protected $redirectAfterLogout = '/admin/login';
public function login(Request $request) {
// Validate the form data
$this->validate($request, [
'email' => 'required|email',
'password' => 'required|min:6'
]);
// Attempt to log the user in
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
if(Auth::guard('admin')->check()) {
if($admin = Admin::find(Auth::guard('admin')->user()->id)) {
$admin->timezone = $request->timezone ?? 'Asia/Kolkata';
$admin->save();
}
};
// if successful, then redirect to their intended location
return redirect()->intended(route('admin.dashboard'))->with('flash_success',tr('login_success'));
}
// if unsuccessful, then redirect back to the login with the form data
return redirect()->back()->withInput($request->only('email', 'remember'))->with('flash_error', tr('email_password_wrong'));
}
public function logout() {
Auth::guard('admin')->logout();
return redirect()->route('admin.login')->with('flash_success',tr('logout_successs'));
}
}