diff options
author | Camil Staps | 2015-05-25 15:00:47 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-25 15:00:47 +0200 |
commit | cba2e9564ab63d22eb362bcc7c095d5148512d1a (patch) | |
tree | 398c4ae4b12c9b9b0d084a3202386b519cb03309 /src/js/forms.coffee | |
parent | License in all files (diff) |
Resetting password
Diffstat (limited to 'src/js/forms.coffee')
-rw-r--r-- | src/js/forms.coffee | 80 |
1 files changed, 67 insertions, 13 deletions
diff --git a/src/js/forms.coffee b/src/js/forms.coffee index 36b0b98..19a1540 100644 --- a/src/js/forms.coffee +++ b/src/js/forms.coffee @@ -19,19 +19,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # Request API for registering $ 'form.form-register' .submit -> - Botleagues.request - endpoint: 'user' - method: 'POST' - data: - email: - $ this - .find 'input[name="email"]' - .val() - password: - $ this - .find 'input[name="password"]' - .val() - callback: BotleaguesCallback.register + if BotleaguesFrontend.ensurePasswordsMatch (($ this).find 'input[type="password"]'), $ this + Botleagues.request + endpoint: 'user' + method: 'POST' + data: + email: + $ this + .find 'input[name="email"]' + .val() + password: + $ this + .find 'input[name="password"]' + .val() + callback: BotleaguesCallback.register false @@ -48,4 +49,57 @@ $ '.btn-botleagues-login' $ '#login-form' .submit -> Botleagues.login ($ '#login-email').val(), ($ '#login-password').val() + false + +# Password reset form, stage 1: request token +$ '#password-reset-form-1' + .submit -> + Botleagues.request + endpoint: 'user/' + encodeURIComponent(($ '#password-reset-email').val()) + '/password_reminder' + method: 'POST' + callback: (data) -> + if data.error? + BotleaguesFrontend.error + message: data.error + prepend_to: $ '#password-reset-form-1' + else + BotleaguesFrontend.success + message: "We've sent an email with a password reset token to " + data.password_reminder.userEmail + ". It will be valid until " + (new Date(Date.parse data.password_reminder.valid_till)).toTimeString() + prepend_to: $ '#password-reset-form-1' + $ '#password-reset-form-2' + .parent().parent().fadeIn() + $ '#password-reset-form-1' + .addClass 'text-muted' + .find 'button, input' + .attr 'disabled', true + return + + false + +# Password reset form, stage 2: reset password +$ '#password-reset-form-2' + .submit -> + if BotleaguesFrontend.ensurePasswordsMatch (($ this).find 'input[type="password"]'), $ this + Botleagues.request + endpoint: 'user/' + (encodeURIComponent ($ '#password-reset-email').val()) + '/password_reminder/' + ($ '#password-reset-token').val() + method: 'DELETE' + data: + password: + $ '#password-reset-password' + .val() + callback: (data) -> + if data.error? + BotleaguesFrontend.error + message: data.error + prepend_to: $ '#password-reset-form-2' + else + BotleaguesFrontend.success + message: "Your password has been reset." + prepend_to: $ '#password-reset-form-2' + $ '#password-reset-form-2' + .addClass 'text-muted' + .find 'button, input' + .attr 'disabled', true + return + false
\ No newline at end of file |