passwordReset.pug 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. extends ../layout-marketing
  2. include ../_mixins/recaptcha
  3. block content
  4. - var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset)
  5. if showCaptcha
  6. script(type="text/javascript", nonce=scriptNonce, src="https://www.recaptcha.net/recaptcha/api.js?render=explicit")
  7. div(
  8. id="recaptcha"
  9. class="g-recaptcha"
  10. data-sitekey=settings.recaptcha.siteKey
  11. data-size="invisible"
  12. data-badge="inline"
  13. )
  14. main.content.content-alt#main-content
  15. .container
  16. .row
  17. .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
  18. .card
  19. .page-header
  20. h1 #{translate("password_reset")}
  21. .messageArea
  22. form(
  23. data-ol-async-form
  24. name="passwordResetForm"
  25. action="/user/password/reset",
  26. method="POST",
  27. captcha=(showCaptcha ? '' : false),
  28. captcha-action-name=(showCaptcha ? "passwordReset" : false),
  29. )
  30. div(data-ol-not-sent)
  31. +formMessages()
  32. if error
  33. div.alert.alert-danger(
  34. role="alert"
  35. aria-live="assertive"
  36. )
  37. | #{translate(error)}
  38. input(type="hidden", name="_csrf", value=csrfToken)
  39. .form-group
  40. label(for='email') #{translate("please_enter_email")}
  41. input.form-control#email(
  42. aria-label="email"
  43. type='email',
  44. name='email',
  45. placeholder='email@example.com',
  46. required,
  47. autocomplete="username",
  48. autofocus
  49. )
  50. .actions
  51. button.btn.btn-primary(
  52. type='submit',
  53. data-ol-disabled-inflight,
  54. aria-label=translate('request_password_reset_to_reconfirm')
  55. )
  56. span(data-ol-inflight="idle")
  57. | #{translate("request_password_reset")}
  58. span(hidden data-ol-inflight="pending")
  59. | #{translate("requesting_password_reset")}…
  60. div(hidden data-ol-sent)
  61. div.alert.alert-success(
  62. role="alert"
  63. aria-live="polite"
  64. )
  65. span #{translate('password_reset_email_sent')}
  66. .row
  67. .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
  68. if showCaptcha
  69. +recaptchaConditions