Commit 32eb0164 by Zia Fazal

disable password reset button after click

fixed quality violation
parent 82647ee8
...@@ -31,11 +31,14 @@ define(['backbone', ...@@ -31,11 +31,14 @@ define(['backbone',
var fieldData = FieldViewsSpecHelpers.createFieldData(AccountSettingsFieldViews.PasswordFieldView, { var fieldData = FieldViewsSpecHelpers.createFieldData(AccountSettingsFieldViews.PasswordFieldView, {
linkHref: '/password_reset', linkHref: '/password_reset',
emailAttribute: 'email' emailAttribute: 'email',
valueAttribute: 'password'
}); });
var view = new AccountSettingsFieldViews.PasswordFieldView(fieldData).render(); var view = new AccountSettingsFieldViews.PasswordFieldView(fieldData).render();
expect(view.$('.u-field-value > button').is(':disabled')).toBe(false);
view.$('.u-field-value > button').click(); view.$('.u-field-value > button').click();
expect(view.$('.u-field-value > button').is(':disabled')).toBe(true);
AjaxHelpers.expectRequest(requests, 'POST', '/password_reset', 'email=legolas%40woodland.middlearth'); AjaxHelpers.expectRequest(requests, 'POST', '/password_reset', 'email=legolas%40woodland.middlearth');
AjaxHelpers.respondWithJson(requests, {'success': 'true'}); AjaxHelpers.respondWithJson(requests, {'success': 'true'});
FieldViewsSpecHelpers.expectMessageContains( FieldViewsSpecHelpers.expectMessageContains(
......
...@@ -151,6 +151,7 @@ ...@@ -151,6 +151,7 @@
}, },
linkClicked: function(event) { linkClicked: function(event) {
event.preventDefault(); event.preventDefault();
this.toggleDisableButton(true);
this.resetPassword(event); this.resetPassword(event);
}, },
resetPassword: function() { resetPassword: function() {
...@@ -169,9 +170,16 @@ ...@@ -169,9 +170,16 @@
error: function(xhr) { error: function(xhr) {
view.showErrorMessage(xhr); view.showErrorMessage(xhr);
view.setMessageTimeout(); view.setMessageTimeout();
view.toggleDisableButton(false);
} }
}); });
}, },
toggleDisableButton: function(disabled) {
var button = this.$('#u-field-link-' + this.options.valueAttribute);
if (button) {
button.prop('disabled', disabled);
}
},
setMessageTimeout: function() { setMessageTimeout: function() {
var view = this; var view = this;
setTimeout(function() { setTimeout(function() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment