Forgot password Changes : ps
This commit is contained in:
parent
76242628f1
commit
43d27d1654
@ -35,7 +35,7 @@ $routes->get('/', 'Authentication::index');
|
||||
$routes->get('login/', 'Authentication::index');
|
||||
$routes->post('authenticate/', 'Authentication::authenticate');//Routes For Authentication.
|
||||
$routes->get('logout/', 'Authentication::logout');
|
||||
$routes->get('auth_confirm_mail/', 'Authentication::auth_confirm_mail');//Routes For Confirmation Mail alert page.
|
||||
$routes->post('auth_confirm_mail/', 'Authentication::auth_confirm_mail');//Routes For Confirmation Mail alert page.
|
||||
$routes->get('auth_reset_password/', 'Authentication::auth_reset_password');//Routes For Load Reset password Page.
|
||||
$routes->post('auth_reset_password_save/', 'Authentication::auth_reset_password_save');//Routes For update the Resetted password.
|
||||
$routes->get('lockscreen/', 'Authentication::lockscreen');
|
||||
|
||||
@ -83,18 +83,22 @@ class Authentication extends BaseController
|
||||
## Load Forgot password Confirmation Alert
|
||||
public function auth_confirm_mail()
|
||||
{
|
||||
// Get the email address from the request
|
||||
$mail_id = $this->request->getGet('email');
|
||||
$mail_id = $this->request->getPost('email');
|
||||
$url_domain = base_url();
|
||||
|
||||
$this->logger->info("auth confirm mail : Mail = ".$mail_id);
|
||||
$this->logger->info("auth confirm mail : Domain = ".$url_domain);
|
||||
|
||||
// Validate the email address
|
||||
$validation_rules = [
|
||||
'email' => 'required|valid_email',
|
||||
];
|
||||
|
||||
if (!$this->validate($validation_rules)) {
|
||||
$this->logger->error('enter correct mail to reset your Password');
|
||||
return redirect()->back()->withInput()->with('error', 'Enter correct E-mail to reset your password');
|
||||
$response['status'] = false;
|
||||
$response['message'] = 'Enter correct E-mail to reset your password';
|
||||
$this->logger->error($response['message']);
|
||||
return $this->response->setJSON(['data' => $response]);
|
||||
}
|
||||
|
||||
// Check if the email exists in the database
|
||||
@ -102,22 +106,26 @@ class Authentication extends BaseController
|
||||
// $user = $auth_model->where('email', $mail_id)->first();
|
||||
$where = ['email' => $mail_id, 'isactive' => 1];
|
||||
$user = $auth_model->where($where)->first();
|
||||
|
||||
|
||||
if (!$user) {
|
||||
$this->logger->error('There is no user enteries against given mail');
|
||||
return redirect()->back()->withInput()->with('error', 'There is no user enteries against given mail');
|
||||
$response['status'] = false;
|
||||
$response['message'] = 'There is no user enteries against given mail';
|
||||
$this->logger->error($response['message']);
|
||||
return $this->response->setJSON(['data' => $response]);
|
||||
} else {
|
||||
$this->logger->info("auth confirm mail : count = ".count($user));
|
||||
$data['mail_id'] = $mail_id;
|
||||
// Generate a unique token for password reset
|
||||
$token = bin2hex(random_bytes(32));
|
||||
$content = "Click the link below to reset your password : " . $url_domain . "auth_reset_password?email=" . $mail_id . "&token=" . $token;
|
||||
$this->logger->info("auth confirm mail : content = ".$content);
|
||||
$email = \Config\Services::email();
|
||||
// $recipient = 'venbalap08@gmail.com';
|
||||
$recipient = $mail_id;
|
||||
|
||||
// Compose the email
|
||||
$email->setTo($recipient);
|
||||
$email->setFrom('no-reply@tripapprovaltool.com', 'BB-VBP');
|
||||
$email->setFrom('no-reply@tripapprovaltool.com', 'BB-Donor');
|
||||
$email->setSubject('Email Notification');
|
||||
// $email->setMessage('This is a notification email from CodeIgniter.');
|
||||
$email->setMessage($content);
|
||||
@ -125,22 +133,20 @@ class Authentication extends BaseController
|
||||
$update_token['reset_link'] = $token;
|
||||
$auth_model->update($user['user_id'], $update_token);
|
||||
$data['link'] = $url_domain . "auth_reset_password?email=" . $mail_id . "&token=" . $token;
|
||||
// Retrieve flashed session data
|
||||
$successMessage = session()->getFlashdata('success');
|
||||
$validationErrors = session()->getFlashdata('error');
|
||||
|
||||
// Load and display the form view with the above data
|
||||
// Here, we'll use the default View class for demonstration purposes
|
||||
$data['successMessage'] = $successMessage;
|
||||
$data['validationErrors'] = $validationErrors;
|
||||
// return view('auth_confirm_mail', $data);
|
||||
|
||||
if ($email->send()) {
|
||||
// Email sent successfully
|
||||
return view('auth_confirm_mail', $data);
|
||||
$this->logger->info("auth confirm mail = Email sent successfully");
|
||||
$response['status'] = true;
|
||||
$response['message'] = "Password Reset Link Shared on Your Email";
|
||||
$this->logger->error($response['message']);
|
||||
return $this->response->setJSON(['data' => $response]);
|
||||
} else {
|
||||
$this->logger->error('Email Not Sended,Try Again');
|
||||
return redirect()->back()->withInput()->with('error', 'Email Not Sended,Try Again');
|
||||
$response['status'] = false;
|
||||
$response['message'] = 'There is no user enteries against given mail';
|
||||
$this->logger->error($response['message']);
|
||||
// return redirect()->back()->withInput()->with('error', 'Email Not Sended,Try Again');
|
||||
}
|
||||
return $this->response->setJSON(['data' => $response]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -66,8 +66,13 @@ abstract class BaseController extends Controller
|
||||
// echo $requestedRoute;
|
||||
} else {
|
||||
|
||||
if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate' && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') {
|
||||
$this->authData = $this->session_log();
|
||||
if ($uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') {
|
||||
$this->authData = $this->session_log();
|
||||
}
|
||||
|
||||
$routesArr = ['login', 'authenticate', 'auth_confirm_mail', 'auth_reset_password', 'auth_reset_password_save'];
|
||||
if (!in_array($requestedRoute, $routesArr)) {
|
||||
$this->authData = $this->session_log();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -120,11 +120,44 @@
|
||||
<script src="<?= base_url() . "public/assets/js/app.min.js" ?>"></script>
|
||||
|
||||
<script>
|
||||
// $(document).ready(function() {
|
||||
// // Fetch email value and set it as href for the reset link
|
||||
// $('#emailaddress').on('input', function() {
|
||||
// var emailValue = $(this).val();
|
||||
// $('#resetLink').attr('href', 'auth_confirm_mail?email='+emailValue);
|
||||
// });
|
||||
// });
|
||||
$(document).ready(function() {
|
||||
// Fetch email value and set it as href for the reset link
|
||||
$('#emailaddress').on('input', function() {
|
||||
var emailValue = $(this).val();
|
||||
$('#resetLink').attr('href', 'auth_confirm_mail?email='+emailValue);
|
||||
$('#resetLink').on('click', function(event) {
|
||||
var emailValue = $('#emailaddress').val();
|
||||
var baseUrl = "<?php echo base_url(); ?>";
|
||||
if (!emailValue) {
|
||||
event.preventDefault();
|
||||
console.log('Please enter your email before clicking on "Forgot your password?"');
|
||||
alert('Please enter your email before clicking on "Forgot your password?"');
|
||||
} else {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "<?= base_url() . 'auth_confirm_mail' ?>",
|
||||
data: { email: emailValue },
|
||||
success: function(response) {
|
||||
console.log(response);
|
||||
if (response['data']['status']) {
|
||||
alert(response['data']['message']);
|
||||
$('#emailaddress').val('');
|
||||
console.log("Email confirmation successful");
|
||||
} else {
|
||||
alert(response['data']['message']);
|
||||
console.log(response['data']['message']);
|
||||
}
|
||||
},
|
||||
error: function(error) {
|
||||
console.log('AJAX Error:', error.responseText);
|
||||
// Handle error here, if needed
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user