Review Feedback: labels, organization, etc.

This commit is contained in:
Neil Martinsen-Burrell 2022-12-08 14:13:01 -06:00
parent 562e0dd297
commit 48f0369743
No known key found for this signature in database
GPG key ID: 6A3C818CC10D0184
3 changed files with 163 additions and 158 deletions

View file

@ -73,160 +73,21 @@ class OrganizationElectionForm(RegistrarForm):
class OrganizationContactForm(RegistrarForm): class OrganizationContactForm(RegistrarForm):
# for federal agencies we also want to know the top-level agency. # for federal agencies we also want to know the top-level agency.
federal_agency = forms.ChoiceField( federal_agency = forms.ChoiceField(
label="Top level federal agency", label="Federal agency",
# not required because this field won't be filled out unless # not required because this field won't be filled out unless
# it is a federal agency. # it is a federal agency.
required=False, required=False,
choices=[ choices=DomainApplication.AGENCY_CHOICES,
(v, v)
for v in [
"",
"Administrative Conference of the United States",
"Advisory Council on Historic Preservation",
"American Battle Monuments Commission",
"Appalachian Regional Commission",
(
"Appraisal Subcommittee of the Federal Financial "
"Institutions Examination Council"
),
"Armed Forces Retirement Home",
"Barry Goldwater Scholarship and Excellence in Education Program",
"Central Intelligence Agency",
"Christopher Columbus Fellowship Foundation",
"Commission for the Preservation of America's Heritage Abroad",
"Commission of Fine Arts",
"Committee for Purchase From People Who Are Blind or Severely Disabled",
"Commodity Futures Trading Commission",
"Consumer Financial Protection Bureau",
"Consumer Product Safety Commission",
"Corporation for National and Community Service",
"Council of Inspectors General on Integrity and Efficiency",
"DC Court Services and Offender Supervision Agency",
"DC Pre-trial Services",
"Defense Nuclear Facilities Safety Board",
"Delta Regional Authority",
"Denali Commission",
"Department of Agriculture",
"Department of Commerce",
"Department of Defense",
"Department of Education",
"Department of Energy",
"Department of Health and Human Services",
"Department of Homeland Security",
"Department of Housing and Urban Development",
"Department of Justice",
"Department of Labor",
"Department of State",
"Department of the Interior",
"Department of the Treasury",
"Department of Transportation",
"Department of Veterans Affairs",
"Director of National Intelligence",
"Dwight D. Eisenhower Memorial Commission",
"Election Assistance Commission",
"Environmental Protection Agency",
"Equal Employment Opportunity Commission",
"Export-Import Bank of the United States",
"Farm Credit Administration",
"Farm Credit System Insurance Corporation",
"Federal Communications Commission",
"Federal Deposit Insurance Corporation",
"Federal Election Commission",
"Federal Financial Institutions Examination Council",
"Federal Housing Finance Agency",
"Federal Judiciary",
"Federal Labor Relations Authority",
"Federal Maritime Commission",
"Federal Mediation and Conciliation Service",
"Federal Mine Safety and Health Review Commission",
"Federal Reserve System",
"Federal Trade Commission",
"General Services Administration",
"Gulf Coast Ecosystem Restoration Council",
"Harry S Truman Scholarship Foundation",
"Institute of Peace",
"Inter-American Foundation",
"International Boundary and Water Commission: United States and Mexico",
"International Boundary Commission: United States and Canada",
"International Joint Commission: United States and Canada",
"James Madison Memorial Fellowship Foundation",
"Japan-United States Friendship Commission",
"John F. Kennedy Center for the Performing Arts",
"Legal Services Corporation",
"Legislative Branch",
"Marine Mammal Commission",
"Medicare Payment Advisory Commission",
"Merit Systems Protection Board",
"Millennium Challenge Corporation",
"National Aeronautics and Space Administration",
"National Archives and Records Administration",
"National Capital Planning Commission",
"National Council on Disability",
"National Credit Union Administration",
"National Foundation on the Arts and the Humanities",
"National Gallery of Art",
"National Labor Relations Board",
"National Mediation Board",
"National Science Foundation",
"National Transportation Safety Board",
"Northern Border Regional Commission",
"Nuclear Regulatory Commission",
"Nuclear Safety Oversight Committee",
"Nuclear Waste Technical Review Board",
"Occupational Safety and Health Review Commission",
"Office of Compliance",
"Office of Government Ethics",
"Office of Navajo and Hopi Indian Relocation",
"Office of Personnel Management",
"Overseas Private Investment Corporation",
"Peace Corps",
"Pension Benefit Guaranty Corporation",
"Postal Regulatory Commission",
"Privacy and Civil Liberties Oversight Board",
"Public Defender Service for the District of Columbia",
"Railroad Retirement Board",
"Securities and Exchange Commission",
"Selective Service System",
"Small Business Administration",
"Smithsonian Institution",
"Social Security Administration",
"State Justice Institute",
"State, Local, and Tribal Government",
"Stennis Center for Public Service",
"Surface Transportation Board",
"Tennessee Valley Authority",
"The Executive Office of the President",
"U.S. Access Board",
"U.S. Agency for Global Media",
"U.S. Agency for International Development",
"U.S. Chemical Safety Board",
"U.S. China Economic and Security Review Commission",
"U.S. Commission on Civil Rights",
"U.S. Commission on International Religious Freedom",
"U.S. Interagency Council on Homelessness",
"U.S. International Trade Commission",
"U.S. Office of Special Counsel",
"U.S. Postal Service",
"U.S. Trade and Development Agency",
"Udall Foundation",
"United States African Development Foundation",
"United States Arctic Research Commission",
"United States Holocaust Memorial Museum",
"Utah Reclamation Mitigation and Conservation Commission",
"Vietnam Education Foundation",
"Woodrow Wilson International Center for Scholars",
"World War I Centennial Commission",
]
],
) )
organization_name = forms.CharField(label="Organization Name") organization_name = forms.CharField(label="Organization name")
address_line1 = forms.CharField(label="Address line 1") address_line1 = forms.CharField(label="Address line 1")
address_line2 = forms.CharField( address_line2 = forms.CharField(
required=False, required=False,
label="Address line 2", label="Address line 2",
) )
state_territory = forms.ChoiceField( state_territory = forms.ChoiceField(
label="State", choices=DomainApplication.StateTerritoryChoices.choices label="State/territory",
choices=[("", "--Select--")] + DomainApplication.StateTerritoryChoices.choices,
) )
zipcode = forms.CharField(label="ZIP code") zipcode = forms.CharField(label="ZIP code")
@ -546,24 +407,13 @@ class ApplicationWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
agency, False if we know that it is not and None if there isn't an agency, False if we know that it is not and None if there isn't an
answer yet for that question. answer yet for that question.
""" """
organization_type_data = self.get_cleaned_data_for_step("organization_type") return self.get_application_object().is_federal()
if organization_type_data is None:
return None # no answers here yet
organization_type = organization_type_data.get("organization_type")
if organization_type is None:
# they haven't answered this question
return None
else:
# they have answered this question
if organization_type == DomainApplication.OrganizationChoices.FEDERAL:
return True
return False
def get_context_data(self, form, **kwargs): def get_context_data(self, form, **kwargs):
"""Add title information to the context for all steps.""" """Add title information to the context for all steps."""
context = super().get_context_data(form=form, **kwargs) context = super().get_context_data(form=form, **kwargs)
context["form_titles"] = TITLES context["form_titles"] = TITLES
if self.steps.current == "organization_contact": if self.steps.current == Step.ORGANIZATION_CONTACT:
context["is_federal"] = self._is_federal() context["is_federal"] = self._is_federal()
return context return context

