review changes

This commit is contained in:
matthewswspence 2025-03-11 15:16:36 -05:00
parent ba631dd857
commit b41e706dcd
No known key found for this signature in database
GPG key ID: FB458202A7852BA4
3 changed files with 52 additions and 53 deletions

View file

@ -607,38 +607,25 @@ class DotGovDomainForm(RegistrarForm):
}, },
) )
class PurposeDetailsForm(BaseDeletableRegistrarForm):
class ExecutiveNamingRequirementsYesNoForm(BaseYesNoForm, BaseDeletableRegistrarForm): field_name = "purpose"
"""
Form for verifying if the domain request meets the Federal Executive Branch domain naming requirements.
If the "no" option is selected, details must be provided via the separate details form.
"""
field_name = "feb_naming_requirements" purpose = forms.CharField(
label="Purpose",
@property widget=forms.Textarea(
def form_is_checked(self): attrs={
""" "aria-label": "What is the purpose of your requested domain? Describe how youll use your .gov domain. \
Determines the initial checked state of the form based on the domain_request's attributes. Will it be used for a website, email, or something else?"
""" }
return self.domain_request.feb_naming_requirements ),
class ExecutiveNamingRequirementsDetailsForm(BaseDeletableRegistrarForm):
# Text area for additional details; rendered conditionally when "no" is selected.
feb_naming_requirements_details = forms.CharField(
widget=forms.Textarea(attrs={"maxlength": "2000"}),
max_length=2000,
required=True,
error_messages={"required": ("This field is required.")},
validators=[ validators=[
MaxLengthValidator( MaxLengthValidator(
2000, 2000,
message="Response must be less than 2000 characters.", message="Response must be less than 2000 characters.",
) )
], ],
label="", error_messages={"required": "Describe how youll use the .gov domain youre requesting."},
help_text="Maximum 2000 characters allowed.",
) )

View file

@ -3,6 +3,40 @@ from django.core.validators import MaxLengthValidator
from registrar.forms.utility.wizard_form_helper import BaseDeletableRegistrarForm, BaseYesNoForm from registrar.forms.utility.wizard_form_helper import BaseDeletableRegistrarForm, BaseYesNoForm
class ExecutiveNamingRequirementsYesNoForm(BaseYesNoForm, BaseDeletableRegistrarForm):
"""
Form for verifying if the domain request meets the Federal Executive Branch domain naming requirements.
If the "no" option is selected, details must be provided via the separate details form.
"""
field_name = "feb_naming_requirements"
@property
def form_is_checked(self):
"""
Determines the initial checked state of the form based on the domain_request's attributes.
"""
return self.domain_request.feb_naming_requirements
class ExecutiveNamingRequirementsDetailsForm(BaseDeletableRegistrarForm):
# Text area for additional details; rendered conditionally when "no" is selected.
feb_naming_requirements_details = forms.CharField(
widget=forms.Textarea(attrs={"maxlength": "2000"}),
max_length=2000,
required=True,
error_messages={"required": ("This field is required.")},
validators=[
MaxLengthValidator(
2000,
message="Response must be less than 2000 characters.",
)
],
label="",
help_text="Maximum 2000 characters allowed.",
)
class FEBPurposeOptionsForm(BaseDeletableRegistrarForm): class FEBPurposeOptionsForm(BaseDeletableRegistrarForm):
field_name = "feb_purpose_choice" field_name = "feb_purpose_choice"
@ -24,28 +58,6 @@ class FEBPurposeOptionsForm(BaseDeletableRegistrarForm):
) )
class PurposeDetailsForm(BaseDeletableRegistrarForm):
field_name = "purpose"
purpose = forms.CharField(
label="Purpose",
widget=forms.Textarea(
attrs={
"aria-label": "What is the purpose of your requested domain? Describe how youll use your .gov domain. \
Will it be used for a website, email, or something else?"
}
),
validators=[
MaxLengthValidator(
2000,
message="Response must be less than 2000 characters.",
)
],
error_messages={"required": "Describe how youll use the .gov domain youre requesting."},
)
class FEBTimeFrameYesNoForm(BaseDeletableRegistrarForm, BaseYesNoForm): class FEBTimeFrameYesNoForm(BaseDeletableRegistrarForm, BaseYesNoForm):
""" """
Form for determining whether the domain request comes with a target timeframe for launch. Form for determining whether the domain request comes with a target timeframe for launch.

View file

@ -15,7 +15,7 @@ from registrar.decorators import (
grant_access, grant_access,
) )
from registrar.forms import domain_request_wizard as forms from registrar.forms import domain_request_wizard as forms
from registrar.forms.domainrequestwizard import purpose from registrar.forms import feb
from registrar.forms.utility.wizard_form_helper import request_step_list from registrar.forms.utility.wizard_form_helper import request_step_list
from registrar.models import DomainRequest from registrar.models import DomainRequest
from registrar.models.contact import Contact from registrar.models.contact import Contact
@ -707,12 +707,12 @@ class Purpose(DomainRequestWizard):
template_name = "domain_request_purpose.html" template_name = "domain_request_purpose.html"
forms = [ forms = [
purpose.FEBPurposeOptionsForm, feb.FEBPurposeOptionsForm,
purpose.PurposeDetailsForm, forms.PurposeDetailsForm,
purpose.FEBTimeFrameYesNoForm, feb.FEBTimeFrameYesNoForm,
purpose.FEBTimeFrameDetailsForm, feb.FEBTimeFrameDetailsForm,
purpose.FEBInteragencyInitiativeYesNoForm, feb.FEBInteragencyInitiativeYesNoForm,
purpose.FEBInteragencyInitiativeDetailsForm, feb.FEBInteragencyInitiativeDetailsForm,
] ]
def get_context_data(self): def get_context_data(self):