1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
###
Web Frontend for Botleagues
Copyright (C) 2015 Camil Staps <info@camilstaps.nl>
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 <http://www.gnu.org/licenses/>.
###
# 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
|