FIX_Reset password Implemented
This commit is contained in:
parent
8b14b1a8bf
commit
f7db3c4513
@ -472,17 +472,19 @@ class Users extends BaseController
|
|||||||
$old_password =$this->request->getPost('old_password');
|
$old_password =$this->request->getPost('old_password');
|
||||||
$new_password =$this->request->getPost('new_password');
|
$new_password =$this->request->getPost('new_password');
|
||||||
$confirm_password =$this->request->getPost('confirm_password');
|
$confirm_password =$this->request->getPost('confirm_password');
|
||||||
|
$type = $this->request->getPost('type') ?? 'change';
|
||||||
$UsersModel = new UsersModel();
|
$UsersModel = new UsersModel();
|
||||||
$user = $UsersModel->where('user_id',$user_id)->first();
|
if ($type !== 'reset') {
|
||||||
$data_old_password = $user['password'];
|
|
||||||
|
|
||||||
if (!password_verify($old_password, $data_old_password)) {
|
$user = $UsersModel->where('user_id',$user_id)->first();
|
||||||
$response = array(
|
$data_old_password = $user['password'];
|
||||||
'status' => 'error',
|
|
||||||
'message' => 'Old Password Not Match...'
|
if (!password_verify($old_password, $data_old_password)) {
|
||||||
);
|
return $this->response->setJSON([
|
||||||
return json_encode($response);
|
'status' => 'error',
|
||||||
|
'message' => 'Old Password does not match.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($new_password != $confirm_password){
|
if($new_password != $confirm_password){
|
||||||
|
|||||||
@ -81,12 +81,24 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<h5 class="mb-3 text-uppercase bg-light p-2"><i class="mdi mdi-account-circle mr-1"></i> Change Password</h5>
|
<h5 class="mb-3 text-uppercase bg-light p-2"><i class="mdi mdi-lock-reset mr-1"></i>Change / Reset Password</h5>
|
||||||
|
<p class="text-muted mb-3">
|
||||||
|
<strong>Note:</strong> Enable the checkbox to <b>reset the password</b>. Disable it to <b>update the password</b> using existing one.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-12 mb-2">
|
||||||
|
<div class="form-check">
|
||||||
|
<input type="checkbox" class="form-check-input" id="resetPasswordCheckbox" checked>
|
||||||
|
<label class="form-check-label" for="resetPasswordCheckbox">
|
||||||
|
Reset Password
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-6" id="old_password_div" style="display:none;">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="old_password">Old Password<span class="text-danger">*</span></label>
|
<label for="old_password">Old Password<span class="text-danger">*</span></label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
@ -174,20 +186,59 @@
|
|||||||
if (user_id != 0) {
|
if (user_id != 0) {
|
||||||
$('#password').prop('required' ,false);
|
$('#password').prop('required' ,false);
|
||||||
$('#password').parent().hide();
|
$('#password').parent().hide();
|
||||||
|
togglePasswordFields($('#resetPasswordCheckbox').is(':checked'));
|
||||||
}else{
|
}else{
|
||||||
$('.password_change').hide();
|
$('.password_change').hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('#resetPasswordCheckbox').on('change', function () {
|
||||||
|
togglePasswordFields($(this).is(':checked'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// --- Toggle field visibility based on checkbox ---
|
||||||
|
function togglePasswordFields(isReset) {
|
||||||
|
if (isReset) {
|
||||||
|
// Reset password → old password hidden
|
||||||
|
$('#old_password_div').hide();
|
||||||
|
$('#old_password').val('').prop('required', false);
|
||||||
|
} else {
|
||||||
|
// Change password → old password visible
|
||||||
|
$('#old_password_div').show();
|
||||||
|
$('#old_password').val('').prop('required', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function togglePasswordFields(isReset) {
|
||||||
|
if (isReset) {
|
||||||
|
$('#old_password_div').hide();
|
||||||
|
$('#old_password').val('').prop('required', false);
|
||||||
|
} else {
|
||||||
|
$('#old_password_div').show();
|
||||||
|
$('#old_password').val('').prop('required', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function changePassword(params) {
|
function changePassword(params) {
|
||||||
|
var isReset = $('#resetPasswordCheckbox').is(':checked');
|
||||||
|
var formData = {};
|
||||||
|
|
||||||
|
if (isReset) {
|
||||||
var formData = {
|
formData = {
|
||||||
old_password: $('#old_password').val(),
|
new_password: $('#new_password').val(),
|
||||||
new_password: $('#new_password').val(),
|
confirm_password: $('#confirm_password').val(),
|
||||||
confirm_password: $('#confirm_password').val()
|
type: 'reset'
|
||||||
};
|
};
|
||||||
|
} else {
|
||||||
|
formData = {
|
||||||
|
old_password: $('#old_password').val(),
|
||||||
|
new_password: $('#new_password').val(),
|
||||||
|
confirm_password: $('#confirm_password').val(),
|
||||||
|
type: 'change'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
@ -211,7 +262,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var oldPasswordField = document.getElementById("old_password");
|
var oldPasswordField = document.getElementById("old_password");
|
||||||
var toggleOldPassword = document.getElementById("toggleOldPassword");
|
var toggleOldPassword = document.getElementById("toggleOldPassword");
|
||||||
@ -250,24 +300,34 @@
|
|||||||
var newPasswordField = document.getElementById('new_password');
|
var newPasswordField = document.getElementById('new_password');
|
||||||
var confirmPasswordField = document.getElementById('confirm_password');
|
var confirmPasswordField = document.getElementById('confirm_password');
|
||||||
var submitButton = document.getElementById('submit_password');
|
var submitButton = document.getElementById('submit_password');
|
||||||
|
var resetCheckbox = $('#resetPasswordCheckbox');
|
||||||
|
|
||||||
// Function to validate the password fields
|
// Function to validate the password fields
|
||||||
function validatePasswords() {
|
function validatePasswords() {
|
||||||
|
var isReset = resetCheckbox.is(':checked');
|
||||||
var oldPassword = oldPasswordField.value;
|
var oldPassword = oldPasswordField.value;
|
||||||
var newPassword = newPasswordField.value;
|
var newPassword = newPasswordField.value;
|
||||||
var confirmPassword = confirmPasswordField.value;
|
var confirmPassword = confirmPasswordField.value;
|
||||||
|
|
||||||
if(oldPassword !== newPassword && newPassword !== ''){
|
if(oldPassword !== newPassword && newPassword !== ''){
|
||||||
console.log(oldPassword);
|
console.log(oldPassword);
|
||||||
console.log(newPassword);
|
console.log(newPassword);
|
||||||
console.log(confirmPassword);
|
console.log(confirmPassword);
|
||||||
if (newPassword === confirmPassword) {
|
|
||||||
submitButton.disabled = false;
|
if (isReset) {
|
||||||
|
if (newPassword && confirmPassword && newPassword === confirmPassword) {
|
||||||
|
submitButton.prop('disabled', false);
|
||||||
} else {
|
} else {
|
||||||
submitButton.disabled = true;
|
submitButton.prop('disabled', true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Change flow → all required
|
||||||
|
if (oldPassword && newPassword && confirmPassword &&
|
||||||
|
newPassword === confirmPassword && oldPassword !== newPassword) {
|
||||||
|
submitButton.prop('disabled', false);
|
||||||
|
} else {
|
||||||
|
submitButton.prop('disabled', true);
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
submitButton.disabled = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user