diff --git a/atst/forms/task_order.py b/atst/forms/task_order.py index 64a3d84a..fb10774e 100644 --- a/atst/forms/task_order.py +++ b/atst/forms/task_order.py @@ -9,6 +9,9 @@ from wtforms.fields import ( ) from wtforms.fields.html5 import DateField from wtforms.widgets import ListWidget, CheckboxInput +from wtforms.validators import Required, Length + +from atst.forms.validators import IsNumber from .forms import CacheableForm from .data import ( @@ -87,15 +90,23 @@ class OversightForm(CacheableForm): ko_first_name = StringField("First Name") ko_last_name = StringField("Last Name") ko_email = StringField("Email") - ko_dod_id = StringField("DOD ID") + ko_dod_id = StringField( + "DOD ID", validators=[Required(), Length(min=10), IsNumber()] + ) + cor_first_name = StringField("First Name") cor_last_name = StringField("Last Name") cor_email = StringField("Email") - cor_dod_id = StringField("DOD ID") + cor_dod_id = StringField( + "DOD ID", validators=[Required(), Length(min=10), IsNumber()] + ) + so_first_name = StringField("First Name") so_last_name = StringField("Last Name") so_email = StringField("Email") - so_dod_id = StringField("DOD ID") + so_dod_id = StringField( + "DOD ID", validators=[Required(), Length(min=10), IsNumber()] + ) ko_invite = BooleanField( "Invite KO to Task Order Builder", diff --git a/templates/components/user_info.html b/templates/components/user_info.html index 7c6378ca..244c7e0d 100644 --- a/templates/components/user_info.html +++ b/templates/components/user_info.html @@ -17,7 +17,7 @@
- {{ TextInput(dod_id, placeholder='1234567890') }} + {{ TextInput(dod_id, placeholder='1234567890', validation='dodId') }}
{% endmacro %} diff --git a/tests/routes/workspaces/test_invitations.py b/tests/routes/workspaces/test_invitations.py index 1fcc4145..0d0b4419 100644 --- a/tests/routes/workspaces/test_invitations.py +++ b/tests/routes/workspaces/test_invitations.py @@ -225,6 +225,8 @@ def test_task_order_officer_accepts_invite(monkeypatch, client, user_session): "ko_last_name": user_info["last_name"], "ko_email": user_info["email"], "ko_dod_id": user_info["dod_id"], + "so_dod_id": task_order.so_dod_id, + "cor_dod_id": task_order.cor_dod_id, "ko_invite": True, }, )