bug fixes and new additions
This commit is contained in:
@@ -5,6 +5,9 @@ namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models;
|
||||
use Spatie\Activitylog\Models\Activity;
|
||||
use Illuminate\Support\Str;
|
||||
use App\Jobs\SendOtpEmailAlert;
|
||||
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
@@ -15,33 +18,113 @@ class LoginController extends Controller
|
||||
];
|
||||
return view('login.index', $data);
|
||||
}
|
||||
public function resendOtp(){
|
||||
if(!request()->session()->has('current_otpuser')){
|
||||
return redirect(url('login'))->withErrors("No session found. You need to be logged in!");
|
||||
}
|
||||
$otp_code = Str::random(6);
|
||||
\Log::info($otp_code);
|
||||
request()->session()->put('current_otpuser.otp', $otp_code);
|
||||
$otp_user = session('current_otpuser');
|
||||
|
||||
public function handleLogin(Request $request){
|
||||
$this->validate($request, ['email' => 'required', 'password' => 'required']);
|
||||
$otp_set = [
|
||||
'otp' => $otp_code,
|
||||
'email' => $otp_user['email'],
|
||||
'auth_name' => $otp_user['name']
|
||||
];
|
||||
dispatch(new SendOtpEmailAlert($otp_set));
|
||||
$data = [
|
||||
'otp_user_id' => $otp_user['id'],
|
||||
'page_title' => 'Login OTP',
|
||||
'auth_name' => $otp_user['name']
|
||||
];
|
||||
return view('login.otp', $data);
|
||||
}
|
||||
public function showOtpPage(){
|
||||
if(!request()->session()->has('current_otpuser')){
|
||||
$random = uniqid();
|
||||
return redirect(url('login'))->withErrors("$random | You need to be logged in ");
|
||||
}
|
||||
$otp_user = session('current_otpuser');
|
||||
$data = [
|
||||
'otp_user_id' => $otp_user['id'],
|
||||
'page_title' => 'Login OTP',
|
||||
'auth_name' => $otp_user['name']
|
||||
];
|
||||
return view('login.otp', $data);
|
||||
}
|
||||
public function handleLoginOtp(Request $request){
|
||||
$this->validate($request, ['email' => 'required', 'password' => 'required']);
|
||||
//system user : $table = "auth_users";
|
||||
$logged_in = Models\SystemUser::with('designation_info')->where('email', $request->email)->where('password', md5($request->password))->first();
|
||||
$logged_in = Models\SystemUser::with('designation_info')->where('email', $request->email)->where('password', md5($request->password))->first();
|
||||
|
||||
if(empty($logged_in)){
|
||||
return redirect("/")->withErrors(array("Incorrect Email/Password. Check and try again!"))->withInput();
|
||||
}
|
||||
|
||||
$otp_code = Str::random(6);
|
||||
$request->session()->regenerate(true);
|
||||
$request->session()->put('current_otpuser.id', $logged_in->id);
|
||||
$request->session()->put('current_otpuser.otp', $otp_code);
|
||||
$request->session()->put('current_otpuser.name', $logged_in->name);
|
||||
$request->session()->put('current_otpuser.email', $logged_in->email);
|
||||
$request->session()->put('current_otpuser.phone', $logged_in->phone);
|
||||
$request->session()->put('current_otpuser.datetime_sent', date('Y-m-d H:i:s'));
|
||||
$request->session()->put('current_otpuser.designation', $logged_in->designation_info->name);
|
||||
|
||||
$otp_set = ['otp' => $otp_code, 'email' => $logged_in->email, 'auth_name' => $logged_in->name];
|
||||
dispatch(new SendOtpEmailAlert($otp_set));
|
||||
return redirect(url('showotp'));
|
||||
}
|
||||
public function handleLogin(Request $request){
|
||||
// dump($request->all());
|
||||
$this->validate($request, ['otp' => 'required', 'otp_user_id' => 'required']);
|
||||
//system user : $table = "auth_users";
|
||||
$current_date = date('Y-m-d H:i:s');
|
||||
$otp_user = session('current_otpuser');
|
||||
|
||||
$date1 = new \DateTime($otp_user['datetime_sent']);
|
||||
$date2 = new \DateTime($current_date);
|
||||
|
||||
$interval = $date1->diff($date2);
|
||||
$minutes = ($interval->h * 60) + $interval->i;
|
||||
// dd($minutes);
|
||||
if($minutes > 2 ){
|
||||
return redirect("showotp")->withErrors(array("OTP Time Out. Resend and try again!"));
|
||||
}
|
||||
|
||||
$otp_user = session('current_otpuser');
|
||||
if(strtoupper($otp_user['otp']) !== strtoupper($request->otp)){
|
||||
|
||||
return redirect("showotp")->withErrors(array("Incorrect OTP. Check and try again!"))->withInput();
|
||||
}
|
||||
#$logged_in = Models\SystemUser::with('designation_info')->where('email', $request->email)->where('password', md5($request->password))->first();
|
||||
/*
|
||||
if(empty($logged_in)){
|
||||
return redirect("/")->withErrors(array("Incorrect Email/Password. Check and try again!"))->withInput();
|
||||
}
|
||||
|
||||
*/
|
||||
$request->session()->regenerate(true);
|
||||
$request->session()->put('current_user.id', $logged_in->id);
|
||||
$request->session()->put('current_user.name', $logged_in->name);
|
||||
$request->session()->put('current_user.email', $logged_in->email);
|
||||
$request->session()->put('current_user.phone', $logged_in->phone);
|
||||
$request->session()->put('current_user.designation', $logged_in->designation_info->name);
|
||||
$request->session()->put('current_user.id', $otp_user['id']);
|
||||
$request->session()->put('current_user.name', $otp_user['name']);
|
||||
$request->session()->put('current_user.email', $otp_user['email']);
|
||||
$request->session()->put('current_user.phone', $otp_user['phone']);
|
||||
$request->session()->put('current_user.designation', $otp_user['designation']);
|
||||
|
||||
\Log::info($logged_in->name . ' Successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||
|
||||
$content = $logged_in->name . " Successfully Logged In";
|
||||
activity()->log($logged_in->name . ' Successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||
\Log::info($otp_user['name']. ' Successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||
|
||||
$this->logUsersActivity($type = 'staff', $content, $logged_in->id);
|
||||
$content = $otp_user['name'] . " Successfully Logged In";
|
||||
// dd($content);
|
||||
#activity()->log($otp_user['name']. ' Successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||
|
||||
$this->logUsersActivity($type = 'staff', $content, $otp_user['id']);
|
||||
$this->deleteLoggedUser();
|
||||
$this->storeLoggedUser();
|
||||
|
||||
switch ($logged_in->designation_info->name) {
|
||||
return redirect(url('/'));
|
||||
/*
|
||||
switch ($otp_user['designation_info']) {
|
||||
case 'Administrator':
|
||||
return redirect(url('finance')); // change it to a combined dashboard
|
||||
break;
|
||||
@@ -53,6 +136,7 @@ class LoginController extends Controller
|
||||
return redirect(url('/'));
|
||||
break;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public function handle_logout(Request $request) {
|
||||
@@ -65,8 +149,8 @@ class LoginController extends Controller
|
||||
$request->session()->flush();
|
||||
$request->session()->regenerate(true);
|
||||
|
||||
activity()->log($username . " Logged Out : " . date('Y-m-d H:i:s'));
|
||||
// $this->logUsersActivity($type = 'staff', $content, $user_id);
|
||||
#activity()->log($username . " Logged Out : " . date('Y-m-d H:i:s'));
|
||||
$this->logUsersActivity($type = 'staff', $content, $user_id);
|
||||
|
||||
return redirect("/");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user