FIX_Reset password Implemented
This commit is contained in:
parent
8b14b1a8bf
commit
f7db3c4513
@ -472,18 +472,20 @@ class Users extends BaseController
|
||||
$old_password =$this->request->getPost('old_password');
|
||||
$new_password =$this->request->getPost('new_password');
|
||||
$confirm_password =$this->request->getPost('confirm_password');
|
||||
|
||||
$type = $this->request->getPost('type') ?? 'change';
|
||||
$UsersModel = new UsersModel();
|
||||
$user = $UsersModel->where('user_id',$user_id)->first();
|
||||
$data_old_password = $user['password'];
|
||||
if ($type !== 'reset') {
|
||||
|
||||
$user = $UsersModel->where('user_id',$user_id)->first();
|
||||
$data_old_password = $user['password'];
|
||||
|
||||
if (!password_verify($old_password, $data_old_password)) {
|
||||
$response = array(
|
||||
'status' => 'error',
|
||||
'message' => 'Old Password Not Match...'
|
||||
);
|
||||
return json_encode($response);
|
||||
}
|
||||
if (!password_verify($old_password, $data_old_password)) {
|
||||
return $this->response->setJSON([
|
||||
'status' => 'error',
|
||||
'message' => 'Old Password does not match.'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if($new_password != $confirm_password){
|
||||
$response = array(
|
||||
|
||||
@ -81,12 +81,24 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<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 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">
|
||||
<label for="old_password">Old Password<span class="text-danger">*</span></label>
|
||||
<div class="input-group">
|
||||
@ -174,20 +186,59 @@
|
||||
if (user_id != 0) {
|
||||
$('#password').prop('required' ,false);
|
||||
$('#password').parent().hide();
|
||||
togglePasswordFields($('#resetPasswordCheckbox').is(':checked'));
|
||||
}else{
|
||||
$('.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) {
|
||||
var isReset = $('#resetPasswordCheckbox').is(':checked');
|
||||
var formData = {};
|
||||
|
||||
|
||||
var formData = {
|
||||
old_password: $('#old_password').val(),
|
||||
new_password: $('#new_password').val(),
|
||||
confirm_password: $('#confirm_password').val()
|
||||
};
|
||||
if (isReset) {
|
||||
formData = {
|
||||
new_password: $('#new_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({
|
||||
type: 'POST',
|
||||
@ -207,11 +258,10 @@
|
||||
// Handle error response here
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var oldPasswordField = document.getElementById("old_password");
|
||||
var toggleOldPassword = document.getElementById("toggleOldPassword");
|
||||
@ -250,24 +300,34 @@
|
||||
var newPasswordField = document.getElementById('new_password');
|
||||
var confirmPasswordField = document.getElementById('confirm_password');
|
||||
var submitButton = document.getElementById('submit_password');
|
||||
|
||||
var resetCheckbox = $('#resetPasswordCheckbox');
|
||||
|
||||
// Function to validate the password fields
|
||||
function validatePasswords() {
|
||||
var isReset = resetCheckbox.is(':checked');
|
||||
var oldPassword = oldPasswordField.value;
|
||||
var newPassword = newPasswordField.value;
|
||||
var confirmPassword = confirmPasswordField.value;
|
||||
|
||||
if(oldPassword !== newPassword && newPassword !== ''){
|
||||
console.log(oldPassword);
|
||||
console.log(oldPassword);
|
||||
console.log(newPassword);
|
||||
console.log(confirmPassword);
|
||||
if (newPassword === confirmPassword) {
|
||||
submitButton.disabled = false;
|
||||
|
||||
if (isReset) {
|
||||
if (newPassword && confirmPassword && newPassword === confirmPassword) {
|
||||
submitButton.prop('disabled', false);
|
||||
} 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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -277,4 +337,4 @@
|
||||
newPasswordField.addEventListener('input', validatePasswords);
|
||||
confirmPasswordField.addEventListener('input', validatePasswords);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
Loading…
Reference in New Issue
Block a user