From febc6f78908bcd0b5a0372d29d11419ba0715d58 Mon Sep 17 00:00:00 2001 From: dandds Date: Thu, 13 Jun 2019 09:10:52 -0400 Subject: [PATCH] Remove unused form code --- atst/forms/ccpo_review.py | 35 ----------- atst/forms/data.py | 108 +-------------------------------- atst/forms/exceptions.py | 9 --- atst/forms/fields.py | 11 ---- atst/forms/internal_comment.py | 14 ----- atst/forms/ko_review.py | 35 ----------- atst/forms/new_member.py | 0 atst/forms/portfolio_member.py | 6 -- atst/forms/task_order.py | 5 -- tests/forms/test_fields.py | 41 ------------- 10 files changed, 1 insertion(+), 263 deletions(-) delete mode 100644 atst/forms/ccpo_review.py delete mode 100644 atst/forms/exceptions.py delete mode 100644 atst/forms/internal_comment.py delete mode 100644 atst/forms/ko_review.py delete mode 100644 atst/forms/new_member.py delete mode 100644 tests/forms/test_fields.py diff --git a/atst/forms/ccpo_review.py b/atst/forms/ccpo_review.py deleted file mode 100644 index 639bfeef..00000000 --- a/atst/forms/ccpo_review.py +++ /dev/null @@ -1,35 +0,0 @@ -from wtforms.fields.html5 import EmailField, TelField -from wtforms.fields import StringField, TextAreaField -from wtforms.validators import Email, Optional - -from .forms import BaseForm -from .validators import Name, PhoneNumber - -from atst.utils.localization import translate - - -class CCPOReviewForm(BaseForm): - comment = TextAreaField( - translate("forms.ccpo_review.comment_label"), - description=translate("forms.ccpo_review.comment_description"), - ) - fname_mao = StringField( - translate("forms.ccpo_review.fname_mao_label"), validators=[Optional(), Name()] - ) - lname_mao = StringField( - translate("forms.ccpo_review.lname_mao_label"), validators=[Optional(), Name()] - ) - email_mao = EmailField( - translate("forms.ccpo_review.email_mao_label"), validators=[Optional(), Email()] - ) - phone_mao = TelField( - translate("forms.ccpo_review.phone_mao_label"), - validators=[Optional(), PhoneNumber()], - ) - phone_ext_mao = StringField(translate("forms.ccpo_review.phone_ext_mao_label")) - fname_ccpo = StringField( - translate("forms.ccpo_review.fname_ccpo_label"), validators=[Optional(), Name()] - ) - lname_ccpo = StringField( - translate("forms.ccpo_review.lname_ccpo_label"), validators=[Optional(), Name()] - ) diff --git a/atst/forms/data.py b/atst/forms/data.py index b2b33e9a..d855fc90 100644 --- a/atst/forms/data.py +++ b/atst/forms/data.py @@ -1,5 +1,5 @@ from atst.models import CSPRole -from atst.utils.localization import translate, translate_duration +from atst.utils.localization import translate SERVICE_BRANCHES = [ @@ -78,99 +78,6 @@ SERVICE_BRANCHES = [ ("Washington Headquarters Services", "Washington Headquarters Services"), ] -ASSISTANCE_ORG_TYPES = [ - ("In-house staff", "In-house staff"), - ("Contractor", "Contractor"), - ("Other DoD Organization", "Other DoD Organization"), - ("None", "None"), -] - -DATA_TRANSFER_AMOUNTS = [ - ("", "Select an option"), - ("Less than 100GB", "Less than 100GB"), - ("100GB-500GB", "100GB-500GB"), - ("500GB-1TB", "500GB-1TB"), - ("1TB-50TB", "1TB-50TB"), - ("50TB-100TB", "50TB-100TB"), - ("100TB-500TB", "100TB-500TB"), - ("500TB-1PB", "500TB-1PB"), - ("1PB-5PB", "1PB-5PB"), - ("5PB-10PB", "5PB-10PB"), - ("Above 10PB", "Above 10PB"), -] - -COMPLETION_DATE_RANGES = [ - ("", "Select an option"), - ("Less than 1 month", "Less than 1 month"), - ("1-3 months", "1-3 months"), - ("3-6 months", "3-6 months"), - ("Above 12 months", "Above 12 months"), -] - -ENVIRONMENT_ROLES = [ - ( - "developer", - { - "name": "Developer", - "description": "Configures cloud-based IaaS and PaaS computing, networking, and storage services.", - }, - ), - ( - "database_administrator", - { - "name": "Database Administrator", - "description": "Configures cloud-based database services.", - }, - ), - ( - "devops", - { - "name": "DevOps", - "description": "Provisions, deprovisions, and deploys cloud-based IaaS and PaaS computing, networking, and storage services, including pre-configured machine images.", - }, - ), - ( - "billing_administrator", - { - "name": "Billing Administrator", - "description": "Views cloud resource usage, budget reports, and invoices; Tracks budgets, including spend reports, cost planning and applicationions, and sets limits based on cloud service usage.", - }, - ), - ( - "security_administrator", - { - "name": "Security Administrator", - "description": "Accesses information security and control tools of cloud resources which include viewing cloud resource usage logging, user roles and permissioning history.", - }, - ), - ( - "financial_auditor", - { - "name": "Financial Auditor", - "description": "Views cloud resource usage and budget reports.", - }, - ), - ( - "", - {"name": "No Access", "description": "User has no access to this environment."}, - ), -] - -ENV_ROLE_MODAL_DESCRIPTION = { - "header": "Assign Environment Role", - "body": "An environment role determines the permissions a member of the portfolio assumes when using the JEDI Cloud.

A member may have different environment roles across different applications. A member can only have one assigned environment role in a given environment.", -} - -FUNDING_TYPES = [ - ("", "- Select -"), - ("RDTE", "Research, Development, Testing & Evaluation (RDT&E)"), - ("OM", "Operations & Maintenance (O&M)"), - ("PROC", "Procurement (PROC)"), - ("OTHER", "Other"), -] - -TASK_ORDER_SOURCES = [("MANUAL", "Manual"), ("EDA", "EDA")] - APP_MIGRATION = [ ("on_premise", translate("forms.task_order.app_migration.on_premise")), ("cloud", translate("forms.task_order.app_migration.cloud")), @@ -204,19 +111,6 @@ TEAM_EXPERIENCE = [ ("built_many", translate("forms.task_order.team_experience.built_many")), ] -PERIOD_OF_PERFORMANCE_LENGTH = [ - (str(x + 1), translate_duration(x + 1)) for x in range(24) -] - -REQUIRED_DISTRIBUTIONS = [ - ("contractor", "Contractor"), - ("subcontractor", "Subcontractor"), - ("cognizant_so", "Cognizant Security Office for Prime and Subcontractor"), - ("overseas", "U.S. Activity Responsible for Overseas Security Administration"), - ("administrative_ko", "Administrative Contracting Officer"), - ("other", "Other as necessary"), -] - ENV_ROLE_NO_ACCESS = "No Access" ENV_ROLES = [(role.value, role.value) for role in CSPRole] + [ (ENV_ROLE_NO_ACCESS, "No access") diff --git a/atst/forms/exceptions.py b/atst/forms/exceptions.py deleted file mode 100644 index 2435e8ba..00000000 --- a/atst/forms/exceptions.py +++ /dev/null @@ -1,9 +0,0 @@ -from atst.utils.localization import translate - - -class FormValidationError(Exception): - - message = translate("forms.exceptions.message") - - def __init__(self, form): - self.form = form diff --git a/atst/forms/fields.py b/atst/forms/fields.py index 84f4cd1e..900780d2 100644 --- a/atst/forms/fields.py +++ b/atst/forms/fields.py @@ -6,14 +6,3 @@ class SelectField(SelectField_): render_kw = kwargs.get("render_kw", {}) kwargs["render_kw"] = {**render_kw, "required": False} super().__init__(*args, **kwargs) - - -class FormFieldWrapper(FormField): - def has_changes(self): - if not self.object_data: - return False - - for (attr, field) in self._fields.items(): - if attr in self.object_data and self.object_data[attr] != field.data: - return True - return False diff --git a/atst/forms/internal_comment.py b/atst/forms/internal_comment.py deleted file mode 100644 index b8470139..00000000 --- a/atst/forms/internal_comment.py +++ /dev/null @@ -1,14 +0,0 @@ -from wtforms.fields import TextAreaField -from wtforms.validators import InputRequired - -from .forms import BaseForm -from atst.utils.localization import translate - - -class InternalCommentForm(BaseForm): - text = TextAreaField( - translate("forms.internal_comment.text_label"), - default="", - description=translate("forms.internal_comment.text_description"), - validators=[InputRequired()], - ) diff --git a/atst/forms/ko_review.py b/atst/forms/ko_review.py deleted file mode 100644 index 4bd73ade..00000000 --- a/atst/forms/ko_review.py +++ /dev/null @@ -1,35 +0,0 @@ -from flask_wtf.file import FileAllowed - -from wtforms.fields.html5 import DateField -from wtforms.fields import StringField, TextAreaField, FileField, FieldList -from wtforms.validators import Optional, Length - -from .forms import BaseForm - -from atst.utils.localization import translate - - -class KOReviewForm(BaseForm): - start_date = DateField( - translate("forms.ko_review.start_date_label"), format="%m/%d/%Y" - ) - end_date = DateField(translate("forms.ko_review.end_date_label"), format="%m/%d/%Y") - pdf = FileField( - translate("forms.ko_review.pdf_label"), - description=translate("forms.ko_review.pdf_description"), - validators=[ - FileAllowed(["pdf"], translate("forms.task_order.file_format_not_allowed")) - ], - render_kw={"required": False, "accept": ".pdf,application/pdf"}, - ) - number = StringField( - translate("forms.ko_review.to_number"), validators=[Length(min=10)] - ) - loas = FieldList( - StringField(translate("forms.ko_review.loa"), validators=[Optional()]) - ) - custom_clauses = TextAreaField( - translate("forms.ko_review.custom_clauses_label"), - description=translate("forms.ko_review.custom_clauses_description"), - validators=[Optional()], - ) diff --git a/atst/forms/new_member.py b/atst/forms/new_member.py deleted file mode 100644 index e69de29b..00000000 diff --git a/atst/forms/portfolio_member.py b/atst/forms/portfolio_member.py index 69f53a7a..918d1112 100644 --- a/atst/forms/portfolio_member.py +++ b/atst/forms/portfolio_member.py @@ -61,12 +61,6 @@ class MembersPermissionsForm(BaseForm): members_permissions = FieldList(FormField(PermissionsForm)) -class EditForm(PermissionsForm): - # This form also accepts a field for each environment in each application - # that the user is a member of - pass - - class NewForm(BaseForm): user_data = FormField(BaseNewMemberForm) permission_sets = FormField(PermissionsForm) diff --git a/atst/forms/task_order.py b/atst/forms/task_order.py index ff16f0a7..2585a673 100644 --- a/atst/forms/task_order.py +++ b/atst/forms/task_order.py @@ -35,11 +35,6 @@ class CLINForm(FlaskForm): loas = FieldList(StringField()) -class UnclassifiedCLINForm(CLINForm): - # TODO: overwrite jedi_clin_type to only include the unclassified options - pass - - class TaskOrderForm(BaseForm): number = StringField( label=translate("forms.task_order.number_description"), validators=[Required()] diff --git a/tests/forms/test_fields.py b/tests/forms/test_fields.py deleted file mode 100644 index bdae6c85..00000000 --- a/tests/forms/test_fields.py +++ /dev/null @@ -1,41 +0,0 @@ -import pytest -from wtforms import Form -from wtforms.fields import StringField -import pendulum -from werkzeug.datastructures import ImmutableMultiDict - -from atst.forms.fields import FormFieldWrapper - - -class PersonForm(Form): - first_name = StringField("first_name") - - -class FormWithFormField(Form): - person = FormFieldWrapper(PersonForm) - - -class TestFormFieldWrapper: - class Foo: - person = {"first_name": "Luke"} - - obj = Foo() - - def test_form_data_does_not_match_object_data(self): - form_data = ImmutableMultiDict({"person-first_name": "Han"}) - form = FormWithFormField(form_data, obj=self.obj) - assert form.person.has_changes() - - def test_when_no_form_data(self): - form = FormWithFormField(None, obj=self.obj) - assert not form.person.has_changes() - - def test_when_no_obj_data(self): - form_data = ImmutableMultiDict({"person-first_name": "Han"}) - form = FormWithFormField(form_data) - assert not form.person.has_changes() - - def test_when_form_data_matches_obj_dta(self): - form_data = ImmutableMultiDict({"person-first_name": "Luke"}) - form = FormWithFormField(form_data, obj=self.obj) - assert not form.person.has_changes()