login.jade 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. extends ../layout
  2. block content
  3. .content.content-alt
  4. .container
  5. .row
  6. .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
  7. .card
  8. .page-header
  9. h1 #{translate("log_in")}
  10. form(async-form="login", name="loginForm", action='/login', method="POST", ng-cloak)
  11. input(name='_csrf', type='hidden', value=csrfToken)
  12. input(name='redir', type='hidden', value=redir)
  13. form-messages(for="loginForm")
  14. .form-group
  15. input.form-control(
  16. type='email',
  17. name='email',
  18. required,
  19. placeholder='email@example.com',
  20. ng-model="email",
  21. ng-model-options="{ updateOn: 'blur' }",
  22. ng-init="email = #{JSON.stringify(email)}",
  23. focus="true"
  24. )
  25. span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty")
  26. | #{translate("must_be_email_address")}
  27. .form-group
  28. input.form-control(
  29. type='password',
  30. name='password',
  31. required,
  32. placeholder='********',
  33. ng-model="password"
  34. )
  35. span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty")
  36. | #{translate("required")}
  37. .actions
  38. button.btn-primary.btn(
  39. type='submit',
  40. ng-disabled="loginForm.inflight"
  41. )
  42. span(ng-show="!loginForm.inflight") #{translate("login")}
  43. span(ng-show="loginForm.inflight") #{translate("logging_in")}...
  44. a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}?