Refactor forms so we can pass requests_client to validate

This commit is contained in:
Patrick Smith 2018-07-11 13:35:29 -04:00
parent d84a38eb13
commit f51dc8f07c
8 changed files with 21 additions and 12 deletions

View File

@ -1,12 +1,13 @@
from wtforms.fields.html5 import EmailField
from wtforms.fields import StringField, SelectField
from wtforms.validators import Required, Email
from wtforms_tornado import Form
from .fields import NewlineListField
from .forms import ValidatedForm
class FinancialForm(Form):
class FinancialForm(ValidatedForm):
task_order_id = StringField(
"Task Order Number associated with this request.", validators=[Required()]
)

7
atst/forms/forms.py Normal file
View File

@ -0,0 +1,7 @@
from wtforms_tornado import Form
class ValidatedForm(Form):
def validate(self, requests_client=None):
return super(ValidatedForm, self).validate()

View File

@ -1,13 +1,13 @@
from wtforms.fields.html5 import EmailField, TelField
from wtforms.fields import RadioField, StringField
from wtforms.validators import Required, Email
from wtforms_tornado import Form
import pendulum
from .fields import DateField
from .forms import ValidatedForm
from .validators import DateRange, PhoneNumber, Alphabet
class OrgForm(Form):
class OrgForm(ValidatedForm):
fname_request = StringField("First Name", validators=[Required(), Alphabet()])
lname_request = StringField("Last Name", validators=[Required(), Alphabet()])

View File

@ -1,10 +1,10 @@
from wtforms.fields import StringField
from wtforms.validators import Required, Email, Length
from wtforms_tornado import Form
from .forms import ValidatedForm
from .validators import IsNumber, Alphabet
class POCForm(Form):
class POCForm(ValidatedForm):
fname_poc = StringField("POC First Name", validators=[Required(), Alphabet()])
lname_poc = StringField("POC Last Name", validators=[Required(), Alphabet()])

View File

@ -1,13 +1,13 @@
from wtforms.fields.html5 import IntegerField
from wtforms.fields import RadioField, StringField, TextAreaField
from wtforms.validators import NumberRange, InputRequired
from wtforms_tornado import Form
from .fields import DateField
from .forms import ValidatedForm
from .validators import DateRange
import pendulum
class RequestForm(Form):
class RequestForm(ValidatedForm):
# Details of Use: Overall Request Details
dollar_value = IntegerField(

View File

@ -1,6 +1,7 @@
from wtforms.fields import BooleanField
from wtforms_tornado import Form
from .forms import ValidatedForm
class ReviewForm(Form):
class ReviewForm(ValidatedForm):
reviewed = BooleanField("I have reviewed this data and it is correct.")

View File

@ -105,7 +105,7 @@ class JEDIRequestFlow(object):
return self.form_class()()
def validate(self):
return self.form.validate()
return self.form.validate(self.requests_client)
@property
def current_screen(self):

View File

@ -37,7 +37,7 @@ def test_submit_valid_request_form(monkeypatch, http_client, base_url):
monkeypatch.setattr(
"atst.handlers.request_new.RequestNew.check_xsrf_cookie", lambda s: True
)
monkeypatch.setattr("atst.forms.request.RequestForm.validate", lambda s: True)
monkeypatch.setattr("atst.forms.request.RequestForm.validate", lambda s, c: True)
# this just needs to send a known invalid form value
response = yield http_client.fetch(