diff options
Diffstat (limited to 'js/codeq/change_password.js')
-rw-r--r-- | js/codeq/change_password.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/js/codeq/change_password.js b/js/codeq/change_password.js new file mode 100644 index 0000000..c08c2d2 --- /dev/null +++ b/js/codeq/change_password.js @@ -0,0 +1,50 @@ +/** + * Created by robert on 10/14/15. + */ +(function(){ + + var jqNew = $("#modalChangePasswordNew"), + jqVerify = $("#modalChangePasswordVerify"), + jqCancelBtn = $("#cancel_change_pass_button"), + jqChangePassForm = $('#formChangePassword'); + + codeq.globalStateMachine.register('changePassword',{ + 'enter': function(){ + jqCancelBtn.on('click',function(){ + history.back();//forces a transition to the previous state + }); + jqChangePassForm.on('submit',function(event) { + + if (jqNew.val() != jqVerify.val()) { + alert('Passwords do not match.'); + } + else { + codeq.comms.changePassword(jqNew.val()) + .then(function (data) { + if (data.code !== 0) throw new Error('Password change failed, code: ' + data.code + ', message: ' + data.message); + alert('Password changed.'); + history.back();//force to return to previous state + }) + .fail(function (reason) { + codeq.log.error('Password change failed: ' + reason, reason); + alert('Password change failed: ' + reason); + }) + .done(); + } + event.preventDefault(); // Prevent the form from submitting via the browser. + }); + + + $("#screen_change_pass").css('display', ''); + $('#disabled').css('display', 'none'); + }, + 'exit' : function(){ + jqChangePassForm.off('submit'); + jqCancelBtn.off('click'); + $("#screen_change_pass").css('display', 'none'); + jqNew.val(''); + jqVerify.val(''); + } + }); + +})(); |