Files
NodeBB/public/templates/reset_code.tpl

63 lines
2.3 KiB
Smarty
Raw Normal View History

2013-04-23 16:18:43 -04:00
<h1>Reset Password</h1>
<div class="well">
<div class="alert alert-success" id="success" style="display:none">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<strong>Password Changed</strong>
2013-04-23 23:28:34 -04:00
<p>Password successfully reset, please <a href="/login">log in again</a>.</p>
2013-04-23 16:18:43 -04:00
</div>
2013-04-23 22:35:03 -04:00
<div class="alert" id="notice" style="display:none">
<strong></strong>
<p></p>
</div>
<div class="alert alert-error" id="error" style="display:none">
2013-04-23 22:35:03 -04:00
<strong>Incorrect Reset Code</strong>
<p>The reset code received was incorrect. Please try again, or <a href="/reset">request a new reset code</a></p>
</div>
<div id="reset-form">
<label for="password">New Password</label><input type="password" placeholder="A new password" id="password" /><br />
<label for="repeat">... and again</label><input type="password" placeholder="The same password" id="repeat" /><br />
<button class="btn btn-primary" id="reset" type="submit" disabled>Reset Password</button>
</div>
2013-04-23 16:18:43 -04:00
</div>
<script type="text/javascript">
(function() {
2013-04-23 20:25:01 -04:00
var resetEl = document.getElementById('reset'),
password = document.getElementById('password'),
2013-04-23 22:35:03 -04:00
repeat = document.getElementById('repeat'),
noticeEl = document.getElementById('notice');
2013-04-23 16:18:43 -04:00
resetEl.addEventListener('click', function() {
2013-04-23 22:35:03 -04:00
if (password.value.length < 6) {
$('#error').hide();
2013-04-23 23:28:34 -04:00
noticeEl.querySelector('strong').innerHTML = 'Invalid Password';
noticeEl.querySelector('p').innerHTML = 'The password entered it too short, please pick a different password!';
noticeEl.style.display = 'block';
2013-04-23 22:35:03 -04:00
} else if (password.value === repeat.value) {
2013-04-23 23:28:34 -04:00
socket.emit('user:reset.commit', { code: '{reset_code}', password: password.value });
2013-04-23 20:25:01 -04:00
}
2013-04-23 16:18:43 -04:00
}, false);
// Enable the form if the code is valid
socket.emit('user:reset.valid', { code: '{reset_code}' });
ajaxify.register_events(['user:reset.valid', 'user:reset.commit']);
socket.on('user:reset.valid', function(data) {
if (!!data.valid) resetEl.disabled = false;
else {
var formEl = document.getElementById('reset-form');
// Show error message
$('#error').show();
formEl.parentNode.removeChild(formEl);
}
})
2013-04-23 23:28:34 -04:00
socket.on('user:reset.commit', function(data) {
if (data.status === 'ok') {
$('#error').hide();
$('#notice').hide();
$('#success').show();
}
});
2013-04-23 16:18:43 -04:00
}());
</script>