View file

@ -108,6 +108,146 @@ class DomainApplication(TimeStampedModel):
JUDICIAL = "judicial", "Judicial" JUDICIAL = "judicial", "Judicial"
LEGISLATIVE = "legislative", "Legislative" LEGISLATIVE = "legislative", "Legislative"
AGENCIES = [
"",
"Administrative Conference of the United States",
"Advisory Council on Historic Preservation",
"American Battle Monuments Commission",
"Appalachian Regional Commission",
(
"Appraisal Subcommittee of the Federal Financial "
"Institutions Examination Council"
),
"Armed Forces Retirement Home",
"Barry Goldwater Scholarship and Excellence in Education Program",
"Central Intelligence Agency",
"Christopher Columbus Fellowship Foundation",
"Commission for the Preservation of America's Heritage Abroad",
"Commission of Fine Arts",
"Committee for Purchase From People Who Are Blind or Severely Disabled",
"Commodity Futures Trading Commission",
"Consumer Financial Protection Bureau",
"Consumer Product Safety Commission",
"Corporation for National and Community Service",
"Council of Inspectors General on Integrity and Efficiency",
"DC Court Services and Offender Supervision Agency",
"DC Pre-trial Services",
"Defense Nuclear Facilities Safety Board",
"Delta Regional Authority",
"Denali Commission",
"Department of Agriculture",
"Department of Commerce",
"Department of Defense",
"Department of Education",
"Department of Energy",
"Department of Health and Human Services",
"Department of Homeland Security",
"Department of Housing and Urban Development",
"Department of Justice",
"Department of Labor",
"Department of State",
"Department of the Interior",
"Department of the Treasury",
"Department of Transportation",
"Department of Veterans Affairs",
"Director of National Intelligence",
"Dwight D. Eisenhower Memorial Commission",
"Election Assistance Commission",
"Environmental Protection Agency",
"Equal Employment Opportunity Commission",
"Export-Import Bank of the United States",
"Farm Credit Administration",
"Farm Credit System Insurance Corporation",
"Federal Communications Commission",
"Federal Deposit Insurance Corporation",
"Federal Election Commission",
"Federal Financial Institutions Examination Council",
"Federal Housing Finance Agency",
"Federal Judiciary",
"Federal Labor Relations Authority",
"Federal Maritime Commission",
"Federal Mediation and Conciliation Service",
"Federal Mine Safety and Health Review Commission",
"Federal Reserve System",
"Federal Trade Commission",
"General Services Administration",
"Gulf Coast Ecosystem Restoration Council",
"Harry S Truman Scholarship Foundation",
"Institute of Peace",
"Inter-American Foundation",
"International Boundary and Water Commission: United States and Mexico",
"International Boundary Commission: United States and Canada",
"International Joint Commission: United States and Canada",
"James Madison Memorial Fellowship Foundation",
"Japan-United States Friendship Commission",
"John F. Kennedy Center for the Performing Arts",
"Legal Services Corporation",
"Legislative Branch",
"Marine Mammal Commission",
"Medicare Payment Advisory Commission",
"Merit Systems Protection Board",
"Millennium Challenge Corporation",
"National Aeronautics and Space Administration",
"National Archives and Records Administration",
"National Capital Planning Commission",
"National Council on Disability",
"National Credit Union Administration",
"National Foundation on the Arts and the Humanities",
"National Gallery of Art",
"National Labor Relations Board",
"National Mediation Board",
"National Science Foundation",
"National Transportation Safety Board",
"Northern Border Regional Commission",
"Nuclear Regulatory Commission",
"Nuclear Safety Oversight Committee",
"Nuclear Waste Technical Review Board",
"Occupational Safety and Health Review Commission",
"Office of Compliance",
"Office of Government Ethics",
"Office of Navajo and Hopi Indian Relocation",
"Office of Personnel Management",
"Overseas Private Investment Corporation",
"Peace Corps",
"Pension Benefit Guaranty Corporation",
"Postal Regulatory Commission",
"Privacy and Civil Liberties Oversight Board",
"Public Defender Service for the District of Columbia",
"Railroad Retirement Board",
"Securities and Exchange Commission",
"Selective Service System",
"Small Business Administration",
"Smithsonian Institution",
"Social Security Administration",
"State Justice Institute",
"State, Local, and Tribal Government",
"Stennis Center for Public Service",
"Surface Transportation Board",
"Tennessee Valley Authority",
"The Executive Office of the President",
"U.S. Access Board",
"U.S. Agency for Global Media",
"U.S. Agency for International Development",
"U.S. Chemical Safety Board",
"U.S. China Economic and Security Review Commission",
"U.S. Commission on Civil Rights",
"U.S. Commission on International Religious Freedom",
"U.S. Interagency Council on Homelessness",
"U.S. International Trade Commission",
"U.S. Office of Special Counsel",
"U.S. Postal Service",
"U.S. Trade and Development Agency",
"Udall Foundation",
"United States African Development Foundation",
"United States Arctic Research Commission",
"United States Holocaust Memorial Museum",
"Utah Reclamation Mitigation and Conservation Commission",
"Vietnam Education Foundation",
"Woodrow Wilson International Center for Scholars",
"World War I Centennial Commission",
]
AGENCY_CHOICES = [(v, v) for v in AGENCIES]
# #### Internal fields about the application ##### # #### Internal fields about the application #####
status = FSMField( status = FSMField(
choices=STATUS_CHOICES, # possible states as an array of constants choices=STATUS_CHOICES, # possible states as an array of constants
@ -139,7 +279,9 @@ class DomainApplication(TimeStampedModel):
) )
federal_agency = models.TextField( federal_agency = models.TextField(
null=True, blank=False, help_text="Top level federal agency" null=True,
blank=False,
help_text="Top level federal agency",
) )
federal_type = models.CharField( federal_type = models.CharField(
@ -323,3 +465,15 @@ class DomainApplication(TimeStampedModel):
DomainApplication.OrganizationChoices.INTERSTATE, DomainApplication.OrganizationChoices.INTERSTATE,
] ]
return bool(user_choice and user_choice not in excluded) return bool(user_choice and user_choice not in excluded)
def is_federal(self) -> Union[bool, None]:
"""Is this application for a federal agency?
organization_type can be both null and blank,
"""
if not self.organization_type:
# organization_type is either blank or None, can't answer
return None
if self.organization_type == DomainApplication.OrganizationChoices.FEDERAL:
return True
return False

View file

@ -178,6 +178,7 @@ class DomainApplicationTests(TestWithUser, WebTest):
# ---- ORG CONTACT PAGE ---- # ---- ORG CONTACT PAGE ----
# Follow the redirect to the next form page # Follow the redirect to the next form page
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
org_contact_page = federal_result.follow() org_contact_page = federal_result.follow()
org_contact_form = org_contact_page.form org_contact_form = org_contact_page.form
org_contact_form["organization_contact-organization_name"] = "Testorg" org_contact_form["organization_contact-organization_name"] = "Testorg"