Viewing File: /home/ubuntu/vedadeals-backend-base/app/Http/Controllers/Admin/Auth/LoginController.php

<?php

namespace App\Http\Controllers\Admin\Auth;

use App\Http\Controllers\Controller;

use App\Providers\RouteServiceProvider;

use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Illuminate\Support\Facades\Auth;

use Illuminate\Http\Request;

use App\Models\{ Admin };

use Exception;

use Illuminate\Support\Str;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = "/dashboard";

    protected function guard() {
        
        return Auth::guard('admin');
    }

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest:admin')->except('logout');
    }

    public function showLoginForm() {

        return view('admin.auth.login');
    }

    public function login(Request $request) {

        try {

            if(Str::contains($request->password, ' ')) {

                throw new Exception(tr('space_not_allowed'));
            }

            if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password])) {

                $admin = Admin::find(Auth::guard('admin')->user()->id);

                $admin->timezone = $request->has('timezone') ? $request->timezone : '';
                
                $admin->save();

                // if successful, then redirect to dashboard.

                return redirect()->route('admin.dashboard')->with('flash_success', tr('login_success'));

            }
         
            // if unsuccessful, then redirect back to the login with error message.
         
            return back()->withInput()->with('flash_error', tr('email_password_not_match'));

        } catch(Exception $e) {

            return back()->withInput()->with('flash_error', $e->getMessage());
        }

        
    }

    public function logout(Request $request) {

        Auth::guard('admin')->logout();

        $request->session()->invalidate();

        $request->session()->regenerateToken();

        return redirect()->route('admin.login')->with('flash_success', tr('logout_success'));
    }


}
Back to Directory File Manager