multiple bug fixes including sender ID filtering

This commit is contained in:
Kwesi Banson Jnr
2026-04-16 14:22:04 +00:00
parent 72180de8e4
commit 5dbe76dbd4
380 changed files with 175085 additions and 203 deletions

View File

@@ -7,6 +7,8 @@ use App\Models;
use Spatie\Activitylog\Models\Activity;
use Illuminate\Support\Str;
use App\Jobs\SendOtpEmailAlert;
use Illuminate\Support\Facades\Hash;
use Session;
class LoginController extends Controller
@@ -18,6 +20,80 @@ class LoginController extends Controller
];
return view('login.index', $data);
}
public function passwordResetPage(){
$data = [
'page_title' => "Password Reset"
];
return view('login.reset_form', $data);
}
public function passwordResetLink(Request $request){
$request->validate([
'email' => 'required',
]);
// dd($request->email);
$logged_in = Models\StaffMember::where('email', $request->email)->first();
if($logged_in == false ){
return redirect()->back()->withErrors(array("Email not found. Check and try again!"));
}
$request->session()->regenerate(true);
$request->session()->put('current_reset_user.id', $logged_in->id);
$request->session()->put('current_reset_user.email', $logged_in->email);
// $data = [
// 'page_title' => "Password Reset",
// 'user_id' => base64_encode($logged_in->id)
// ];
return redirect('reset_form_show');
}
public function passwordResetFormShow(){
$data = [
'page_title' => "Password Reset"
];
return view('login.reset_submit', $data);
}
public function passwordReset(Request $request){
$request->validate([
'password' => 'required|confirmed|min:6',
]);
if($request->password == 'password' ){
return redirect()->back()->withErrors(array("It is extremely dangerous to use password as your password."));
}
$user_id = session('current_reset_user.id');
$user_email = session('current_reset_user.email');
$staff = Models\StaffMember::where('email', $user_email)->first();
$staff->password = Hash::make($request->password);
$staff->save();
$data = [
'page_title' => "Password Reset"
];
$content = $user_email . " Successfully changed their password";
$this->logUsersActivity($type = 'staff', $content, $user_id);
$this->deleteLoggedUser();
$this->storeLoggedUser();
Session::flash('success_message', 'Password successfully reset');
return redirect('login');
#return view('login.index', $data);
}
public function passwordResetHandle(Request $request){
$request->validate([
'email' => 'required',
'password' => 'required',
'confirm_password' => 'required',
]);
dd($request->all());
$data = [
'page_title' => "Password Reset"
];
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!");
@@ -64,7 +140,19 @@ class LoginController extends Controller
if(empty($logged_in)){
return redirect("/")->withErrors(array("Incorrect Email/Password. Check and try again!"))->withInput();
}
if ($logged_in->is_password_changed == 'NO') {
$hashedPassword = Hash::make($request->password);
$staff_member = Models\StaffMember::where('email', $logged_in->email)->first();
if ($staff_member) {
$staff_member->password = $hashedPassword;
$staff_member->permissions = $logged_in->permissions;
$staff_member->designation = $logged_in->designation;
$staff_member->save();
$logged_in->is_password_changed = 'YES';
$logged_in->save();
}
}
$otp_code = Str::random(6);
$request->session()->regenerate(true);
$request->session()->put('current_otpuser.id', $logged_in->id);