cleanup pt 2

This commit is contained in:
zandercymatics 2024-09-19 15:30:44 -06:00
parent a70d9d300d
commit 2c102f94d5
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
14 changed files with 78 additions and 87 deletions

View file

@ -225,8 +225,3 @@ abbr[title] {
.break-word {
word-break: break-word;
}
.red-incomplete-text {
color: $dhs-red-50;
font-weight: bold;
}

View file

@ -63,7 +63,6 @@ $dhs-red-90: #080102;
$dhs-red-80: #37050d;
$dhs-red-70: #660919;
$dhs-red-60: #950e24;
$dhs-red-50: #C41131;
$dhs-red: #c41230;
$dhs-red-40: #d24b62;
$dhs-red-30: #e08493;

View file

@ -22,7 +22,7 @@ from registrar.views.report_views import (
ExportDataTypeUser,
)
from registrar.views.domain_request import Step
from registrar.views.domain_request import DomainRequestStep
from registrar.views.domain_requests_json import get_domain_requests_json
from registrar.views.transfer_user import TransferUserView
from registrar.views.utility.api_views import (
@ -43,20 +43,20 @@ domain_request_urls = [
# dynamically generate the other domain_request_urls
for step, view in [
# add/remove steps here
(Step.ORGANIZATION_TYPE, views.OrganizationType),
(Step.TRIBAL_GOVERNMENT, views.TribalGovernment),
(Step.ORGANIZATION_FEDERAL, views.OrganizationFederal),
(Step.ORGANIZATION_ELECTION, views.OrganizationElection),
(Step.ORGANIZATION_CONTACT, views.OrganizationContact),
(Step.ABOUT_YOUR_ORGANIZATION, views.AboutYourOrganization),
(Step.SENIOR_OFFICIAL, views.SeniorOfficial),
(Step.CURRENT_SITES, views.CurrentSites),
(Step.DOTGOV_DOMAIN, views.DotgovDomain),
(Step.PURPOSE, views.Purpose),
(Step.OTHER_CONTACTS, views.OtherContacts),
(Step.ADDITIONAL_DETAILS, views.AdditionalDetails),
(Step.REQUIREMENTS, views.Requirements),
(Step.REVIEW, views.Review),
(DomainRequestStep.ORGANIZATION_TYPE, views.OrganizationType),
(DomainRequestStep.TRIBAL_GOVERNMENT, views.TribalGovernment),
(DomainRequestStep.ORGANIZATION_FEDERAL, views.OrganizationFederal),
(DomainRequestStep.ORGANIZATION_ELECTION, views.OrganizationElection),
(DomainRequestStep.ORGANIZATION_CONTACT, views.OrganizationContact),
(DomainRequestStep.ABOUT_YOUR_ORGANIZATION, views.AboutYourOrganization),
(DomainRequestStep.SENIOR_OFFICIAL, views.SeniorOfficial),
(DomainRequestStep.CURRENT_SITES, views.CurrentSites),
(DomainRequestStep.DOTGOV_DOMAIN, views.DotgovDomain),
(DomainRequestStep.PURPOSE, views.Purpose),
(DomainRequestStep.OTHER_CONTACTS, views.OtherContacts),
(DomainRequestStep.ADDITIONAL_DETAILS, views.AdditionalDetails),
(DomainRequestStep.REQUIREMENTS, views.Requirements),
(DomainRequestStep.REVIEW, views.Review),
]:
domain_request_urls.append(path(f"{step}/", view.as_view(), name=step))

View file

@ -4,7 +4,7 @@ from itertools import zip_longest
from typing import Callable
from django.db.models.fields.related import ForeignObjectRel
from django import forms
from registrar.utility.enums import Step
from registrar.utility.enums import DomainRequestStep
from registrar.models import DomainRequest, Contact
@ -283,7 +283,7 @@ class BaseYesNoForm(RegistrarForm):
def request_step_list(request_wizard):
"""Dynamically generated list of steps in the form wizard."""
step_list = []
for step in Step:
for step in request_wizard.StepEnum:
condition = request_wizard.WIZARD_CONDITIONS.get(step, True)
if callable(condition):
condition = condition(request_wizard)

View file

@ -1205,7 +1205,7 @@ class DomainRequest(TimeStampedModel):
def _is_creator_complete(self):
return self.creator is not None
def is_organization_name_and_address_complete(self):
def _is_organization_name_and_address_complete(self):
return not (
self.organization_name is None
and self.address_line1 is None
@ -1273,7 +1273,7 @@ class DomainRequest(TimeStampedModel):
def _is_general_form_complete(self, request):
return (
self._is_creator_complete()
and self.is_organization_name_and_address_complete()
and self._is_organization_name_and_address_complete()
and self._is_senior_official_complete()
and self._is_requested_domain_complete()
and self._is_purpose_complete()

View file

@ -19,9 +19,12 @@
{% endblock %}
{% block form_fields %}
{% include "includes/domain_request_review_steps.html" with is_editable=True %}
{% comment %}
TODO - uncomment
{% if not portfolio %}
{% include "includes/domain_request_review_steps.html" with is_editable=True %}
{% else %}
{% include "includes/portfolio_domain_request_review_steps.html" with is_editable=True %}
{% endif %}
{% endif %} {% endcomment %}
{% endblock %}

View file

@ -4,7 +4,6 @@
{% block title %}Domain request status | {{ DomainRequest.requested_domain.name }} | {% endblock %}
{% block content %}
{% include "includes/domain_request_status_view.html" %}
{% endblock %}

View file

@ -1,16 +1,6 @@
{% if contact %}
<address>
{{ contact.get_formatted_name }}<br />
{% if contact.title %}{{ contact.title }}<br />{% endif %}
{% if contact.email %}{{ contact.email }}<br />{% endif %}
{% if contact.phone %}{{ contact.phone.as_national }}{% endif %}
</address>
{% else %}
{% if custom_text_for_value_none %}
<p class="margin-top-0 margin-bottom-0 red-incomplete-text">
{{ custom_text_for_value_none }}
</p>
{% else %}
None
{% endif %}
{% endif %}

View file

@ -11,4 +11,4 @@
{% if show_withdraw_text %}
<p>If you need to change your request you have to first withdraw it. Once you withdraw the request you can edit it and submit it again. Changing your request might add to the wait time.</p>
{% endif %}
{% endif %}

View file

@ -1,4 +1,3 @@
{% if organization.is_organization_name_and_address_complete %}
<address>
{% if organization.federal_agency %}
{{ organization.federal_agency }}<br />
@ -27,12 +26,3 @@
<br />{{ organization.urbanization }}
{% endif %}
</address>
{% else %}
{% if custom_text_for_value_none %}
<p class="margin-top-0 margin-bottom-0 red-incomplete-text">
{{ custom_text_for_value_none }}
</p>
{% else %}
None
{% endif %}
{% endif %}

View file

@ -2228,11 +2228,11 @@ class TestDomainRequestIncomplete(TestCase):
@less_console_noise_decorator
def test_is_organization_name_and_address_complete(self):
self.assertTrue(self.domain_request.is_organization_name_and_address_complete())
self.assertTrue(self.domain_request._is_organization_name_and_address_complete())
self.domain_request.organization_name = None
self.domain_request.address_line1 = None
self.domain_request.save()
self.assertTrue(self.domain_request.is_organization_name_and_address_complete())
self.assertTrue(self.domain_request._is_organization_name_and_address_complete())
@less_console_noise_decorator
def test_is_senior_official_complete(self):

View file

@ -22,7 +22,7 @@ from registrar.models import (
Portfolio,
UserPortfolioPermission,
)
from registrar.views.domain_request import DomainRequestWizard, Step
from registrar.views.domain_request import DomainRequestWizard, DomainRequestStep
from .common import less_console_noise
from .test_views import TestWithUser
@ -1098,7 +1098,7 @@ class DomainRequestTests(TestWithUser, WebTest):
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
contact_page = type_result.follow()
self.assertContains(contact_page, self.TITLES[Step.ABOUT_YOUR_ORGANIZATION])
self.assertContains(contact_page, self.TITLES[DomainRequestStep.ABOUT_YOUR_ORGANIZATION])
@less_console_noise_decorator
def test_federal_agency_dropdown_excludes_expected_values(self):
@ -2327,7 +2327,7 @@ class DomainRequestTests(TestWithUser, WebTest):
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
contact_page = type_result.follow()
self.assertContains(contact_page, self.TITLES[Step.ABOUT_YOUR_ORGANIZATION])
self.assertContains(contact_page, self.TITLES[DomainRequestStep.ABOUT_YOUR_ORGANIZATION])
@less_console_noise_decorator
def test_domain_request_tribal_government(self):
@ -2359,7 +2359,7 @@ class DomainRequestTests(TestWithUser, WebTest):
tribal_government_page = type_result.follow()
# and the step is on the sidebar list.
self.assertContains(tribal_government_page, self.TITLES[Step.TRIBAL_GOVERNMENT])
self.assertContains(tribal_government_page, self.TITLES[DomainRequestStep.TRIBAL_GOVERNMENT])
@less_console_noise_decorator
def test_domain_request_so_dynamic_text(self):

View file

@ -40,17 +40,13 @@ class DefaultEmail(Enum):
LEGACY_DEFAULT = "registrar@dotgov.gov"
class Step(StrEnum):
class DomainRequestStep(StrEnum):
"""
Names for each page of the domain request wizard.
As with Django's own `TextChoices` class, steps will
appear in the order they are defined. (Order matters.)
"""
# Portfolio
# TODO - this does not exist yet.
# Fill this in for the portfolio domain request experience.
REQUESTING_ENTITY = "portfolio"
# Non-Portfolio
ORGANIZATION_TYPE = "generic_org_type"
@ -67,3 +63,20 @@ class Step(StrEnum):
ADDITIONAL_DETAILS = "additional_details"
REQUIREMENTS = "requirements"
REVIEW = "review"
class PortfolioDomainRequestStep(StrEnum):
"""
Names for each page of the portfolio domain request wizard.
As with Django's own `TextChoices` class, steps will
appear in the order they are defined. (Order matters.)
"""
# Portfolio
# TODO - this does not exist yet.
# Fill this in for the portfolio domain request experience.
REQUESTING_ENTITY = "portfolio"
CURRENT_SITES = "current_sites"
DOTGOV_DOMAIN = "dotgov_domain"
PURPOSE = "purpose"
ADDITIONAL_DETAILS = "additional_details"
REQUIREMENTS = "requirements"

View file

@ -14,7 +14,7 @@ from registrar.models.contact import Contact
from registrar.models.user import User
from registrar.views.utility import StepsHelper
from registrar.views.utility.permission_views import DomainRequestPermissionDeleteView
from registrar.utility.enums import Step
from registrar.utility.enums import DomainRequestStep, PortfolioDomainRequestStep
from .utility import (
DomainRequestPermissionView,
@ -43,7 +43,7 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
Any method not marked as internal can be overridden in a subclass,
although not without consulting the base implementation, first.
"""
StepEnum = DomainRequestStep
template_name = ""
# uniquely namespace the wizard in urls.py
@ -56,29 +56,29 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
NEW_URL_NAME = "/request/"
# We need to pass our human-readable step titles as context to the templates.
TITLES = {
Step.ORGANIZATION_TYPE: _("Type of organization"),
Step.TRIBAL_GOVERNMENT: _("Tribal government"),
Step.ORGANIZATION_FEDERAL: _("Federal government branch"),
Step.ORGANIZATION_ELECTION: _("Election office"),
Step.ORGANIZATION_CONTACT: _("Organization"),
Step.ABOUT_YOUR_ORGANIZATION: _("About your organization"),
Step.SENIOR_OFFICIAL: _("Senior official"),
Step.CURRENT_SITES: _("Current websites"),
Step.DOTGOV_DOMAIN: _(".gov domain"),
Step.PURPOSE: _("Purpose of your domain"),
Step.OTHER_CONTACTS: _("Other employees from your organization"),
Step.ADDITIONAL_DETAILS: _("Additional details"),
Step.REQUIREMENTS: _("Requirements for operating a .gov domain"),
Step.REVIEW: _("Review and submit your domain request"),
StepEnum.ORGANIZATION_TYPE: _("Type of organization"),
StepEnum.TRIBAL_GOVERNMENT: _("Tribal government"),
StepEnum.ORGANIZATION_FEDERAL: _("Federal government branch"),
StepEnum.ORGANIZATION_ELECTION: _("Election office"),
StepEnum.ORGANIZATION_CONTACT: _("Organization"),
StepEnum.ABOUT_YOUR_ORGANIZATION: _("About your organization"),
StepEnum.SENIOR_OFFICIAL: _("Senior official"),
StepEnum.CURRENT_SITES: _("Current websites"),
StepEnum.DOTGOV_DOMAIN: _(".gov domain"),
StepEnum.PURPOSE: _("Purpose of your domain"),
StepEnum.OTHER_CONTACTS: _("Other employees from your organization"),
StepEnum.ADDITIONAL_DETAILS: _("Additional details"),
StepEnum.REQUIREMENTS: _("Requirements for operating a .gov domain"),
StepEnum.REVIEW: _("Review and submit your domain request"),
}
# We can use a dictionary with step names and callables that return booleans
# to show or hide particular steps based on the state of the process.
WIZARD_CONDITIONS = {
Step.ORGANIZATION_FEDERAL: lambda w: w.from_model("show_organization_federal", False),
Step.TRIBAL_GOVERNMENT: lambda w: w.from_model("show_tribal_government", False),
Step.ORGANIZATION_ELECTION: lambda w: w.from_model("show_organization_election", False),
Step.ABOUT_YOUR_ORGANIZATION: lambda w: w.from_model("show_about_your_organization", False),
StepEnum.ORGANIZATION_FEDERAL: lambda w: w.from_model("show_organization_federal", False),
StepEnum.TRIBAL_GOVERNMENT: lambda w: w.from_model("show_tribal_government", False),
StepEnum.ORGANIZATION_ELECTION: lambda w: w.from_model("show_organization_election", False),
StepEnum.ABOUT_YOUR_ORGANIZATION: lambda w: w.from_model("show_about_your_organization", False),
}
def __init__(self):
@ -501,13 +501,15 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
# TODO - this is a WIP until the domain request experience for portfolios is complete
class PortfolioDomainRequestWizard(DomainRequestWizard):
StepEnum = PortfolioDomainRequestStep
TITLES = {
Step.REQUESTING_ENTITY: _("Requesting entity"),
Step.CURRENT_SITES: _("Current websites"),
Step.DOTGOV_DOMAIN: _(".gov domain"),
Step.PURPOSE: _("Purpose of your domain"),
Step.ADDITIONAL_DETAILS: _("Additional details"),
Step.REQUIREMENTS: _("Requirements for operating a .gov domain"),
StepEnum.REQUESTING_ENTITY: _("Requesting entity"),
StepEnum.CURRENT_SITES: _("Current websites"),
StepEnum.DOTGOV_DOMAIN: _(".gov domain"),
StepEnum.PURPOSE: _("Purpose of your domain"),
StepEnum.ADDITIONAL_DETAILS: _("Additional details"),
StepEnum.REQUIREMENTS: _("Requirements for operating a .gov domain"),
# Step.REVIEW: _("Review and submit your domain request"),
}
@ -696,7 +698,7 @@ class Review(DomainRequestWizard):
if DomainRequest._form_complete(self.domain_request, self.request) is False:
logger.warning("User arrived at review page with an incomplete form.")
context = super().get_context_data()
context["Step"] = Step.__members__
context["Step"] = DomainRequestStep.__members__
context["domain_request"] = self.domain_request
return context
@ -762,7 +764,7 @@ class DomainRequestStatusViewOnly(DomainRequestPortfolioViewonlyView):
# Create a temp wizard object to grab the step list
wizard = PortfolioDomainRequestWizard()
wizard.request = self.request
context["Step"] = Step.__members__
context["Step"] = wizard.StepEnum.__members__
context["steps"] = request_step_list(wizard)
context["form_titles"] = wizard.TITLES
return context