overleaf/services/web/app/views/user/passwordReset.pug
Jakob Ackermann 9d00c351a8 Merge pull request #4327 from overleaf/jpa-pw-reset-captcha
[misc] add captcha on password reset requests

GitOrigin-RevId: 9a23b9c9dee2c56345e9c1846861c05c25126802
2021-07-28 02:06:02 +00:00

58 lines
1.9 KiB
Text

extends ../layout
block vars
- metadata = { viewport: true }
block content
- var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset)
if showCaptcha
script(type="text/javascript", nonce=scriptNonce, src="https://www.recaptcha.net/recaptcha/api.js?render=explicit")
div(
id="recaptcha"
class="g-recaptcha"
data-sitekey=settings.recaptcha.siteKey
data-size="invisible"
data-badge="inline"
)
main.content.content-alt
.container
.row
.col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
.card
.page-header
h1 #{translate("password_reset")}
.messageArea
form(
async-form="password-reset-request",
name="passwordResetForm"
action="/user/password/reset",
method="POST",
captcha=(showCaptcha ? '' : false),
captcha-action-name=(showCaptcha ? "passwordReset" : false),
ng-cloak
)
input(type="hidden", name="_csrf", value=csrfToken)
form-messages(for="passwordResetForm" role="alert")
.form-group
label(for='email') #{translate("please_enter_email")}
input.form-control#email(
type='email',
name='email',
placeholder='email@example.com',
required,
autocomplete="username",
ng-model="email",
autofocus
)
span.small.text-primary(
ng-show="passwordResetForm.email.$invalid && passwordResetForm.email.$dirty"
) #{translate("must_be_email_address")}
.actions
button.btn.btn-primary(
type='submit',
ng-disabled="passwordResetForm.$invalid || passwordResetForm.inflight"
)
span(ng-hide="passwordResetForm.inflight") #{translate("request_password_reset")}
span(ng-show="passwordResetForm.inflight") #{translate("requesting_password_reset")}…