diff --git a/atst/forms/new_member.py b/atst/forms/new_member.py new file mode 100644 index 00000000..7720b6ec --- /dev/null +++ b/atst/forms/new_member.py @@ -0,0 +1,30 @@ +from flask_wtf import Form +from wtforms.fields import StringField +from wtforms.fields.html5 import EmailField +from wtforms.validators import Required, Email, Length + +from atst.forms.validators import IsNumber +from atst.forms.fields import SelectField + + +class NewMemberForm(Form): + + first_name = StringField(label="First Name", validators=[Required()]) + last_name = StringField(label="Last Name", validators=[Required()]) + email = EmailField("Email Address", validators=[Required(), Email()]) + dod_id = StringField( + "DOD ID", validators=[Required(), Length(min=10), IsNumber()] + ) + workspace_role = SelectField( + "Workspace Role", + choices=[ + ("", "Select a Role"), + ("admin", "Admin"), + ("billing_auditor", "Billing Auditor"), + ("ccpo", "CCPO"), + ("developer", "Developer"), + ("owner", "Owner"), + ("security_auditor", "Security Auditor"), + ], + validators=[Required()] + ) diff --git a/templates/member_new.html b/templates/member_new.html index b277c868..7f616438 100644 --- a/templates/member_new.html +++ b/templates/member_new.html @@ -1,6 +1,8 @@ {% extends "base.html" %} {% from "components/icon.html" import Icon %} +{% from "components/text_input.html" import TextInput %} +{% from "components/options_input.html" import OptionsInput %} {% block content %} @@ -14,51 +16,12 @@
- - -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- + {{ TextInput(form.first_name) }} + {{ TextInput(form.last_name) }} + {{ TextInput(form.email) }} + {{ TextInput(form.dod_id) }} + {{ OptionsInput(form.workspace_role) }}
-
@@ -77,4 +40,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %}