passwordReset.pug 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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-custom-sm.mx-auto
  16. .card
  17. form(
  18. data-ol-async-form
  19. name="passwordResetForm"
  20. action="/user/password/reset",
  21. method="POST",
  22. captcha=(showCaptcha ? '' : false),
  23. captcha-action-name=(showCaptcha ? "passwordReset" : false),
  24. )
  25. if error === 'password_reset_token_expired'
  26. h3.mt-0.mb-2 #{translate("sorry_your_token_expired")}
  27. p #{translate('please_request_a_new_password_reset_email_and_follow_the_link')}.
  28. else
  29. h3.mt-0.mb-2(data-ol-not-sent) #{translate("password_reset")}
  30. h3.mt-0.mb-2(hidden data-ol-sent) #{translate("check_your_email")}
  31. p(data-ol-not-sent) #{translate("enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password")}.
  32. div(data-ol-not-sent)
  33. +formMessages()
  34. if error && error !== 'password_reset_token_expired'
  35. div.alert.alert-danger.mb-2(
  36. role="alert"
  37. aria-live="assertive"
  38. )
  39. | #{translate(error)}
  40. input(type="hidden", name="_csrf", value=csrfToken)
  41. .form-group.mb-3
  42. label(for='email') #{translate("email")}
  43. input.form-control#email(
  44. aria-label="email"
  45. type='email',
  46. name='email',
  47. placeholder=translate("enter_your_email_address"),
  48. required,
  49. autocomplete="username",
  50. autofocus
  51. )
  52. .actions
  53. button.btn.btn-primary.w-100(
  54. type='submit',
  55. data-ol-disabled-inflight,
  56. aria-label=translate('request_password_reset_to_reconfirm')
  57. )
  58. span(data-ol-inflight="idle")
  59. | #{translate("request_password_reset")}
  60. span(hidden data-ol-inflight="pending")
  61. | #{translate("requesting_password_reset")}…
  62. div(hidden data-ol-sent)
  63. p.mb-4 #{translate('password_reset_email_sent')}
  64. a(href="/login") #{translate('back_to_log_in')}
  65. if showCaptcha
  66. +recaptchaConditions