forms.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. from flask_babel import lazy_gettext
  2. from flask_wtf.recaptcha import RecaptchaField
  3. from wtforms import BooleanField, PasswordField, StringField
  4. from wtforms.validators import DataRequired, Email, EqualTo
  5. from ..fieldwidgets import BS3PasswordFieldWidget, BS3TextFieldWidget
  6. from ..forms import DynamicForm
  7. from ..validators import PasswordComplexityValidator
  8. class SelectDataRequired(DataRequired):
  9. """
  10. Select required flag on the input field will not work well on Chrome
  11. Console error:
  12. An invalid form control with name='roles' is not focusable.
  13. This makes a simple override to the DataRequired to be used specifically with
  14. select fields
  15. """
  16. field_flags = {}
  17. class LoginForm_oid(DynamicForm):
  18. openid = StringField(lazy_gettext("OpenID"), validators=[DataRequired()])
  19. username = StringField(lazy_gettext("User Name"))
  20. remember_me = BooleanField(lazy_gettext("Remember me"), default=False)
  21. class LoginForm_db(DynamicForm):
  22. username = StringField(lazy_gettext("User Name"), validators=[DataRequired()])
  23. password = PasswordField(lazy_gettext("Password"), validators=[DataRequired()])
  24. class UserInfoEdit(DynamicForm):
  25. first_name = StringField(
  26. lazy_gettext("First Name"),
  27. validators=[DataRequired()],
  28. widget=BS3TextFieldWidget(),
  29. description=lazy_gettext("Write the user first name or names"),
  30. )
  31. last_name = StringField(
  32. lazy_gettext("Last Name"),
  33. validators=[DataRequired()],
  34. widget=BS3TextFieldWidget(),
  35. description=lazy_gettext("Write the user last name"),
  36. )
  37. class ResetPasswordForm(DynamicForm):
  38. password = PasswordField(
  39. lazy_gettext("Password"),
  40. description=lazy_gettext(
  41. "Please use a good password policy,"
  42. " this application does not check this for you"
  43. ),
  44. validators=[DataRequired(), PasswordComplexityValidator()],
  45. widget=BS3PasswordFieldWidget(),
  46. )
  47. conf_password = PasswordField(
  48. lazy_gettext("Confirm Password"),
  49. description=lazy_gettext("Please rewrite the password to confirm"),
  50. validators=[EqualTo("password", message=lazy_gettext("Passwords must match"))],
  51. widget=BS3PasswordFieldWidget(),
  52. )
  53. class RegisterUserDBForm(DynamicForm):
  54. username = StringField(
  55. lazy_gettext("User Name"),
  56. validators=[DataRequired()],
  57. widget=BS3TextFieldWidget(),
  58. )
  59. first_name = StringField(
  60. lazy_gettext("First Name"),
  61. validators=[DataRequired()],
  62. widget=BS3TextFieldWidget(),
  63. )
  64. last_name = StringField(
  65. lazy_gettext("Last Name"),
  66. validators=[DataRequired()],
  67. widget=BS3TextFieldWidget(),
  68. )
  69. email = StringField(
  70. lazy_gettext("Email"),
  71. validators=[DataRequired(), Email()],
  72. widget=BS3TextFieldWidget(),
  73. )
  74. password = PasswordField(
  75. lazy_gettext("Password"),
  76. description=lazy_gettext(
  77. "Please use a good password policy,"
  78. " this application does not check this for you"
  79. ),
  80. validators=[DataRequired()],
  81. widget=BS3PasswordFieldWidget(),
  82. )
  83. conf_password = PasswordField(
  84. lazy_gettext("Confirm Password"),
  85. description=lazy_gettext("Please rewrite the password to confirm"),
  86. validators=[EqualTo("password", message=lazy_gettext("Passwords must match"))],
  87. widget=BS3PasswordFieldWidget(),
  88. )
  89. recaptcha = RecaptchaField()
  90. class RegisterUserOIDForm(DynamicForm):
  91. username = StringField(
  92. lazy_gettext("User Name"),
  93. validators=[DataRequired()],
  94. widget=BS3TextFieldWidget(),
  95. )
  96. first_name = StringField(
  97. lazy_gettext("First Name"),
  98. validators=[DataRequired()],
  99. widget=BS3TextFieldWidget(),
  100. )
  101. last_name = StringField(
  102. lazy_gettext("Last Name"),
  103. validators=[DataRequired()],
  104. widget=BS3TextFieldWidget(),
  105. )
  106. email = StringField(
  107. lazy_gettext("Email"),
  108. validators=[DataRequired(), Email()],
  109. widget=BS3TextFieldWidget(),
  110. )
  111. recaptcha = RecaptchaField()