linting + add fields to django admin

This commit is contained in:
zandercymatics 2024-10-24 10:32:15 -06:00
parent 87d51c1002
commit 178d12711a
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
7 changed files with 143 additions and 17 deletions

View file

@ -1478,7 +1478,21 @@ class DomainInformationAdmin(ListHeaderAdmin, ImportExportModelAdmin):
search_help_text = "Search by domain." search_help_text = "Search by domain."
fieldsets = [ fieldsets = [
(None, {"fields": ["portfolio", "sub_organization", "creator", "domain_request", "notes"]}), (
None,
{
"fields": [
"portfolio",
"sub_organization",
"requested_suborganization",
"suborganization_city",
"suborganization_state_territory",
"creator",
"domain_request",
"notes",
]
},
),
(".gov domain", {"fields": ["domain"]}), (".gov domain", {"fields": ["domain"]}),
("Contacts", {"fields": ["senior_official", "other_contacts", "no_other_contacts_rationale"]}), ("Contacts", {"fields": ["senior_official", "other_contacts", "no_other_contacts_rationale"]}),
("Background info", {"fields": ["anything_else"]}), ("Background info", {"fields": ["anything_else"]}),

View file

@ -68,7 +68,9 @@ class RequestingEntityForm(RegistrarForm):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
if self.domain_request.portfolio: if self.domain_request.portfolio:
self.fields["sub_organization"].queryset = Suborganization.objects.filter(portfolio=self.domain_request.portfolio) self.fields["sub_organization"].queryset = Suborganization.objects.filter(
portfolio=self.domain_request.portfolio
)
def clean_sub_organization(self): def clean_sub_organization(self):
sub_organization = self.cleaned_data.get("sub_organization") sub_organization = self.cleaned_data.get("sub_organization")
@ -82,11 +84,11 @@ class RequestingEntityForm(RegistrarForm):
def full_clean(self): def full_clean(self):
# Remove the custom other field before cleaning # Remove the custom other field before cleaning
data = self.data.copy() if self.data else None data = self.data.copy() if self.data else None
suborganization = self.data.get('portfolio_requesting_entity-sub_organization') suborganization = self.data.get("portfolio_requesting_entity-sub_organization")
if suborganization: if suborganization:
if "other" in data['portfolio_requesting_entity-sub_organization']: if "other" in data["portfolio_requesting_entity-sub_organization"]:
# Remove the 'other' value # Remove the 'other' value
data['portfolio_requesting_entity-sub_organization'] = "" data["portfolio_requesting_entity-sub_organization"] = ""
# Set the modified data back to the form # Set the modified data back to the form
self.data = data self.data = data
@ -129,7 +131,10 @@ class RequestingEntityYesNoForm(BaseYesNoForm):
"""Extend the initialization of the form from RegistrarForm __init__""" """Extend the initialization of the form from RegistrarForm __init__"""
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
if self.domain_request.portfolio: if self.domain_request.portfolio:
self.form_choices = ((False, self.domain_request.portfolio), (True, "A suborganization. (choose from list)")) self.form_choices = (
(False, self.domain_request.portfolio),
(True, "A suborganization. (choose from list)"),
)
self.fields[self.field_name] = self.get_typed_choice_field() self.fields[self.field_name] = self.get_typed_choice_field()
@property @property
@ -138,13 +143,17 @@ class RequestingEntityYesNoForm(BaseYesNoForm):
Determines the initial checked state of the form based on the domain_request's attributes. Determines the initial checked state of the form based on the domain_request's attributes.
""" """
if self.domain_request.portfolio and self.domain_request.organization_name == self.domain_request.portfolio.organization_name: if (
self.domain_request.portfolio
and self.domain_request.organization_name == self.domain_request.portfolio.organization_name
):
return False return False
elif self.domain_request.is_suborganization(): elif self.domain_request.is_suborganization():
return True return True
else: else:
return None return None
class OrganizationTypeForm(RegistrarForm): class OrganizationTypeForm(RegistrarForm):
generic_org_type = forms.ChoiceField( generic_org_type = forms.ChoiceField(
# use the long names in the domain request form # use the long names in the domain request form

View file

@ -1,4 +1,4 @@
# Generated by Django 4.2.10 on 2024-10-23 19:15 # Generated by Django 4.2.10 on 2024-10-24 16:30
from django.db import migrations, models from django.db import migrations, models
@ -13,6 +13,88 @@ class Migration(migrations.Migration):
] ]
operations = [ operations = [
migrations.AddField(
model_name="domaininformation",
name="requested_suborganization",
field=models.CharField(blank=True, null=True),
),
migrations.AddField(
model_name="domaininformation",
name="suborganization_city",
field=models.CharField(blank=True, null=True),
),
migrations.AddField(
model_name="domaininformation",
name="suborganization_state_territory",
field=models.CharField(
blank=True,
choices=[
("AL", "Alabama (AL)"),
("AK", "Alaska (AK)"),
("AS", "American Samoa (AS)"),
("AZ", "Arizona (AZ)"),
("AR", "Arkansas (AR)"),
("CA", "California (CA)"),
("CO", "Colorado (CO)"),
("CT", "Connecticut (CT)"),
("DE", "Delaware (DE)"),
("DC", "District of Columbia (DC)"),
("FL", "Florida (FL)"),
("GA", "Georgia (GA)"),
("GU", "Guam (GU)"),
("HI", "Hawaii (HI)"),
("ID", "Idaho (ID)"),
("IL", "Illinois (IL)"),
("IN", "Indiana (IN)"),
("IA", "Iowa (IA)"),
("KS", "Kansas (KS)"),
("KY", "Kentucky (KY)"),
("LA", "Louisiana (LA)"),
("ME", "Maine (ME)"),
("MD", "Maryland (MD)"),
("MA", "Massachusetts (MA)"),
("MI", "Michigan (MI)"),
("MN", "Minnesota (MN)"),
("MS", "Mississippi (MS)"),
("MO", "Missouri (MO)"),
("MT", "Montana (MT)"),
("NE", "Nebraska (NE)"),
("NV", "Nevada (NV)"),
("NH", "New Hampshire (NH)"),
("NJ", "New Jersey (NJ)"),
("NM", "New Mexico (NM)"),
("NY", "New York (NY)"),
("NC", "North Carolina (NC)"),
("ND", "North Dakota (ND)"),
("MP", "Northern Mariana Islands (MP)"),
("OH", "Ohio (OH)"),
("OK", "Oklahoma (OK)"),
("OR", "Oregon (OR)"),
("PA", "Pennsylvania (PA)"),
("PR", "Puerto Rico (PR)"),
("RI", "Rhode Island (RI)"),
("SC", "South Carolina (SC)"),
("SD", "South Dakota (SD)"),
("TN", "Tennessee (TN)"),
("TX", "Texas (TX)"),
("UM", "United States Minor Outlying Islands (UM)"),
("UT", "Utah (UT)"),
("VT", "Vermont (VT)"),
("VI", "Virgin Islands (VI)"),
("VA", "Virginia (VA)"),
("WA", "Washington (WA)"),
("WV", "West Virginia (WV)"),
("WI", "Wisconsin (WI)"),
("WY", "Wyoming (WY)"),
("AA", "Armed Forces Americas (AA)"),
("AE", "Armed Forces Africa, Canada, Europe, Middle East (AE)"),
("AP", "Armed Forces Pacific (AP)"),
],
max_length=2,
null=True,
verbose_name="state, territory, or military post",
),
),
migrations.AddField( migrations.AddField(
model_name="domainrequest", model_name="domainrequest",
name="requested_suborganization", name="requested_suborganization",

View file

@ -75,6 +75,24 @@ class DomainInformation(TimeStampedModel):
verbose_name="Suborganization", verbose_name="Suborganization",
) )
requested_suborganization = models.CharField(
null=True,
blank=True,
)
suborganization_city = models.CharField(
null=True,
blank=True,
)
suborganization_state_territory = models.CharField(
max_length=2,
choices=StateTerritoryChoices.choices,
null=True,
blank=True,
verbose_name="state, territory, or military post",
)
domain_request = models.OneToOneField( domain_request = models.OneToOneField(
"registrar.DomainRequest", "registrar.DomainRequest",
on_delete=models.PROTECT, on_delete=models.PROTECT,

View file

@ -1230,7 +1230,8 @@ class DomainRequest(TimeStampedModel):
def has_information_required_to_make_suborganization(self) -> bool: def has_information_required_to_make_suborganization(self) -> bool:
"""Checks if we have all the information we need to create a new suborganization object. """Checks if we have all the information we need to create a new suborganization object.
Checks for a the existence of requested_suborganization, suborganization_city, suborganization_state_territory""" Checks for a the existence of requested_suborganization, suborganization_city, suborganization_state_territory
"""
if self.requested_suborganization and self.suborganization_city and self.suborganization_state_territory: if self.requested_suborganization and self.suborganization_city and self.suborganization_state_territory:
return True return True
else: else:

View file

@ -258,6 +258,7 @@ def portfolio_role_summary(user, portfolio):
else: else:
return [] return []
@register.filter(name="display_requesting_entity") @register.filter(name="display_requesting_entity")
def display_requesting_entity(domain_request): def display_requesting_entity(domain_request):
"""Workaround for a newline issue in .txt files (our emails) as if statements """Workaround for a newline issue in .txt files (our emails) as if statements

View file

@ -614,6 +614,7 @@ class RequestingEntity(DomainRequestWizard):
super().save(forms) super().save(forms)
class PortfolioAdditionalDetails(DomainRequestWizard): class PortfolioAdditionalDetails(DomainRequestWizard):
template_name = "portfolio_domain_request_additional_details.html" template_name = "portfolio_domain_request_additional_details.html"