Merge pull request #53 from dod-ccpo/request-form-fixes

Request form fixes
This commit is contained in:
richard-dds 2018-07-06 13:44:17 -04:00 committed by GitHub
commit 9151bcef3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 9 deletions

View File

@ -1,21 +1,19 @@
from wtforms.fields.html5 import EmailField, TelField
from wtforms.fields import RadioField, StringField
from wtforms.validators import Required, Length, Email
from wtforms.validators import Required, Email
from wtforms_tornado import Form
import pendulum
from .fields import DateField
from .validators import DateRange
from .validators import DateRange, PhoneNumber
class OrgForm(Form):
fname_request = StringField("First Name", validators=[Required()])
lname_request = StringField("Last Name", validators=[Required()])
email_request = EmailField(
"Email (associated with your CAC)", validators=[Required(), Email()]
)
email_request = EmailField("Email Address", validators=[Required(), Email()])
phone_number = TelField("Phone Number", validators=[Required(), Length(min=7)])
phone_number = TelField("Phone Number", validators=[Required(), PhoneNumber()])
service_branch = StringField("Service Branch or Agency", validators=[Required()])
@ -28,7 +26,15 @@ class OrgForm(Form):
validators=[Required()],
)
designation = StringField("Designation of Person", validators=[Required()])
designation = RadioField(
"Designation of Person",
choices=[
("military", "Military"),
("civilian", "Civilian"),
("contractor", "Contractor"),
],
validators=[Required()],
)
date_latest_training = DateField(
"Latest Information Assurance (IA) Training completion date.",

View File

@ -1,3 +1,4 @@
import re
from wtforms.validators import ValidationError
import pendulum
@ -27,3 +28,16 @@ def IsNumber(message="Please enter a valid number."):
raise ValidationError(message)
return _is_number
def PhoneNumber(message="Please enter a valid 5 or 10 digit phone number."):
def _is_phone_number(form, field):
digits = re.sub(r"\D", "", field.data)
if len(digits) not in [5, 10]:
raise ValidationError(message)
match = re.match(r"[\d\-\(\) ]+", field.data)
if not match or match.group() != field.data:
raise ValidationError(message)
return _is_phone_number

View File

@ -61,13 +61,15 @@
{% end %}
</fieldset>
<fieldset class="usa-fieldset-inputs">
{{ f.designation.label }}
{{ f.designation }}
{{ f.designation(class_="usa-unstyled-list") }}
{% for e in f.designation.errors %}
<div class="usa-input-error-message">
{{ e }}
</div>
{% end %}
</fieldset>
{{ f.date_latest_training.label }}
{{ f.date_latest_training }}