mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-11 17:35:33 +00:00
Improve feedback on login/register forms
This commit is contained in:
parent
1c5778e2c4
commit
e4d9d03f55
4 changed files with 24 additions and 20 deletions
|
@ -16,9 +16,9 @@ module.exports = AuthenticationController =
|
|||
if !isAllowed
|
||||
logger.log email:email, "too many login requests"
|
||||
res.statusCode = 429
|
||||
return res.send
|
||||
return res.send
|
||||
message:
|
||||
text: 'This account has had too many login requests, <br> please wait 2 minutes before trying to log in again',
|
||||
text: 'This account has had too many login requests. Please wait 2 minutes before trying to log in again',
|
||||
type: 'error'
|
||||
AuthenticationManager.authenticate email: email, password, (error, user) ->
|
||||
return next(error) if error?
|
||||
|
@ -100,7 +100,7 @@ module.exports = AuthenticationController =
|
|||
callback()
|
||||
|
||||
_establishUserSession: (req, user, callback = (error) ->) ->
|
||||
lightUser =
|
||||
lightUser =
|
||||
_id: user._id
|
||||
first_name: user.first_name
|
||||
last_name: user.last_name
|
||||
|
@ -110,7 +110,3 @@ module.exports = AuthenticationController =
|
|||
req.session.user = lightUser
|
||||
req.session.justLoggedIn = true
|
||||
req.session.save callback
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -35,7 +35,9 @@ block content
|
|||
| Required
|
||||
.actions
|
||||
button.btn-primary.btn(
|
||||
type='submit'
|
||||
ng-disabled="loginForm.$invalid"
|
||||
) Login
|
||||
type='submit',
|
||||
ng-disabled="loginForm.inflight"
|
||||
)
|
||||
span(ng-show="!loginForm.inflight") Login
|
||||
span(ng-show="loginForm.inflight") Logging in...
|
||||
a.pull-right(href='/user/password/reset') Forgot your password?
|
||||
|
|
|
@ -10,7 +10,7 @@ block content
|
|||
div Join ShareLaTeX to view this project
|
||||
else if newTemplateData.templateName !== undefined
|
||||
h1 Please register to edit the '#{newTemplateData.templateName}' template
|
||||
div Already have a ShareLaTeX account?
|
||||
div Already have a ShareLaTeX account?
|
||||
a(href="/login") Login here
|
||||
|
||||
.row
|
||||
|
@ -18,12 +18,12 @@ block content
|
|||
.card
|
||||
.page-header
|
||||
h1 Register
|
||||
form(async-form="register", name="registerForm", action="/register", novalidate, ng-cloak)
|
||||
form(async-form="register", name="registerForm", action="/register", ng-cloak)
|
||||
input(name='_csrf', type='hidden', value=csrfToken)
|
||||
input(name='redir', type='hidden', value=redir)
|
||||
form-messages(for="registerForm")
|
||||
.form-group
|
||||
label(for='email') Email
|
||||
label(for='email') Email
|
||||
input.form-control(
|
||||
type='email',
|
||||
name='email',
|
||||
|
@ -36,7 +36,7 @@ block content
|
|||
span.small.text-primary(ng-show="registerForm.email.$invalid && registerForm.email.$dirty")
|
||||
| Must be an email address
|
||||
.form-group
|
||||
label(for='password') Password
|
||||
label(for='password') Password
|
||||
input.form-control(
|
||||
type='password',
|
||||
name='password',
|
||||
|
@ -49,6 +49,7 @@ block content
|
|||
.actions
|
||||
button.btn-primary.btn(
|
||||
type='submit'
|
||||
ng-disabled="register.$invalid"
|
||||
) Register
|
||||
|
||||
ng-disabled="registerForm.inflight"
|
||||
)
|
||||
span(ng-show="!registerForm.inflight") Register
|
||||
span(ng-show="registerForm.inflight") Registering...
|
||||
|
|
|
@ -7,6 +7,7 @@ define [
|
|||
formName = attrs.asyncForm
|
||||
|
||||
scope[attrs.name].response = response = {}
|
||||
scope[attrs.name].inflight = false
|
||||
|
||||
element.on "submit", (e) ->
|
||||
e.preventDefault()
|
||||
|
@ -15,9 +16,12 @@ define [
|
|||
for data in element.serializeArray()
|
||||
formData[data.name] = data.value
|
||||
|
||||
scope[attrs.name].inflight = true
|
||||
|
||||
$http
|
||||
.post(element.attr('action'), formData)
|
||||
.success (data, status, headers, config) ->
|
||||
scope[attrs.name].inflight = false
|
||||
response.success = true
|
||||
response.error = false
|
||||
|
||||
|
@ -33,12 +37,13 @@ define [
|
|||
ga('send', 'event', formName, 'failure', data.message)
|
||||
else
|
||||
ga('send', 'event', formName, 'success')
|
||||
|
||||
|
||||
.error (data, status, headers, config) ->
|
||||
scope[attrs.name].inflight = false
|
||||
response.success = false
|
||||
response.error = true
|
||||
response.message =
|
||||
text: data.message or "Something went wrong talking to the server :(. Please try again."
|
||||
text: data.message?.text or "Something went wrong talking to the server :(. Please try again."
|
||||
type: 'error'
|
||||
ga('send', 'event', formName, 'failure', data.message)
|
||||
}
|
||||
|
@ -60,4 +65,4 @@ define [
|
|||
form: "=for"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue