setPassword.pug 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. extends ../layout-marketing
  2. block content
  3. main.content.content-alt#main-content
  4. .container-custom-sm.mx-auto
  5. .card
  6. form(
  7. data-ol-async-form,
  8. name="passwordResetForm",
  9. action="/user/password/set",
  10. method="POST",
  11. data-ol-hide-on-error="token-expired"
  12. )
  13. div(
  14. hidden
  15. data-ol-sent
  16. )
  17. h3.mt-0.mb-2 #{translate("password_updated")}
  18. p.mb-4 #{translate("your_password_has_been_successfully_changed")}.
  19. a(href='/login') #{translate("log_in_now")}
  20. div(data-ol-not-sent)
  21. h3.mt-0.mb-2 #{translate("reset_your_password")}
  22. p(data-ol-hide-on-error-message="token-expired") #{translate("create_a_new_password_for_your_account")}.
  23. +formMessages()
  24. +customFormMessage('password-contains-email', 'danger')
  25. | #{translate('invalid_password_contains_email')}.
  26. | #{translate('use_a_different_password')}.
  27. +customFormMessage('password-too-similar', 'danger')
  28. | #{translate('invalid_password_too_similar')}.
  29. | #{translate('use_a_different_password')}.
  30. +customFormMessage('token-expired', 'danger')
  31. | #{translate('password_reset_token_expired')}
  32. br
  33. a(href="/user/password/reset")
  34. | #{translate('request_new_password_reset_email')}
  35. input(type="hidden", name="_csrf", value=csrfToken)
  36. input(type="hidden", name="email", value=email)
  37. .form-group
  38. label(for='passwordField', data-ol-hide-on-error-message="token-expired") #{translate("new_password")}
  39. input.form-control#passwordField(
  40. type='password',
  41. name='password',
  42. placeholder=translate("enter_your_new_password"),
  43. autocomplete="new-password",
  44. autofocus,
  45. required,
  46. minlength=settings.passwordStrengthOptions.length.min
  47. )
  48. +customValidationMessage('invalid-password')
  49. | #{translate('invalid_password')}.
  50. +customValidationMessage('password-must-be-different')
  51. | #{translate('password_cant_be_the_same_as_current_one')}.
  52. +customValidationMessage('password-must-be-strong')
  53. | !{translate('password_was_detected_on_a_public_list_of_known_compromised_passwords', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com', rel: 'noopener noreferrer', target: '_blank'}}])}.
  54. | #{translate('use_a_different_password')}.
  55. input(
  56. type="hidden",
  57. name="passwordResetToken",
  58. value=passwordResetToken
  59. )
  60. div(data-ol-hide-on-error-message="token-expired")
  61. div #{translate('in_order_to_have_a_secure_account_make_sure_your_password')}
  62. ul.mb-4.ps-4
  63. li #{translate('is_longer_than_n_characters', {n: settings.passwordStrengthOptions.length.min})}
  64. li #{translate('does_not_contain_or_significantly_match_your_email')}
  65. li #{translate('is_not_used_on_any_other_website')}
  66. .actions
  67. button.btn.btn-primary.w-100(
  68. type='submit',
  69. data-ol-disabled-inflight
  70. aria-label=translate('set_new_password')
  71. )
  72. span(data-ol-inflight="idle")
  73. | #{translate('set_new_password')}
  74. span(hidden data-ol-inflight="pending")
  75. | #{translate('set_new_password')}…