### Web Frontend for Botleagues Copyright (C) 2015 Camil Staps This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ### # Request API for registering $ 'form.form-register' .submit -> 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 # Show login form on click $ '.btn-botleagues-login' .focus -> $ '#login-block' .slideDown() $ '#login-email' .focus() false # Request API for logging in $ '#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