login.pug 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. form-messages(for="loginForm")
  13. .form-group
  14. input.form-control(
  15. type='email',
  16. name='email',
  17. required,
  18. placeholder='email@example.com',
  19. ng-model="email",
  20. ng-model-options="{ updateOn: 'blur' }",
  21. ng-init="email = "+JSON.stringify(email),
  22. focus="true"
  23. )
  24. span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty")
  25. | #{translate("must_be_email_address")}
  26. .form-group
  27. input.form-control(
  28. type='password',
  29. name='password',
  30. required,
  31. placeholder='********',
  32. ng-model="password"
  33. )
  34. span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty")
  35. | #{translate("required")}
  36. .actions
  37. button.btn-primary.btn(
  38. type='submit',
  39. ng-disabled="loginForm.inflight"
  40. )
  41. span(ng-show="!loginForm.inflight") #{translate("login")}
  42. span(ng-show="loginForm.inflight") #{translate("logging_in")}...
  43. a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}?