{% endblock help_text %}
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index bf54efe60..f4d28b2c2 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -18,6 +18,7 @@ from registrar.admin import (
AuditedAdmin,
ContactAdmin,
DomainInformationAdmin,
+ MyHostAdmin,
UserDomainRoleAdmin,
VerifiedByStaffAdmin,
)
@@ -30,6 +31,7 @@ from registrar.models import (
Contact,
Website,
DraftDomain,
+ Host,
)
from registrar.models.user_domain_role import UserDomainRole
from registrar.models.verified_by_staff import VerifiedByStaff
@@ -74,6 +76,13 @@ class TestDomainAdmin(MockEppLib, WebTest):
self.app.set_user(self.superuser.username)
self.client.force_login(self.superuser)
+ # Add domain data
+ self.ready_domain, _ = Domain.objects.get_or_create(name="fakeready.gov", state=Domain.State.READY)
+ self.unknown_domain, _ = Domain.objects.get_or_create(name="fakeunknown.gov", state=Domain.State.UNKNOWN)
+ self.dns_domain, _ = Domain.objects.get_or_create(name="fakedns.gov", state=Domain.State.DNS_NEEDED)
+ self.hold_domain, _ = Domain.objects.get_or_create(name="fakehold.gov", state=Domain.State.ON_HOLD)
+ self.deleted_domain, _ = Domain.objects.get_or_create(name="fakedeleted.gov", state=Domain.State.DELETED)
+
# Contains some test tools
self.test_helper = GenericTestHelper(
factory=self.factory,
@@ -85,6 +94,79 @@ class TestDomainAdmin(MockEppLib, WebTest):
)
super().setUp()
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+
+ # Create a ready domain with a preset expiration date
+ domain, _ = Domain.objects.get_or_create(name="fake.gov", state=Domain.State.READY)
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/domain/{}/change/".format(domain.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded, and that we're on the right page
+ self.assertEqual(response.status_code, 200)
+ self.assertContains(response, domain.name)
+
+ # These should exist in the response
+ expected_values = [
+ ("expiration_date", "Date the domain expires in the registry"),
+ ("first_ready_at", 'Date when this domain first moved into "ready" state; date will never change'),
+ ("deleted_at", 'Will appear blank unless the domain is in "deleted" state')
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+
+ def test_helper_text_state(self):
+ """
+ Tests for the correct state helper text on this page
+ """
+
+ expected_unknown_domain_message = (
+ "The creator of the associated domain request has not logged in to "
+ "manage the domain since it was approved. "
+ 'The state will switch to "DNS needed" after they access the domain in the registrar.'
+ )
+ expected_dns_message = (
+ "Before this domain can be used, name server addresses need "
+ "to be added within the registrar."
+ )
+ expected_hold_message = (
+ "While on hold, this domain won't resolve in DNS and "
+ "any infrastructure (like websites) will be offline.",
+ )
+ expected_deleted_message = (
+ "This domain was permanently removed from the registry. "
+ "The domain no longer resolves in DNS and any infrastructure (like websites) is offline.",
+ )
+ expected_messages = [
+ (self.ready_domain, "This domain has name servers and is ready for use."),
+ (self.unknown_domain, expected_unknown_domain_message),
+ (self.dns_domain, expected_dns_message),
+ (self.hold_domain, expected_hold_message),
+ (self.deleted_domain, expected_deleted_message),
+ ]
+
+ p = "userpass"
+ self.client.login(username="staffuser", password=p)
+ for domain, message in expected_messages:
+ with self.subTest(domain_state=domain.state):
+ response = self.client.get(
+ "/admin/registrar/domain/{}/change/".format(domain.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded, and that we're on the right page
+ self.assertEqual(response.status_code, 200)
+ self.assertContains(response, domain.name)
+
+ # Check that the right help text exists
+ self.assertContains(response, message, count=1)
+
@patch("registrar.admin.DomainAdmin._get_current_date", return_value=date(2024, 1, 1))
def test_extend_expiration_date_button(self, mock_date_today):
"""
@@ -706,6 +788,38 @@ class TestDomainRequestAdmin(MockEppLib):
)
self.mock_client = MockSESClient()
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+
+ # Create a fake domain request and domain
+ domain_request = completed_domain_request(status=DomainRequest.DomainRequestStatus.IN_REVIEW)
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/domainrequest/{}/change/".format(domain_request.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded, and that we're on the right page
+ self.assertEqual(response.status_code, 200)
+ self.assertContains(response, domain_request.requested_domain.name)
+
+ # These should exist in the response
+ expected_values = [
+ ("creator", "Person who submitted the domain request; will not receive email updates"),
+ ("submitter", 'Person listed under "your contact information" in the request form; will receive email updates'),
+ ("approved_domain", 'Domain associated with this request; will be blank until request is approved'),
+ ("no_other_contacts_rationale", "Required if creator does not list other employees"),
+ ("alternative_domains", "Other domain names the creator provided for consideration"),
+ ("no_other_contacts_rationale", "Required if creator does not list other employees"),
+ ("Urbanization", "Required for Puerto Rico only")
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+
+
@less_console_noise_decorator
def test_analyst_can_see_and_edit_alternative_domain(self):
"""Tests if an analyst can still see and edit the alternative domain field"""
@@ -2237,6 +2351,53 @@ class DomainInvitationAdminTest(TestCase):
self.assertContains(response, retrieved_html, count=1)
+
+class TestHostAdmin(TestCase):
+ def setUp(self):
+ """Setup environment for a mock admin user"""
+ super().setUp()
+ self.site = AdminSite()
+ self.factory = RequestFactory()
+ self.admin = MyHostAdmin(model=Host, admin_site=self.site)
+ self.client = Client(HTTP_HOST="localhost:8080")
+ self.superuser = create_superuser()
+ self.test_helper = GenericTestHelper(
+ factory=self.factory,
+ user=self.superuser,
+ admin=self.admin,
+ url="/admin/registrar/Host/",
+ model=Host,
+ )
+
+ def tearDown(self):
+ super().tearDown()
+ Host.objects.all().delete()
+ Domain.objects.all().delete()
+
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+ domain, _ = Domain.objects.get_or_create(name="fake.gov", state=Domain.State.READY)
+ # Create a fake host
+ host, _ = Host.objects.get_or_create(name="ns1.test.gov", domain=domain)
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/host/{}/change/".format(host.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded
+ self.assertEqual(response.status_code, 200)
+
+ # These should exist in the response
+ expected_values = [
+ ("domain", "Domain associated with this host"),
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+
class TestDomainInformationAdmin(TestCase):
def setUp(self):
"""Setup environment for a mock admin user"""
@@ -2289,6 +2450,37 @@ class TestDomainInformationAdmin(TestCase):
Contact.objects.all().delete()
User.objects.all().delete()
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+
+ # Create a fake domain request and domain
+ domain_request = completed_domain_request(status=DomainRequest.DomainRequestStatus.IN_REVIEW)
+ domain_request.approve()
+ domain_info = DomainInformation.objects.filter(domain=domain_request.approved_domain).get()
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/domaininformation/{}/change/".format(domain_info.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded, and that we're on the right page
+ self.assertEqual(response.status_code, 200)
+ self.assertContains(response, domain_info.domain.name)
+
+ # These should exist in the response
+ expected_values = [
+ ("creator", "Person who submitted the domain request"),
+ ("submitter", 'Person listed under "your contact information" in the request form'),
+ ("domain_request", 'Request associated with this domain'),
+ ("no_other_contacts_rationale", "Required if creator does not list other employees"),
+ ("urbanization", "Required for Puerto Rico only")
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+
@less_console_noise_decorator
def test_other_contacts_has_readonly_link(self):
"""Tests if the readonly other_contacts field has links"""
From cb5e9e43ea27c18e1021c312e39fa265e4a69168 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 15 Apr 2024 15:07:24 -0600
Subject: [PATCH 10/31] Unit tests part 2
---
src/registrar/tests/test_admin.py | 89 ++++++++++++++++++++++++++-----
1 file changed, 75 insertions(+), 14 deletions(-)
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index f4d28b2c2..61c02c1ce 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -117,7 +117,7 @@ class TestDomainAdmin(MockEppLib, WebTest):
expected_values = [
("expiration_date", "Date the domain expires in the registry"),
("first_ready_at", 'Date when this domain first moved into "ready" state; date will never change'),
- ("deleted_at", 'Will appear blank unless the domain is in "deleted" state')
+ ("deleted_at", 'Will appear blank unless the domain is in "deleted" state'),
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
@@ -132,8 +132,7 @@ class TestDomainAdmin(MockEppLib, WebTest):
'The state will switch to "DNS needed" after they access the domain in the registrar.'
)
expected_dns_message = (
- "Before this domain can be used, name server addresses need "
- "to be added within the registrar."
+ "Before this domain can be used, name server addresses need " "to be added within the registrar."
)
expected_hold_message = (
"While on hold, this domain won't resolve in DNS and "
@@ -810,16 +809,18 @@ class TestDomainRequestAdmin(MockEppLib):
# These should exist in the response
expected_values = [
("creator", "Person who submitted the domain request; will not receive email updates"),
- ("submitter", 'Person listed under "your contact information" in the request form; will receive email updates'),
- ("approved_domain", 'Domain associated with this request; will be blank until request is approved'),
+ (
+ "submitter",
+ 'Person listed under "your contact information" in the request form; will receive email updates',
+ ),
+ ("approved_domain", "Domain associated with this request; will be blank until request is approved"),
("no_other_contacts_rationale", "Required if creator does not list other employees"),
("alternative_domains", "Other domain names the creator provided for consideration"),
("no_other_contacts_rationale", "Required if creator does not list other employees"),
- ("Urbanization", "Required for Puerto Rico only")
+ ("Urbanization", "Required for Puerto Rico only"),
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
-
@less_console_noise_decorator
def test_analyst_can_see_and_edit_alternative_domain(self):
"""Tests if an analyst can still see and edit the alternative domain field"""
@@ -2351,7 +2352,6 @@ class DomainInvitationAdminTest(TestCase):
self.assertContains(response, retrieved_html, count=1)
-
class TestHostAdmin(TestCase):
def setUp(self):
"""Setup environment for a mock admin user"""
@@ -2368,7 +2368,7 @@ class TestHostAdmin(TestCase):
url="/admin/registrar/Host/",
model=Host,
)
-
+
def tearDown(self):
super().tearDown()
Host.objects.all().delete()
@@ -2398,6 +2398,7 @@ class TestHostAdmin(TestCase):
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+
class TestDomainInformationAdmin(TestCase):
def setUp(self):
"""Setup environment for a mock admin user"""
@@ -2475,9 +2476,9 @@ class TestDomainInformationAdmin(TestCase):
expected_values = [
("creator", "Person who submitted the domain request"),
("submitter", 'Person listed under "your contact information" in the request form'),
- ("domain_request", 'Request associated with this domain'),
+ ("domain_request", "Request associated with this domain"),
("no_other_contacts_rationale", "Required if creator does not list other employees"),
- ("urbanization", "Required for Puerto Rico only")
+ ("urbanization", "Required for Puerto Rico only"),
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
@@ -2825,7 +2826,7 @@ class UserDomainRoleAdminTest(TestCase):
self.assertContains(response, "Joe Jones AntarcticPolarBears@example.com", count=1)
-class ListHeaderAdminTest(TestCase):
+class TestListHeaderAdmin(TestCase):
def setUp(self):
self.site = AdminSite()
self.factory = RequestFactory()
@@ -2898,10 +2899,38 @@ class ListHeaderAdminTest(TestCase):
User.objects.all().delete()
-class MyUserAdminTest(TestCase):
+class TestMyUserAdmin(TestCase):
def setUp(self):
admin_site = AdminSite()
self.admin = MyUserAdmin(model=get_user_model(), admin_site=admin_site)
+ self.client = Client(HTTP_HOST="localhost:8080")
+ self.superuser = create_superuser()
+ self.test_helper = GenericTestHelper(admin=self.admin)
+
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+ user = create_user()
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/user/{}/change/".format(user.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded
+ self.assertEqual(response.status_code, 200)
+
+ # These should exist in the response
+ expected_values = [
+ ("password", "Raw passwords are not stored, so they will not display here."),
+ ("status", 'Users in "restricted" status cannot make updates in the registrar or start a new request.'),
+ ("is_staff", "Designates whether the user can log in to this admin site"),
+ ("is_superuser", "For development purposes only; provides superuser access on the database level"),
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
def test_list_display_without_username(self):
with less_console_noise():
@@ -3417,10 +3446,42 @@ class ContactAdminTest(TestCase):
User.objects.all().delete()
-class VerifiedByStaffAdminTestCase(TestCase):
+class TestVerifiedByStaffAdmin(TestCase):
def setUp(self):
+ super().setUp()
+ self.site = AdminSite()
self.superuser = create_superuser()
+ self.admin = VerifiedByStaffAdmin(model=VerifiedByStaff, admin_site=self.site)
self.factory = RequestFactory()
+ self.client = Client(HTTP_HOST="localhost:8080")
+ self.test_helper = GenericTestHelper(admin=self.admin)
+
+ def tearDown(self):
+ super().tearDown()
+ VerifiedByStaff.objects.all().delete()
+ User.objects.all().delete()
+
+ def test_helper_text(self):
+ """
+ Tests for the correct helper text on this page
+ """
+ vip_instance, _ = VerifiedByStaff.objects.get_or_create(email="test@example.com", notes="Test Notes")
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ response = self.client.get(
+ "/admin/registrar/verifiedbystaff/{}/change/".format(vip_instance.pk),
+ follow=True,
+ )
+
+ # Make sure the page loaded
+ self.assertEqual(response.status_code, 200)
+
+ # These should exist in the response
+ expected_values = [
+ ("requestor", "Person who verified this user"),
+ ]
+ self.test_helper.assert_response_contains_distinct_values(response, expected_values)
def test_save_model_sets_user_field(self):
with less_console_noise():
From 2aff68216d4098042e871c94abfd8bc01086fa85 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 15 Apr 2024 15:23:16 -0600
Subject: [PATCH 11/31] Clean up
---
src/registrar/models/domain.py | 4 ++--
src/registrar/models/utility/generic_helper.py | 2 +-
src/registrar/tests/test_admin.py | 7 ++++---
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py
index bf24bd0bc..89bf3b7d9 100644
--- a/src/registrar/models/domain.py
+++ b/src/registrar/models/domain.py
@@ -175,11 +175,11 @@ class Domain(TimeStampedModel, DomainHelper):
cls.READY: "This domain has name servers and is ready for use.",
cls.ON_HOLD: (
"While on hold, this domain won't resolve in DNS and "
- "any infrastructure (like websites) will be offline.",
+ "any infrastructure (like websites) will be offline."
),
cls.DELETED: (
"This domain was permanently removed from the registry. "
- "The domain no longer resolves in DNS and any infrastructure (like websites) is offline.",
+ "The domain no longer resolves in DNS and any infrastructure (like websites) is offline."
),
}
diff --git a/src/registrar/models/utility/generic_helper.py b/src/registrar/models/utility/generic_helper.py
index 32f767ede..a5f899d3c 100644
--- a/src/registrar/models/utility/generic_helper.py
+++ b/src/registrar/models/utility/generic_helper.py
@@ -154,7 +154,7 @@ class CreateOrUpdateOrganizationTypeHelper:
# There is no avenue for this to occur in the UI,
# as such - this can only occur if the object is initialized in this way.
# Or if there are pre-existing data.
- logger.warning(
+ logger.debug(
"create_or_update_organization_type() -> is_election_board "
f"cannot exist for {generic_org_type}. Setting to None."
)
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index 61c02c1ce..df4f87c46 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -132,15 +132,16 @@ class TestDomainAdmin(MockEppLib, WebTest):
'The state will switch to "DNS needed" after they access the domain in the registrar.'
)
expected_dns_message = (
- "Before this domain can be used, name server addresses need " "to be added within the registrar."
+ "Before this domain can be used, name server addresses need "
+ "to be added within the registrar."
)
expected_hold_message = (
"While on hold, this domain won't resolve in DNS and "
- "any infrastructure (like websites) will be offline.",
+ "any infrastructure (like websites) will be offline."
)
expected_deleted_message = (
"This domain was permanently removed from the registry. "
- "The domain no longer resolves in DNS and any infrastructure (like websites) is offline.",
+ "The domain no longer resolves in DNS and any infrastructure (like websites) is offline."
)
expected_messages = [
(self.ready_domain, "This domain has name servers and is ready for use."),
From 498becd6c05b4e61dc3b5957749a5bc0e0c5c136 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 15 Apr 2024 15:31:10 -0600
Subject: [PATCH 12/31] Update test_admin.py
---
src/registrar/tests/test_admin.py | 47 +------------------------------
1 file changed, 1 insertion(+), 46 deletions(-)
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index df4f87c46..28b7dfe48 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -94,6 +94,7 @@ class TestDomainAdmin(MockEppLib, WebTest):
)
super().setUp()
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
@@ -121,52 +122,6 @@ class TestDomainAdmin(MockEppLib, WebTest):
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
- def test_helper_text_state(self):
- """
- Tests for the correct state helper text on this page
- """
-
- expected_unknown_domain_message = (
- "The creator of the associated domain request has not logged in to "
- "manage the domain since it was approved. "
- 'The state will switch to "DNS needed" after they access the domain in the registrar.'
- )
- expected_dns_message = (
- "Before this domain can be used, name server addresses need "
- "to be added within the registrar."
- )
- expected_hold_message = (
- "While on hold, this domain won't resolve in DNS and "
- "any infrastructure (like websites) will be offline."
- )
- expected_deleted_message = (
- "This domain was permanently removed from the registry. "
- "The domain no longer resolves in DNS and any infrastructure (like websites) is offline."
- )
- expected_messages = [
- (self.ready_domain, "This domain has name servers and is ready for use."),
- (self.unknown_domain, expected_unknown_domain_message),
- (self.dns_domain, expected_dns_message),
- (self.hold_domain, expected_hold_message),
- (self.deleted_domain, expected_deleted_message),
- ]
-
- p = "userpass"
- self.client.login(username="staffuser", password=p)
- for domain, message in expected_messages:
- with self.subTest(domain_state=domain.state):
- response = self.client.get(
- "/admin/registrar/domain/{}/change/".format(domain.pk),
- follow=True,
- )
-
- # Make sure the page loaded, and that we're on the right page
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, domain.name)
-
- # Check that the right help text exists
- self.assertContains(response, message, count=1)
-
@patch("registrar.admin.DomainAdmin._get_current_date", return_value=date(2024, 1, 1))
def test_extend_expiration_date_button(self, mock_date_today):
"""
From 4fd03891e5578e13f4bd60509d795a0ddd3b24a5 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 16 Apr 2024 10:14:14 -0600
Subject: [PATCH 13/31] Fix unit test
---
...d_alter_domain_expiration_date_and_more.py | 1177 -----------------
src/registrar/models/domain_request.py | 2 +-
src/registrar/tests/test_admin.py | 49 +-
3 files changed, 46 insertions(+), 1182 deletions(-)
delete mode 100644 src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
diff --git a/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py b/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
deleted file mode 100644
index 54aa6179d..000000000
--- a/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
+++ /dev/null
@@ -1,1177 +0,0 @@
-# Generated by Django 4.2.10 on 2024-04-15 19:49
-
-from django.conf import settings
-import django.core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import django_fsm
-import registrar.models.utility.domain_field
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ("registrar", "0084_create_groups_v11"),
- ]
-
- operations = [
- migrations.AlterField(
- model_name="domain",
- name="deleted",
- field=models.DateField(
- editable=False, help_text='Will appear blank unless the domain is in "deleted" state', null=True
- ),
- ),
- migrations.AlterField(
- model_name="domain",
- name="expiration_date",
- field=models.DateField(help_text="Date the domain expires in the registry", null=True),
- ),
- migrations.AlterField(
- model_name="domain",
- name="first_ready",
- field=models.DateField(
- editable=False,
- help_text='Date when this domain first moved into "ready" state; date will never change',
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domain",
- name="name",
- field=registrar.models.utility.domain_field.DomainField(default=None, max_length=253, unique=True),
- ),
- migrations.AlterField(
- model_name="domain",
- name="state",
- field=django_fsm.FSMField(
- choices=[
- ("unknown", "Unknown"),
- ("dns needed", "Dns needed"),
- ("ready", "Ready"),
- ("on hold", "On hold"),
- ("deleted", "Deleted"),
- ],
- default="unknown",
- help_text=" ",
- max_length=21,
- protected=True,
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="about_your_organization",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="address_line1",
- field=models.CharField(blank=True, null=True, verbose_name="Street address"),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="address_line2",
- field=models.CharField(blank=True, null=True, verbose_name="Street address line 2 (optional)"),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="anything_else",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="city",
- field=models.CharField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="creator",
- field=models.ForeignKey(
- help_text="Person who submitted the domain request",
- on_delete=django.db.models.deletion.PROTECT,
- related_name="information_created",
- to=settings.AUTH_USER_MODEL,
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="domain",
- field=models.OneToOneField(
- blank=True,
- null=True,
- on_delete=django.db.models.deletion.CASCADE,
- related_name="domain_info",
- to="registrar.domain",
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="domain_request",
- field=models.OneToOneField(
- blank=True,
- help_text="Request associated with this domain",
- null=True,
- on_delete=django.db.models.deletion.PROTECT,
- related_name="DomainRequest_info",
- to="registrar.domainrequest",
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="federal_agency",
- field=models.CharField(
- blank=True,
- choices=[
- (
- "Administrative Conference of the United States",
- "Administrative Conference of the United States",
- ),
- ("Advisory Council on Historic Preservation", "Advisory Council on Historic Preservation"),
- ("American Battle Monuments Commission", "American Battle Monuments Commission"),
- ("AMTRAK", "AMTRAK"),
- ("Appalachian Regional Commission", "Appalachian Regional Commission"),
- (
- "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
- "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
- ),
- ("Appraisal Subcommittee", "Appraisal Subcommittee"),
- ("Architect of the Capitol", "Architect of the Capitol"),
- ("Armed Forces Retirement Home", "Armed Forces Retirement Home"),
- (
- "Barry Goldwater Scholarship and Excellence in Education Foundation",
- "Barry Goldwater Scholarship and Excellence in Education Foundation",
- ),
- (
- "Barry Goldwater Scholarship and Excellence in Education Program",
- "Barry Goldwater Scholarship and Excellence in Education Program",
- ),
- ("Central Intelligence Agency", "Central Intelligence Agency"),
- ("Chemical Safety Board", "Chemical Safety Board"),
- ("Christopher Columbus Fellowship Foundation", "Christopher Columbus Fellowship Foundation"),
- ("Civil Rights Cold Case Records Review Board", "Civil Rights Cold Case Records Review Board"),
- (
- "Commission for the Preservation of America's Heritage Abroad",
- "Commission for the Preservation of America's Heritage Abroad",
- ),
- ("Commission of Fine Arts", "Commission of Fine Arts"),
- (
- "Committee for Purchase From People Who Are Blind or Severely Disabled",
- "Committee for Purchase From People Who Are Blind or Severely Disabled",
- ),
- ("Commodity Futures Trading Commission", "Commodity Futures Trading Commission"),
- ("Congressional Budget Office", "Congressional Budget Office"),
- ("Consumer Financial Protection Bureau", "Consumer Financial Protection Bureau"),
- ("Consumer Product Safety Commission", "Consumer Product Safety Commission"),
- ("Corporation for National & Community Service", "Corporation for National & Community Service"),
- (
- "Corporation for National and Community Service",
- "Corporation for National and Community Service",
- ),
- (
- "Council of Inspectors General on Integrity and Efficiency",
- "Council of Inspectors General on Integrity and Efficiency",
- ),
- ("Court Services and Offender Supervision", "Court Services and Offender Supervision"),
- ("Cyberspace Solarium Commission", "Cyberspace Solarium Commission"),
- (
- "DC Court Services and Offender Supervision Agency",
- "DC Court Services and Offender Supervision Agency",
- ),
- ("DC Pre-trial Services", "DC Pre-trial Services"),
- ("Defense Nuclear Facilities Safety Board", "Defense Nuclear Facilities Safety Board"),
- ("Delta Regional Authority", "Delta Regional Authority"),
- ("Denali Commission", "Denali Commission"),
- ("Department of Agriculture", "Department of Agriculture"),
- ("Department of Commerce", "Department of Commerce"),
- ("Department of Defense", "Department of Defense"),
- ("Department of Education", "Department of Education"),
- ("Department of Energy", "Department of Energy"),
- ("Department of Health and Human Services", "Department of Health and Human Services"),
- ("Department of Homeland Security", "Department of Homeland Security"),
- ("Department of Housing and Urban Development", "Department of Housing and Urban Development"),
- ("Department of Justice", "Department of Justice"),
- ("Department of Labor", "Department of Labor"),
- ("Department of State", "Department of State"),
- ("Department of the Interior", "Department of the Interior"),
- ("Department of the Treasury", "Department of the Treasury"),
- ("Department of Transportation", "Department of Transportation"),
- ("Department of Veterans Affairs", "Department of Veterans Affairs"),
- ("Director of National Intelligence", "Director of National Intelligence"),
- ("Dwight D. Eisenhower Memorial Commission", "Dwight D. Eisenhower Memorial Commission"),
- ("Election Assistance Commission", "Election Assistance Commission"),
- ("Environmental Protection Agency", "Environmental Protection Agency"),
- ("Equal Employment Opportunity Commission", "Equal Employment Opportunity Commission"),
- ("Executive Office of the President", "Executive Office of the President"),
- ("Export-Import Bank of the United States", "Export-Import Bank of the United States"),
- ("Export/Import Bank of the U.S.", "Export/Import Bank of the U.S."),
- ("Farm Credit Administration", "Farm Credit Administration"),
- ("Farm Credit System Insurance Corporation", "Farm Credit System Insurance Corporation"),
- ("Federal Communications Commission", "Federal Communications Commission"),
- ("Federal Deposit Insurance Corporation", "Federal Deposit Insurance Corporation"),
- ("Federal Election Commission", "Federal Election Commission"),
- ("Federal Energy Regulatory Commission", "Federal Energy Regulatory Commission"),
- (
- "Federal Financial Institutions Examination Council",
- "Federal Financial Institutions Examination Council",
- ),
- ("Federal Housing Finance Agency", "Federal Housing Finance Agency"),
- ("Federal Judiciary", "Federal Judiciary"),
- ("Federal Labor Relations Authority", "Federal Labor Relations Authority"),
- ("Federal Maritime Commission", "Federal Maritime Commission"),
- ("Federal Mediation and Conciliation Service", "Federal Mediation and Conciliation Service"),
- (
- "Federal Mine Safety and Health Review Commission",
- "Federal Mine Safety and Health Review Commission",
- ),
- (
- "Federal Permitting Improvement Steering Council",
- "Federal Permitting Improvement Steering Council",
- ),
- ("Federal Reserve Board of Governors", "Federal Reserve Board of Governors"),
- ("Federal Reserve System", "Federal Reserve System"),
- ("Federal Trade Commission", "Federal Trade Commission"),
- ("General Services Administration", "General Services Administration"),
- ("gov Administration", "gov Administration"),
- ("Government Accountability Office", "Government Accountability Office"),
- ("Government Publishing Office", "Government Publishing Office"),
- ("Gulf Coast Ecosystem Restoration Council", "Gulf Coast Ecosystem Restoration Council"),
- ("Harry S Truman Scholarship Foundation", "Harry S Truman Scholarship Foundation"),
- ("Harry S. Truman Scholarship Foundation", "Harry S. Truman Scholarship Foundation"),
- ("Institute of Museum and Library Services", "Institute of Museum and Library Services"),
- ("Institute of Peace", "Institute of Peace"),
- ("Inter-American Foundation", "Inter-American Foundation"),
- (
- "International Boundary and Water Commission: United States and Mexico",
- "International Boundary and Water Commission: United States and Mexico",
- ),
- (
- "International Boundary Commission: United States and Canada",
- "International Boundary Commission: United States and Canada",
- ),
- (
- "International Joint Commission: United States and Canada",
- "International Joint Commission: United States and Canada",
- ),
- ("James Madison Memorial Fellowship Foundation", "James Madison Memorial Fellowship Foundation"),
- ("Japan-United States Friendship Commission", "Japan-United States Friendship Commission"),
- ("Japan-US Friendship Commission", "Japan-US Friendship Commission"),
- ("John F. Kennedy Center for Performing Arts", "John F. Kennedy Center for Performing Arts"),
- (
- "John F. Kennedy Center for the Performing Arts",
- "John F. Kennedy Center for the Performing Arts",
- ),
- ("Legal Services Corporation", "Legal Services Corporation"),
- ("Legislative Branch", "Legislative Branch"),
- ("Library of Congress", "Library of Congress"),
- ("Marine Mammal Commission", "Marine Mammal Commission"),
- (
- "Medicaid and CHIP Payment and Access Commission",
- "Medicaid and CHIP Payment and Access Commission",
- ),
- ("Medical Payment Advisory Commission", "Medical Payment Advisory Commission"),
- ("Medicare Payment Advisory Commission", "Medicare Payment Advisory Commission"),
- ("Merit Systems Protection Board", "Merit Systems Protection Board"),
- ("Millennium Challenge Corporation", "Millennium Challenge Corporation"),
- (
- "Morris K. Udall and Stewart L. Udall Foundation",
- "Morris K. Udall and Stewart L. Udall Foundation",
- ),
- ("National Aeronautics and Space Administration", "National Aeronautics and Space Administration"),
- ("National Archives and Records Administration", "National Archives and Records Administration"),
- ("National Capital Planning Commission", "National Capital Planning Commission"),
- ("National Council on Disability", "National Council on Disability"),
- ("National Credit Union Administration", "National Credit Union Administration"),
- ("National Endowment for the Arts", "National Endowment for the Arts"),
- ("National Endowment for the Humanities", "National Endowment for the Humanities"),
- (
- "National Foundation on the Arts and the Humanities",
- "National Foundation on the Arts and the Humanities",
- ),
- ("National Gallery of Art", "National Gallery of Art"),
- ("National Indian Gaming Commission", "National Indian Gaming Commission"),
- ("National Labor Relations Board", "National Labor Relations Board"),
- ("National Mediation Board", "National Mediation Board"),
- ("National Science Foundation", "National Science Foundation"),
- (
- "National Security Commission on Artificial Intelligence",
- "National Security Commission on Artificial Intelligence",
- ),
- ("National Transportation Safety Board", "National Transportation Safety Board"),
- (
- "Networking Information Technology Research and Development",
- "Networking Information Technology Research and Development",
- ),
- ("Non-Federal Agency", "Non-Federal Agency"),
- ("Northern Border Regional Commission", "Northern Border Regional Commission"),
- ("Nuclear Regulatory Commission", "Nuclear Regulatory Commission"),
- ("Nuclear Safety Oversight Committee", "Nuclear Safety Oversight Committee"),
- ("Nuclear Waste Technical Review Board", "Nuclear Waste Technical Review Board"),
- (
- "Occupational Safety & Health Review Commission",
- "Occupational Safety & Health Review Commission",
- ),
- (
- "Occupational Safety and Health Review Commission",
- "Occupational Safety and Health Review Commission",
- ),
- ("Office of Compliance", "Office of Compliance"),
- ("Office of Congressional Workplace Rights", "Office of Congressional Workplace Rights"),
- ("Office of Government Ethics", "Office of Government Ethics"),
- ("Office of Navajo and Hopi Indian Relocation", "Office of Navajo and Hopi Indian Relocation"),
- ("Office of Personnel Management", "Office of Personnel Management"),
- ("Open World Leadership Center", "Open World Leadership Center"),
- ("Overseas Private Investment Corporation", "Overseas Private Investment Corporation"),
- ("Peace Corps", "Peace Corps"),
- ("Pension Benefit Guaranty Corporation", "Pension Benefit Guaranty Corporation"),
- ("Postal Regulatory Commission", "Postal Regulatory Commission"),
- ("Presidio Trust", "Presidio Trust"),
- ("Privacy and Civil Liberties Oversight Board", "Privacy and Civil Liberties Oversight Board"),
- ("Public Buildings Reform Board", "Public Buildings Reform Board"),
- (
- "Public Defender Service for the District of Columbia",
- "Public Defender Service for the District of Columbia",
- ),
- ("Railroad Retirement Board", "Railroad Retirement Board"),
- ("Securities and Exchange Commission", "Securities and Exchange Commission"),
- ("Selective Service System", "Selective Service System"),
- ("Small Business Administration", "Small Business Administration"),
- ("Smithsonian Institution", "Smithsonian Institution"),
- ("Social Security Administration", "Social Security Administration"),
- ("Social Security Advisory Board", "Social Security Advisory Board"),
- ("Southeast Crescent Regional Commission", "Southeast Crescent Regional Commission"),
- ("Southwest Border Regional Commission", "Southwest Border Regional Commission"),
- ("State Justice Institute", "State Justice Institute"),
- ("State, Local, and Tribal Government", "State, Local, and Tribal Government"),
- ("Stennis Center for Public Service", "Stennis Center for Public Service"),
- ("Surface Transportation Board", "Surface Transportation Board"),
- ("Tennessee Valley Authority", "Tennessee Valley Authority"),
- ("The Executive Office of the President", "The Executive Office of the President"),
- ("The Intelligence Community", "The Intelligence Community"),
- ("The Legislative Branch", "The Legislative Branch"),
- ("The Supreme Court", "The Supreme Court"),
- (
- "The United States World War One Centennial Commission",
- "The United States World War One Centennial Commission",
- ),
- ("U.S. Access Board", "U.S. Access Board"),
- ("U.S. Agency for Global Media", "U.S. Agency for Global Media"),
- ("U.S. Agency for International Development", "U.S. Agency for International Development"),
- ("U.S. Capitol Police", "U.S. Capitol Police"),
- ("U.S. Chemical Safety Board", "U.S. Chemical Safety Board"),
- (
- "U.S. China Economic and Security Review Commission",
- "U.S. China Economic and Security Review Commission",
- ),
- (
- "U.S. Commission for the Preservation of Americas Heritage Abroad",
- "U.S. Commission for the Preservation of Americas Heritage Abroad",
- ),
- ("U.S. Commission of Fine Arts", "U.S. Commission of Fine Arts"),
- ("U.S. Commission on Civil Rights", "U.S. Commission on Civil Rights"),
- (
- "U.S. Commission on International Religious Freedom",
- "U.S. Commission on International Religious Freedom",
- ),
- ("U.S. Courts", "U.S. Courts"),
- ("U.S. Department of Agriculture", "U.S. Department of Agriculture"),
- ("U.S. Interagency Council on Homelessness", "U.S. Interagency Council on Homelessness"),
- ("U.S. International Trade Commission", "U.S. International Trade Commission"),
- ("U.S. Nuclear Waste Technical Review Board", "U.S. Nuclear Waste Technical Review Board"),
- ("U.S. Office of Special Counsel", "U.S. Office of Special Counsel"),
- ("U.S. Peace Corps", "U.S. Peace Corps"),
- ("U.S. Postal Service", "U.S. Postal Service"),
- ("U.S. Semiquincentennial Commission", "U.S. Semiquincentennial Commission"),
- ("U.S. Trade and Development Agency", "U.S. Trade and Development Agency"),
- (
- "U.S.-China Economic and Security Review Commission",
- "U.S.-China Economic and Security Review Commission",
- ),
- ("Udall Foundation", "Udall Foundation"),
- ("United States AbilityOne", "United States AbilityOne"),
- ("United States Access Board", "United States Access Board"),
- ("United States African Development Foundation", "United States African Development Foundation"),
- ("United States Agency for Global Media", "United States Agency for Global Media"),
- ("United States Arctic Research Commission", "United States Arctic Research Commission"),
- ("United States Global Change Research Program", "United States Global Change Research Program"),
- ("United States Holocaust Memorial Museum", "United States Holocaust Memorial Museum"),
- ("United States Institute of Peace", "United States Institute of Peace"),
- (
- "United States Interagency Council on Homelessness",
- "United States Interagency Council on Homelessness",
- ),
- (
- "United States International Development Finance Corporation",
- "United States International Development Finance Corporation",
- ),
- ("United States International Trade Commission", "United States International Trade Commission"),
- ("United States Postal Service", "United States Postal Service"),
- ("United States Senate", "United States Senate"),
- ("United States Trade and Development Agency", "United States Trade and Development Agency"),
- (
- "Utah Reclamation Mitigation and Conservation Commission",
- "Utah Reclamation Mitigation and Conservation Commission",
- ),
- ("Vietnam Education Foundation", "Vietnam Education Foundation"),
- ("Western Hemisphere Drug Policy Commission", "Western Hemisphere Drug Policy Commission"),
- (
- "Woodrow Wilson International Center for Scholars",
- "Woodrow Wilson International Center for Scholars",
- ),
- ("World War I Centennial Commission", "World War I Centennial Commission"),
- ],
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="federal_type",
- field=models.CharField(
- blank=True,
- choices=[("executive", "Executive"), ("judicial", "Judicial"), ("legislative", "Legislative")],
- max_length=50,
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="federally_recognized_tribe",
- field=models.BooleanField(null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="no_other_contacts_rationale",
- field=models.TextField(
- blank=True, help_text="Required if creator does not list other employees", null=True
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="notes",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="organization_name",
- field=models.CharField(blank=True, db_index=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="state_recognized_tribe",
- field=models.BooleanField(null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="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.AlterField(
- model_name="domaininformation",
- name="submitter",
- field=models.ForeignKey(
- blank=True,
- help_text='Person listed under "your contact information" in the request form',
- null=True,
- on_delete=django.db.models.deletion.PROTECT,
- related_name="submitted_domain_requests_information",
- to="registrar.contact",
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="tribe_name",
- field=models.CharField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="urbanization",
- field=models.CharField(
- blank=True,
- help_text="Required for Puerto Rico only",
- null=True,
- verbose_name="Urbanization (required for Puerto Rico only)",
- ),
- ),
- migrations.AlterField(
- model_name="domaininformation",
- name="zipcode",
- field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="about_your_organization",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="address_line1",
- field=models.CharField(blank=True, null=True, verbose_name="Address line 1"),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="address_line2",
- field=models.CharField(blank=True, null=True, verbose_name="Address line 2"),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="alternative_domains",
- field=models.ManyToManyField(
- blank=True,
- help_text="Other domain names the creator provided for consideration",
- related_name="alternatives+",
- to="registrar.website",
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="anything_else",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="approved_domain",
- field=models.OneToOneField(
- blank=True,
- help_text="Domain associated with this request; will be blank until request is approved",
- null=True,
- on_delete=django.db.models.deletion.SET_NULL,
- related_name="domain_request",
- to="registrar.domain",
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="city",
- field=models.CharField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="creator",
- field=models.ForeignKey(
- help_text="Person who submitted the domain request; will not receive email updates",
- on_delete=django.db.models.deletion.PROTECT,
- related_name="domain_requests_created",
- to=settings.AUTH_USER_MODEL,
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="federal_agency",
- field=models.CharField(
- blank=True,
- choices=[
- (
- "Administrative Conference of the United States",
- "Administrative Conference of the United States",
- ),
- ("Advisory Council on Historic Preservation", "Advisory Council on Historic Preservation"),
- ("American Battle Monuments Commission", "American Battle Monuments Commission"),
- ("AMTRAK", "AMTRAK"),
- ("Appalachian Regional Commission", "Appalachian Regional Commission"),
- (
- "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
- "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
- ),
- ("Appraisal Subcommittee", "Appraisal Subcommittee"),
- ("Architect of the Capitol", "Architect of the Capitol"),
- ("Armed Forces Retirement Home", "Armed Forces Retirement Home"),
- (
- "Barry Goldwater Scholarship and Excellence in Education Foundation",
- "Barry Goldwater Scholarship and Excellence in Education Foundation",
- ),
- (
- "Barry Goldwater Scholarship and Excellence in Education Program",
- "Barry Goldwater Scholarship and Excellence in Education Program",
- ),
- ("Central Intelligence Agency", "Central Intelligence Agency"),
- ("Chemical Safety Board", "Chemical Safety Board"),
- ("Christopher Columbus Fellowship Foundation", "Christopher Columbus Fellowship Foundation"),
- ("Civil Rights Cold Case Records Review Board", "Civil Rights Cold Case Records Review Board"),
- (
- "Commission for the Preservation of America's Heritage Abroad",
- "Commission for the Preservation of America's Heritage Abroad",
- ),
- ("Commission of Fine Arts", "Commission of Fine Arts"),
- (
- "Committee for Purchase From People Who Are Blind or Severely Disabled",
- "Committee for Purchase From People Who Are Blind or Severely Disabled",
- ),
- ("Commodity Futures Trading Commission", "Commodity Futures Trading Commission"),
- ("Congressional Budget Office", "Congressional Budget Office"),
- ("Consumer Financial Protection Bureau", "Consumer Financial Protection Bureau"),
- ("Consumer Product Safety Commission", "Consumer Product Safety Commission"),
- ("Corporation for National & Community Service", "Corporation for National & Community Service"),
- (
- "Corporation for National and Community Service",
- "Corporation for National and Community Service",
- ),
- (
- "Council of Inspectors General on Integrity and Efficiency",
- "Council of Inspectors General on Integrity and Efficiency",
- ),
- ("Court Services and Offender Supervision", "Court Services and Offender Supervision"),
- ("Cyberspace Solarium Commission", "Cyberspace Solarium Commission"),
- (
- "DC Court Services and Offender Supervision Agency",
- "DC Court Services and Offender Supervision Agency",
- ),
- ("DC Pre-trial Services", "DC Pre-trial Services"),
- ("Defense Nuclear Facilities Safety Board", "Defense Nuclear Facilities Safety Board"),
- ("Delta Regional Authority", "Delta Regional Authority"),
- ("Denali Commission", "Denali Commission"),
- ("Department of Agriculture", "Department of Agriculture"),
- ("Department of Commerce", "Department of Commerce"),
- ("Department of Defense", "Department of Defense"),
- ("Department of Education", "Department of Education"),
- ("Department of Energy", "Department of Energy"),
- ("Department of Health and Human Services", "Department of Health and Human Services"),
- ("Department of Homeland Security", "Department of Homeland Security"),
- ("Department of Housing and Urban Development", "Department of Housing and Urban Development"),
- ("Department of Justice", "Department of Justice"),
- ("Department of Labor", "Department of Labor"),
- ("Department of State", "Department of State"),
- ("Department of the Interior", "Department of the Interior"),
- ("Department of the Treasury", "Department of the Treasury"),
- ("Department of Transportation", "Department of Transportation"),
- ("Department of Veterans Affairs", "Department of Veterans Affairs"),
- ("Director of National Intelligence", "Director of National Intelligence"),
- ("Dwight D. Eisenhower Memorial Commission", "Dwight D. Eisenhower Memorial Commission"),
- ("Election Assistance Commission", "Election Assistance Commission"),
- ("Environmental Protection Agency", "Environmental Protection Agency"),
- ("Equal Employment Opportunity Commission", "Equal Employment Opportunity Commission"),
- ("Executive Office of the President", "Executive Office of the President"),
- ("Export-Import Bank of the United States", "Export-Import Bank of the United States"),
- ("Export/Import Bank of the U.S.", "Export/Import Bank of the U.S."),
- ("Farm Credit Administration", "Farm Credit Administration"),
- ("Farm Credit System Insurance Corporation", "Farm Credit System Insurance Corporation"),
- ("Federal Communications Commission", "Federal Communications Commission"),
- ("Federal Deposit Insurance Corporation", "Federal Deposit Insurance Corporation"),
- ("Federal Election Commission", "Federal Election Commission"),
- ("Federal Energy Regulatory Commission", "Federal Energy Regulatory Commission"),
- (
- "Federal Financial Institutions Examination Council",
- "Federal Financial Institutions Examination Council",
- ),
- ("Federal Housing Finance Agency", "Federal Housing Finance Agency"),
- ("Federal Judiciary", "Federal Judiciary"),
- ("Federal Labor Relations Authority", "Federal Labor Relations Authority"),
- ("Federal Maritime Commission", "Federal Maritime Commission"),
- ("Federal Mediation and Conciliation Service", "Federal Mediation and Conciliation Service"),
- (
- "Federal Mine Safety and Health Review Commission",
- "Federal Mine Safety and Health Review Commission",
- ),
- (
- "Federal Permitting Improvement Steering Council",
- "Federal Permitting Improvement Steering Council",
- ),
- ("Federal Reserve Board of Governors", "Federal Reserve Board of Governors"),
- ("Federal Reserve System", "Federal Reserve System"),
- ("Federal Trade Commission", "Federal Trade Commission"),
- ("General Services Administration", "General Services Administration"),
- ("gov Administration", "gov Administration"),
- ("Government Accountability Office", "Government Accountability Office"),
- ("Government Publishing Office", "Government Publishing Office"),
- ("Gulf Coast Ecosystem Restoration Council", "Gulf Coast Ecosystem Restoration Council"),
- ("Harry S Truman Scholarship Foundation", "Harry S Truman Scholarship Foundation"),
- ("Harry S. Truman Scholarship Foundation", "Harry S. Truman Scholarship Foundation"),
- ("Institute of Museum and Library Services", "Institute of Museum and Library Services"),
- ("Institute of Peace", "Institute of Peace"),
- ("Inter-American Foundation", "Inter-American Foundation"),
- (
- "International Boundary and Water Commission: United States and Mexico",
- "International Boundary and Water Commission: United States and Mexico",
- ),
- (
- "International Boundary Commission: United States and Canada",
- "International Boundary Commission: United States and Canada",
- ),
- (
- "International Joint Commission: United States and Canada",
- "International Joint Commission: United States and Canada",
- ),
- ("James Madison Memorial Fellowship Foundation", "James Madison Memorial Fellowship Foundation"),
- ("Japan-United States Friendship Commission", "Japan-United States Friendship Commission"),
- ("Japan-US Friendship Commission", "Japan-US Friendship Commission"),
- ("John F. Kennedy Center for Performing Arts", "John F. Kennedy Center for Performing Arts"),
- (
- "John F. Kennedy Center for the Performing Arts",
- "John F. Kennedy Center for the Performing Arts",
- ),
- ("Legal Services Corporation", "Legal Services Corporation"),
- ("Legislative Branch", "Legislative Branch"),
- ("Library of Congress", "Library of Congress"),
- ("Marine Mammal Commission", "Marine Mammal Commission"),
- (
- "Medicaid and CHIP Payment and Access Commission",
- "Medicaid and CHIP Payment and Access Commission",
- ),
- ("Medical Payment Advisory Commission", "Medical Payment Advisory Commission"),
- ("Medicare Payment Advisory Commission", "Medicare Payment Advisory Commission"),
- ("Merit Systems Protection Board", "Merit Systems Protection Board"),
- ("Millennium Challenge Corporation", "Millennium Challenge Corporation"),
- (
- "Morris K. Udall and Stewart L. Udall Foundation",
- "Morris K. Udall and Stewart L. Udall Foundation",
- ),
- ("National Aeronautics and Space Administration", "National Aeronautics and Space Administration"),
- ("National Archives and Records Administration", "National Archives and Records Administration"),
- ("National Capital Planning Commission", "National Capital Planning Commission"),
- ("National Council on Disability", "National Council on Disability"),
- ("National Credit Union Administration", "National Credit Union Administration"),
- ("National Endowment for the Arts", "National Endowment for the Arts"),
- ("National Endowment for the Humanities", "National Endowment for the Humanities"),
- (
- "National Foundation on the Arts and the Humanities",
- "National Foundation on the Arts and the Humanities",
- ),
- ("National Gallery of Art", "National Gallery of Art"),
- ("National Indian Gaming Commission", "National Indian Gaming Commission"),
- ("National Labor Relations Board", "National Labor Relations Board"),
- ("National Mediation Board", "National Mediation Board"),
- ("National Science Foundation", "National Science Foundation"),
- (
- "National Security Commission on Artificial Intelligence",
- "National Security Commission on Artificial Intelligence",
- ),
- ("National Transportation Safety Board", "National Transportation Safety Board"),
- (
- "Networking Information Technology Research and Development",
- "Networking Information Technology Research and Development",
- ),
- ("Non-Federal Agency", "Non-Federal Agency"),
- ("Northern Border Regional Commission", "Northern Border Regional Commission"),
- ("Nuclear Regulatory Commission", "Nuclear Regulatory Commission"),
- ("Nuclear Safety Oversight Committee", "Nuclear Safety Oversight Committee"),
- ("Nuclear Waste Technical Review Board", "Nuclear Waste Technical Review Board"),
- (
- "Occupational Safety & Health Review Commission",
- "Occupational Safety & Health Review Commission",
- ),
- (
- "Occupational Safety and Health Review Commission",
- "Occupational Safety and Health Review Commission",
- ),
- ("Office of Compliance", "Office of Compliance"),
- ("Office of Congressional Workplace Rights", "Office of Congressional Workplace Rights"),
- ("Office of Government Ethics", "Office of Government Ethics"),
- ("Office of Navajo and Hopi Indian Relocation", "Office of Navajo and Hopi Indian Relocation"),
- ("Office of Personnel Management", "Office of Personnel Management"),
- ("Open World Leadership Center", "Open World Leadership Center"),
- ("Overseas Private Investment Corporation", "Overseas Private Investment Corporation"),
- ("Peace Corps", "Peace Corps"),
- ("Pension Benefit Guaranty Corporation", "Pension Benefit Guaranty Corporation"),
- ("Postal Regulatory Commission", "Postal Regulatory Commission"),
- ("Presidio Trust", "Presidio Trust"),
- ("Privacy and Civil Liberties Oversight Board", "Privacy and Civil Liberties Oversight Board"),
- ("Public Buildings Reform Board", "Public Buildings Reform Board"),
- (
- "Public Defender Service for the District of Columbia",
- "Public Defender Service for the District of Columbia",
- ),
- ("Railroad Retirement Board", "Railroad Retirement Board"),
- ("Securities and Exchange Commission", "Securities and Exchange Commission"),
- ("Selective Service System", "Selective Service System"),
- ("Small Business Administration", "Small Business Administration"),
- ("Smithsonian Institution", "Smithsonian Institution"),
- ("Social Security Administration", "Social Security Administration"),
- ("Social Security Advisory Board", "Social Security Advisory Board"),
- ("Southeast Crescent Regional Commission", "Southeast Crescent Regional Commission"),
- ("Southwest Border Regional Commission", "Southwest Border Regional Commission"),
- ("State Justice Institute", "State Justice Institute"),
- ("State, Local, and Tribal Government", "State, Local, and Tribal Government"),
- ("Stennis Center for Public Service", "Stennis Center for Public Service"),
- ("Surface Transportation Board", "Surface Transportation Board"),
- ("Tennessee Valley Authority", "Tennessee Valley Authority"),
- ("The Executive Office of the President", "The Executive Office of the President"),
- ("The Intelligence Community", "The Intelligence Community"),
- ("The Legislative Branch", "The Legislative Branch"),
- ("The Supreme Court", "The Supreme Court"),
- (
- "The United States World War One Centennial Commission",
- "The United States World War One Centennial Commission",
- ),
- ("U.S. Access Board", "U.S. Access Board"),
- ("U.S. Agency for Global Media", "U.S. Agency for Global Media"),
- ("U.S. Agency for International Development", "U.S. Agency for International Development"),
- ("U.S. Capitol Police", "U.S. Capitol Police"),
- ("U.S. Chemical Safety Board", "U.S. Chemical Safety Board"),
- (
- "U.S. China Economic and Security Review Commission",
- "U.S. China Economic and Security Review Commission",
- ),
- (
- "U.S. Commission for the Preservation of Americas Heritage Abroad",
- "U.S. Commission for the Preservation of Americas Heritage Abroad",
- ),
- ("U.S. Commission of Fine Arts", "U.S. Commission of Fine Arts"),
- ("U.S. Commission on Civil Rights", "U.S. Commission on Civil Rights"),
- (
- "U.S. Commission on International Religious Freedom",
- "U.S. Commission on International Religious Freedom",
- ),
- ("U.S. Courts", "U.S. Courts"),
- ("U.S. Department of Agriculture", "U.S. Department of Agriculture"),
- ("U.S. Interagency Council on Homelessness", "U.S. Interagency Council on Homelessness"),
- ("U.S. International Trade Commission", "U.S. International Trade Commission"),
- ("U.S. Nuclear Waste Technical Review Board", "U.S. Nuclear Waste Technical Review Board"),
- ("U.S. Office of Special Counsel", "U.S. Office of Special Counsel"),
- ("U.S. Peace Corps", "U.S. Peace Corps"),
- ("U.S. Postal Service", "U.S. Postal Service"),
- ("U.S. Semiquincentennial Commission", "U.S. Semiquincentennial Commission"),
- ("U.S. Trade and Development Agency", "U.S. Trade and Development Agency"),
- (
- "U.S.-China Economic and Security Review Commission",
- "U.S.-China Economic and Security Review Commission",
- ),
- ("Udall Foundation", "Udall Foundation"),
- ("United States AbilityOne", "United States AbilityOne"),
- ("United States Access Board", "United States Access Board"),
- ("United States African Development Foundation", "United States African Development Foundation"),
- ("United States Agency for Global Media", "United States Agency for Global Media"),
- ("United States Arctic Research Commission", "United States Arctic Research Commission"),
- ("United States Global Change Research Program", "United States Global Change Research Program"),
- ("United States Holocaust Memorial Museum", "United States Holocaust Memorial Museum"),
- ("United States Institute of Peace", "United States Institute of Peace"),
- (
- "United States Interagency Council on Homelessness",
- "United States Interagency Council on Homelessness",
- ),
- (
- "United States International Development Finance Corporation",
- "United States International Development Finance Corporation",
- ),
- ("United States International Trade Commission", "United States International Trade Commission"),
- ("United States Postal Service", "United States Postal Service"),
- ("United States Senate", "United States Senate"),
- ("United States Trade and Development Agency", "United States Trade and Development Agency"),
- (
- "Utah Reclamation Mitigation and Conservation Commission",
- "Utah Reclamation Mitigation and Conservation Commission",
- ),
- ("Vietnam Education Foundation", "Vietnam Education Foundation"),
- ("Western Hemisphere Drug Policy Commission", "Western Hemisphere Drug Policy Commission"),
- (
- "Woodrow Wilson International Center for Scholars",
- "Woodrow Wilson International Center for Scholars",
- ),
- ("World War I Centennial Commission", "World War I Centennial Commission"),
- ],
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="federal_type",
- field=models.CharField(
- blank=True,
- choices=[("executive", "Executive"), ("judicial", "Judicial"), ("legislative", "Legislative")],
- max_length=50,
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="federally_recognized_tribe",
- field=models.BooleanField(null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="generic_org_type",
- field=models.CharField(
- blank=True,
- choices=[
- ("federal", "Federal"),
- ("interstate", "Interstate"),
- ("state_or_territory", "State or territory"),
- ("tribal", "Tribal"),
- ("county", "County"),
- ("city", "City"),
- ("special_district", "Special district"),
- ("school_district", "School district"),
- ],
- max_length=255,
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="is_election_board",
- field=models.BooleanField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="no_other_contacts_rationale",
- field=models.TextField(
- blank=True, help_text="Required if creator does not list other employees", null=True
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="notes",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="organization_name",
- field=models.CharField(blank=True, db_index=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="purpose",
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="requested_domain",
- field=models.OneToOneField(
- blank=True,
- null=True,
- on_delete=django.db.models.deletion.PROTECT,
- related_name="domain_request",
- to="registrar.draftdomain",
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="state_recognized_tribe",
- field=models.BooleanField(null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="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,
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="submitter",
- field=models.ForeignKey(
- blank=True,
- help_text='Person listed under "your contact information" in the request form; will receive email updates',
- null=True,
- on_delete=django.db.models.deletion.PROTECT,
- related_name="submitted_domain_requests",
- to="registrar.contact",
- ),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="tribe_name",
- field=models.CharField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="urbanization",
- field=models.CharField(blank=True, help_text="Required for Puetro Rico only", null=True),
- ),
- migrations.AlterField(
- model_name="domainrequest",
- name="zipcode",
- field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
- ),
- migrations.AlterField(
- model_name="host",
- name="domain",
- field=models.ForeignKey(
- help_text="Domain associated with this host",
- on_delete=django.db.models.deletion.PROTECT,
- related_name="host",
- to="registrar.domain",
- ),
- ),
- migrations.AlterField(
- model_name="host",
- name="name",
- field=models.CharField(default=None, max_length=253),
- ),
- migrations.AlterField(
- model_name="hostip",
- name="address",
- field=models.CharField(
- default=None, max_length=46, validators=[django.core.validators.validate_ipv46_address]
- ),
- ),
- migrations.AlterField(
- model_name="hostip",
- name="host",
- field=models.ForeignKey(
- help_text="IP associated with this host",
- on_delete=django.db.models.deletion.PROTECT,
- related_name="ip",
- to="registrar.host",
- ),
- ),
- migrations.AlterField(
- model_name="user",
- name="status",
- field=models.CharField(
- blank=True,
- choices=[("restricted", "restricted")],
- default=None,
- help_text='Users in "restricted" status cannot make updates in the registrar or start a new request.',
- max_length=10,
- null=True,
- ),
- ),
- migrations.AlterField(
- model_name="verifiedbystaff",
- name="email",
- field=models.EmailField(db_index=True, max_length=254),
- ),
- migrations.AlterField(
- model_name="verifiedbystaff",
- name="notes",
- field=models.TextField(),
- ),
- migrations.AlterField(
- model_name="verifiedbystaff",
- name="requestor",
- field=models.ForeignKey(
- blank=True,
- help_text="Person who verified this user",
- null=True,
- on_delete=django.db.models.deletion.SET_NULL,
- related_name="verifiedby_user",
- to=settings.AUTH_USER_MODEL,
- ),
- ),
- migrations.AlterField(
- model_name="website",
- name="website",
- field=models.CharField(
- help_text="An alternative domain or current website listed on a domain request", max_length=255
- ),
- ),
- ]
diff --git a/src/registrar/models/domain_request.py b/src/registrar/models/domain_request.py
index cab3c1650..7bcd36e8a 100644
--- a/src/registrar/models/domain_request.py
+++ b/src/registrar/models/domain_request.py
@@ -550,7 +550,7 @@ class DomainRequest(TimeStampedModel):
urbanization = models.CharField(
null=True,
blank=True,
- help_text="Required for Puetro Rico only",
+ help_text="Required for Puerto Rico only",
)
about_your_organization = models.TextField(
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index 28b7dfe48..9791fdd68 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -122,6 +122,40 @@ class TestDomainAdmin(MockEppLib, WebTest):
]
self.test_helper.assert_response_contains_distinct_values(response, expected_values)
+ @less_console_noise_decorator
+ def test_helper_text_state(self):
+ """
+ Tests for the correct state helper text on this page
+ """
+
+ # We don't need to check for all text content, just a portion of it
+ expected_unknown_domain_message = "The creator of the associated domain request has not logged in to"
+ expected_dns_message = "Before this domain can be used, name server addresses need"
+ expected_hold_message = "While on hold, this domain"
+ expected_deleted_message = "This domain was permanently removed from the registry."
+ expected_messages = [
+ (self.ready_domain, "This domain has name servers and is ready for use."),
+ (self.unknown_domain, expected_unknown_domain_message),
+ (self.dns_domain, expected_dns_message),
+ (self.hold_domain, expected_hold_message),
+ (self.deleted_domain, expected_deleted_message),
+ ]
+
+ p = "adminpass"
+ self.client.login(username="superuser", password=p)
+ for domain, message in expected_messages:
+ with self.subTest(domain_state=domain.state):
+ response = self.client.get(
+ "/admin/registrar/domain/{}/change/".format(domain.id),
+ )
+
+ # Make sure the page loaded, and that we're on the right page
+ self.assertEqual(response.status_code, 200)
+ self.assertContains(response, domain.name)
+
+ # Check that the right help text exists
+ self.assertContains(response, message)
+
@patch("registrar.admin.DomainAdmin._get_current_date", return_value=date(2024, 1, 1))
def test_extend_expiration_date_button(self, mock_date_today):
"""
@@ -743,6 +777,7 @@ class TestDomainRequestAdmin(MockEppLib):
)
self.mock_client = MockSESClient()
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
@@ -2330,6 +2365,7 @@ class TestHostAdmin(TestCase):
Host.objects.all().delete()
Domain.objects.all().delete()
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
@@ -2407,6 +2443,7 @@ class TestDomainInformationAdmin(TestCase):
Contact.objects.all().delete()
User.objects.all().delete()
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
@@ -2863,6 +2900,11 @@ class TestMyUserAdmin(TestCase):
self.superuser = create_superuser()
self.test_helper = GenericTestHelper(admin=self.admin)
+ def tearDown(self):
+ super().tearDown()
+ User.objects.all().delete()
+
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
@@ -2908,8 +2950,9 @@ class TestMyUserAdmin(TestCase):
def test_get_fieldsets_superuser(self):
with less_console_noise():
request = self.client.request().wsgi_request
- request.user = create_superuser()
+ request.user = self.superuser
fieldsets = self.admin.get_fieldsets(request)
+
expected_fieldsets = super(MyUserAdmin, self.admin).get_fieldsets(request)
self.assertEqual(fieldsets, expected_fieldsets)
@@ -2926,9 +2969,6 @@ class TestMyUserAdmin(TestCase):
)
self.assertEqual(fieldsets, expected_fieldsets)
- def tearDown(self):
- User.objects.all().delete()
-
class AuditedAdminTest(TestCase):
def setUp(self):
@@ -3417,6 +3457,7 @@ class TestVerifiedByStaffAdmin(TestCase):
VerifiedByStaff.objects.all().delete()
User.objects.all().delete()
+ @less_console_noise_decorator
def test_helper_text(self):
"""
Tests for the correct helper text on this page
From f8ea204e77c4118643d3aa177d82e8ebfffb9ab0 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 16 Apr 2024 10:17:08 -0600
Subject: [PATCH 14/31] Readd migration
---
...d_alter_domain_expiration_date_and_more.py | 1177 +++++++++++++++++
1 file changed, 1177 insertions(+)
create mode 100644 src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
diff --git a/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py b/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
new file mode 100644
index 000000000..3590d3869
--- /dev/null
+++ b/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
@@ -0,0 +1,1177 @@
+# Generated by Django 4.2.10 on 2024-04-16 16:17
+
+from django.conf import settings
+import django.core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+import django_fsm
+import registrar.models.utility.domain_field
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("registrar", "0084_create_groups_v11"),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name="domain",
+ name="deleted",
+ field=models.DateField(
+ editable=False, help_text='Will appear blank unless the domain is in "deleted" state', null=True
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domain",
+ name="expiration_date",
+ field=models.DateField(help_text="Date the domain expires in the registry", null=True),
+ ),
+ migrations.AlterField(
+ model_name="domain",
+ name="first_ready",
+ field=models.DateField(
+ editable=False,
+ help_text='Date when this domain first moved into "ready" state; date will never change',
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domain",
+ name="name",
+ field=registrar.models.utility.domain_field.DomainField(default=None, max_length=253, unique=True),
+ ),
+ migrations.AlterField(
+ model_name="domain",
+ name="state",
+ field=django_fsm.FSMField(
+ choices=[
+ ("unknown", "Unknown"),
+ ("dns needed", "Dns needed"),
+ ("ready", "Ready"),
+ ("on hold", "On hold"),
+ ("deleted", "Deleted"),
+ ],
+ default="unknown",
+ help_text=" ",
+ max_length=21,
+ protected=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="about_your_organization",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="address_line1",
+ field=models.CharField(blank=True, null=True, verbose_name="Street address"),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="address_line2",
+ field=models.CharField(blank=True, null=True, verbose_name="Street address line 2 (optional)"),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="anything_else",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="city",
+ field=models.CharField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="creator",
+ field=models.ForeignKey(
+ help_text="Person who submitted the domain request",
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="information_created",
+ to=settings.AUTH_USER_MODEL,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="domain",
+ field=models.OneToOneField(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="domain_info",
+ to="registrar.domain",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="domain_request",
+ field=models.OneToOneField(
+ blank=True,
+ help_text="Request associated with this domain",
+ null=True,
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="DomainRequest_info",
+ to="registrar.domainrequest",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="federal_agency",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ (
+ "Administrative Conference of the United States",
+ "Administrative Conference of the United States",
+ ),
+ ("Advisory Council on Historic Preservation", "Advisory Council on Historic Preservation"),
+ ("American Battle Monuments Commission", "American Battle Monuments Commission"),
+ ("AMTRAK", "AMTRAK"),
+ ("Appalachian Regional Commission", "Appalachian Regional Commission"),
+ (
+ "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
+ "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
+ ),
+ ("Appraisal Subcommittee", "Appraisal Subcommittee"),
+ ("Architect of the Capitol", "Architect of the Capitol"),
+ ("Armed Forces Retirement Home", "Armed Forces Retirement Home"),
+ (
+ "Barry Goldwater Scholarship and Excellence in Education Foundation",
+ "Barry Goldwater Scholarship and Excellence in Education Foundation",
+ ),
+ (
+ "Barry Goldwater Scholarship and Excellence in Education Program",
+ "Barry Goldwater Scholarship and Excellence in Education Program",
+ ),
+ ("Central Intelligence Agency", "Central Intelligence Agency"),
+ ("Chemical Safety Board", "Chemical Safety Board"),
+ ("Christopher Columbus Fellowship Foundation", "Christopher Columbus Fellowship Foundation"),
+ ("Civil Rights Cold Case Records Review Board", "Civil Rights Cold Case Records Review Board"),
+ (
+ "Commission for the Preservation of America's Heritage Abroad",
+ "Commission for the Preservation of America's Heritage Abroad",
+ ),
+ ("Commission of Fine Arts", "Commission of Fine Arts"),
+ (
+ "Committee for Purchase From People Who Are Blind or Severely Disabled",
+ "Committee for Purchase From People Who Are Blind or Severely Disabled",
+ ),
+ ("Commodity Futures Trading Commission", "Commodity Futures Trading Commission"),
+ ("Congressional Budget Office", "Congressional Budget Office"),
+ ("Consumer Financial Protection Bureau", "Consumer Financial Protection Bureau"),
+ ("Consumer Product Safety Commission", "Consumer Product Safety Commission"),
+ ("Corporation for National & Community Service", "Corporation for National & Community Service"),
+ (
+ "Corporation for National and Community Service",
+ "Corporation for National and Community Service",
+ ),
+ (
+ "Council of Inspectors General on Integrity and Efficiency",
+ "Council of Inspectors General on Integrity and Efficiency",
+ ),
+ ("Court Services and Offender Supervision", "Court Services and Offender Supervision"),
+ ("Cyberspace Solarium Commission", "Cyberspace Solarium Commission"),
+ (
+ "DC Court Services and Offender Supervision Agency",
+ "DC Court Services and Offender Supervision Agency",
+ ),
+ ("DC Pre-trial Services", "DC Pre-trial Services"),
+ ("Defense Nuclear Facilities Safety Board", "Defense Nuclear Facilities Safety Board"),
+ ("Delta Regional Authority", "Delta Regional Authority"),
+ ("Denali Commission", "Denali Commission"),
+ ("Department of Agriculture", "Department of Agriculture"),
+ ("Department of Commerce", "Department of Commerce"),
+ ("Department of Defense", "Department of Defense"),
+ ("Department of Education", "Department of Education"),
+ ("Department of Energy", "Department of Energy"),
+ ("Department of Health and Human Services", "Department of Health and Human Services"),
+ ("Department of Homeland Security", "Department of Homeland Security"),
+ ("Department of Housing and Urban Development", "Department of Housing and Urban Development"),
+ ("Department of Justice", "Department of Justice"),
+ ("Department of Labor", "Department of Labor"),
+ ("Department of State", "Department of State"),
+ ("Department of the Interior", "Department of the Interior"),
+ ("Department of the Treasury", "Department of the Treasury"),
+ ("Department of Transportation", "Department of Transportation"),
+ ("Department of Veterans Affairs", "Department of Veterans Affairs"),
+ ("Director of National Intelligence", "Director of National Intelligence"),
+ ("Dwight D. Eisenhower Memorial Commission", "Dwight D. Eisenhower Memorial Commission"),
+ ("Election Assistance Commission", "Election Assistance Commission"),
+ ("Environmental Protection Agency", "Environmental Protection Agency"),
+ ("Equal Employment Opportunity Commission", "Equal Employment Opportunity Commission"),
+ ("Executive Office of the President", "Executive Office of the President"),
+ ("Export-Import Bank of the United States", "Export-Import Bank of the United States"),
+ ("Export/Import Bank of the U.S.", "Export/Import Bank of the U.S."),
+ ("Farm Credit Administration", "Farm Credit Administration"),
+ ("Farm Credit System Insurance Corporation", "Farm Credit System Insurance Corporation"),
+ ("Federal Communications Commission", "Federal Communications Commission"),
+ ("Federal Deposit Insurance Corporation", "Federal Deposit Insurance Corporation"),
+ ("Federal Election Commission", "Federal Election Commission"),
+ ("Federal Energy Regulatory Commission", "Federal Energy Regulatory Commission"),
+ (
+ "Federal Financial Institutions Examination Council",
+ "Federal Financial Institutions Examination Council",
+ ),
+ ("Federal Housing Finance Agency", "Federal Housing Finance Agency"),
+ ("Federal Judiciary", "Federal Judiciary"),
+ ("Federal Labor Relations Authority", "Federal Labor Relations Authority"),
+ ("Federal Maritime Commission", "Federal Maritime Commission"),
+ ("Federal Mediation and Conciliation Service", "Federal Mediation and Conciliation Service"),
+ (
+ "Federal Mine Safety and Health Review Commission",
+ "Federal Mine Safety and Health Review Commission",
+ ),
+ (
+ "Federal Permitting Improvement Steering Council",
+ "Federal Permitting Improvement Steering Council",
+ ),
+ ("Federal Reserve Board of Governors", "Federal Reserve Board of Governors"),
+ ("Federal Reserve System", "Federal Reserve System"),
+ ("Federal Trade Commission", "Federal Trade Commission"),
+ ("General Services Administration", "General Services Administration"),
+ ("gov Administration", "gov Administration"),
+ ("Government Accountability Office", "Government Accountability Office"),
+ ("Government Publishing Office", "Government Publishing Office"),
+ ("Gulf Coast Ecosystem Restoration Council", "Gulf Coast Ecosystem Restoration Council"),
+ ("Harry S Truman Scholarship Foundation", "Harry S Truman Scholarship Foundation"),
+ ("Harry S. Truman Scholarship Foundation", "Harry S. Truman Scholarship Foundation"),
+ ("Institute of Museum and Library Services", "Institute of Museum and Library Services"),
+ ("Institute of Peace", "Institute of Peace"),
+ ("Inter-American Foundation", "Inter-American Foundation"),
+ (
+ "International Boundary and Water Commission: United States and Mexico",
+ "International Boundary and Water Commission: United States and Mexico",
+ ),
+ (
+ "International Boundary Commission: United States and Canada",
+ "International Boundary Commission: United States and Canada",
+ ),
+ (
+ "International Joint Commission: United States and Canada",
+ "International Joint Commission: United States and Canada",
+ ),
+ ("James Madison Memorial Fellowship Foundation", "James Madison Memorial Fellowship Foundation"),
+ ("Japan-United States Friendship Commission", "Japan-United States Friendship Commission"),
+ ("Japan-US Friendship Commission", "Japan-US Friendship Commission"),
+ ("John F. Kennedy Center for Performing Arts", "John F. Kennedy Center for Performing Arts"),
+ (
+ "John F. Kennedy Center for the Performing Arts",
+ "John F. Kennedy Center for the Performing Arts",
+ ),
+ ("Legal Services Corporation", "Legal Services Corporation"),
+ ("Legislative Branch", "Legislative Branch"),
+ ("Library of Congress", "Library of Congress"),
+ ("Marine Mammal Commission", "Marine Mammal Commission"),
+ (
+ "Medicaid and CHIP Payment and Access Commission",
+ "Medicaid and CHIP Payment and Access Commission",
+ ),
+ ("Medical Payment Advisory Commission", "Medical Payment Advisory Commission"),
+ ("Medicare Payment Advisory Commission", "Medicare Payment Advisory Commission"),
+ ("Merit Systems Protection Board", "Merit Systems Protection Board"),
+ ("Millennium Challenge Corporation", "Millennium Challenge Corporation"),
+ (
+ "Morris K. Udall and Stewart L. Udall Foundation",
+ "Morris K. Udall and Stewart L. Udall Foundation",
+ ),
+ ("National Aeronautics and Space Administration", "National Aeronautics and Space Administration"),
+ ("National Archives and Records Administration", "National Archives and Records Administration"),
+ ("National Capital Planning Commission", "National Capital Planning Commission"),
+ ("National Council on Disability", "National Council on Disability"),
+ ("National Credit Union Administration", "National Credit Union Administration"),
+ ("National Endowment for the Arts", "National Endowment for the Arts"),
+ ("National Endowment for the Humanities", "National Endowment for the Humanities"),
+ (
+ "National Foundation on the Arts and the Humanities",
+ "National Foundation on the Arts and the Humanities",
+ ),
+ ("National Gallery of Art", "National Gallery of Art"),
+ ("National Indian Gaming Commission", "National Indian Gaming Commission"),
+ ("National Labor Relations Board", "National Labor Relations Board"),
+ ("National Mediation Board", "National Mediation Board"),
+ ("National Science Foundation", "National Science Foundation"),
+ (
+ "National Security Commission on Artificial Intelligence",
+ "National Security Commission on Artificial Intelligence",
+ ),
+ ("National Transportation Safety Board", "National Transportation Safety Board"),
+ (
+ "Networking Information Technology Research and Development",
+ "Networking Information Technology Research and Development",
+ ),
+ ("Non-Federal Agency", "Non-Federal Agency"),
+ ("Northern Border Regional Commission", "Northern Border Regional Commission"),
+ ("Nuclear Regulatory Commission", "Nuclear Regulatory Commission"),
+ ("Nuclear Safety Oversight Committee", "Nuclear Safety Oversight Committee"),
+ ("Nuclear Waste Technical Review Board", "Nuclear Waste Technical Review Board"),
+ (
+ "Occupational Safety & Health Review Commission",
+ "Occupational Safety & Health Review Commission",
+ ),
+ (
+ "Occupational Safety and Health Review Commission",
+ "Occupational Safety and Health Review Commission",
+ ),
+ ("Office of Compliance", "Office of Compliance"),
+ ("Office of Congressional Workplace Rights", "Office of Congressional Workplace Rights"),
+ ("Office of Government Ethics", "Office of Government Ethics"),
+ ("Office of Navajo and Hopi Indian Relocation", "Office of Navajo and Hopi Indian Relocation"),
+ ("Office of Personnel Management", "Office of Personnel Management"),
+ ("Open World Leadership Center", "Open World Leadership Center"),
+ ("Overseas Private Investment Corporation", "Overseas Private Investment Corporation"),
+ ("Peace Corps", "Peace Corps"),
+ ("Pension Benefit Guaranty Corporation", "Pension Benefit Guaranty Corporation"),
+ ("Postal Regulatory Commission", "Postal Regulatory Commission"),
+ ("Presidio Trust", "Presidio Trust"),
+ ("Privacy and Civil Liberties Oversight Board", "Privacy and Civil Liberties Oversight Board"),
+ ("Public Buildings Reform Board", "Public Buildings Reform Board"),
+ (
+ "Public Defender Service for the District of Columbia",
+ "Public Defender Service for the District of Columbia",
+ ),
+ ("Railroad Retirement Board", "Railroad Retirement Board"),
+ ("Securities and Exchange Commission", "Securities and Exchange Commission"),
+ ("Selective Service System", "Selective Service System"),
+ ("Small Business Administration", "Small Business Administration"),
+ ("Smithsonian Institution", "Smithsonian Institution"),
+ ("Social Security Administration", "Social Security Administration"),
+ ("Social Security Advisory Board", "Social Security Advisory Board"),
+ ("Southeast Crescent Regional Commission", "Southeast Crescent Regional Commission"),
+ ("Southwest Border Regional Commission", "Southwest Border Regional Commission"),
+ ("State Justice Institute", "State Justice Institute"),
+ ("State, Local, and Tribal Government", "State, Local, and Tribal Government"),
+ ("Stennis Center for Public Service", "Stennis Center for Public Service"),
+ ("Surface Transportation Board", "Surface Transportation Board"),
+ ("Tennessee Valley Authority", "Tennessee Valley Authority"),
+ ("The Executive Office of the President", "The Executive Office of the President"),
+ ("The Intelligence Community", "The Intelligence Community"),
+ ("The Legislative Branch", "The Legislative Branch"),
+ ("The Supreme Court", "The Supreme Court"),
+ (
+ "The United States World War One Centennial Commission",
+ "The United States World War One Centennial Commission",
+ ),
+ ("U.S. Access Board", "U.S. Access Board"),
+ ("U.S. Agency for Global Media", "U.S. Agency for Global Media"),
+ ("U.S. Agency for International Development", "U.S. Agency for International Development"),
+ ("U.S. Capitol Police", "U.S. Capitol Police"),
+ ("U.S. Chemical Safety Board", "U.S. Chemical Safety Board"),
+ (
+ "U.S. China Economic and Security Review Commission",
+ "U.S. China Economic and Security Review Commission",
+ ),
+ (
+ "U.S. Commission for the Preservation of Americas Heritage Abroad",
+ "U.S. Commission for the Preservation of Americas Heritage Abroad",
+ ),
+ ("U.S. Commission of Fine Arts", "U.S. Commission of Fine Arts"),
+ ("U.S. Commission on Civil Rights", "U.S. Commission on Civil Rights"),
+ (
+ "U.S. Commission on International Religious Freedom",
+ "U.S. Commission on International Religious Freedom",
+ ),
+ ("U.S. Courts", "U.S. Courts"),
+ ("U.S. Department of Agriculture", "U.S. Department of Agriculture"),
+ ("U.S. Interagency Council on Homelessness", "U.S. Interagency Council on Homelessness"),
+ ("U.S. International Trade Commission", "U.S. International Trade Commission"),
+ ("U.S. Nuclear Waste Technical Review Board", "U.S. Nuclear Waste Technical Review Board"),
+ ("U.S. Office of Special Counsel", "U.S. Office of Special Counsel"),
+ ("U.S. Peace Corps", "U.S. Peace Corps"),
+ ("U.S. Postal Service", "U.S. Postal Service"),
+ ("U.S. Semiquincentennial Commission", "U.S. Semiquincentennial Commission"),
+ ("U.S. Trade and Development Agency", "U.S. Trade and Development Agency"),
+ (
+ "U.S.-China Economic and Security Review Commission",
+ "U.S.-China Economic and Security Review Commission",
+ ),
+ ("Udall Foundation", "Udall Foundation"),
+ ("United States AbilityOne", "United States AbilityOne"),
+ ("United States Access Board", "United States Access Board"),
+ ("United States African Development Foundation", "United States African Development Foundation"),
+ ("United States Agency for Global Media", "United States Agency for Global Media"),
+ ("United States Arctic Research Commission", "United States Arctic Research Commission"),
+ ("United States Global Change Research Program", "United States Global Change Research Program"),
+ ("United States Holocaust Memorial Museum", "United States Holocaust Memorial Museum"),
+ ("United States Institute of Peace", "United States Institute of Peace"),
+ (
+ "United States Interagency Council on Homelessness",
+ "United States Interagency Council on Homelessness",
+ ),
+ (
+ "United States International Development Finance Corporation",
+ "United States International Development Finance Corporation",
+ ),
+ ("United States International Trade Commission", "United States International Trade Commission"),
+ ("United States Postal Service", "United States Postal Service"),
+ ("United States Senate", "United States Senate"),
+ ("United States Trade and Development Agency", "United States Trade and Development Agency"),
+ (
+ "Utah Reclamation Mitigation and Conservation Commission",
+ "Utah Reclamation Mitigation and Conservation Commission",
+ ),
+ ("Vietnam Education Foundation", "Vietnam Education Foundation"),
+ ("Western Hemisphere Drug Policy Commission", "Western Hemisphere Drug Policy Commission"),
+ (
+ "Woodrow Wilson International Center for Scholars",
+ "Woodrow Wilson International Center for Scholars",
+ ),
+ ("World War I Centennial Commission", "World War I Centennial Commission"),
+ ],
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="federal_type",
+ field=models.CharField(
+ blank=True,
+ choices=[("executive", "Executive"), ("judicial", "Judicial"), ("legislative", "Legislative")],
+ max_length=50,
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="federally_recognized_tribe",
+ field=models.BooleanField(null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="no_other_contacts_rationale",
+ field=models.TextField(
+ blank=True, help_text="Required if creator does not list other employees", null=True
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="notes",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="organization_name",
+ field=models.CharField(blank=True, db_index=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="state_recognized_tribe",
+ field=models.BooleanField(null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="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.AlterField(
+ model_name="domaininformation",
+ name="submitter",
+ field=models.ForeignKey(
+ blank=True,
+ help_text='Person listed under "your contact information" in the request form',
+ null=True,
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="submitted_domain_requests_information",
+ to="registrar.contact",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="tribe_name",
+ field=models.CharField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="urbanization",
+ field=models.CharField(
+ blank=True,
+ help_text="Required for Puerto Rico only",
+ null=True,
+ verbose_name="Urbanization (required for Puerto Rico only)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="zipcode",
+ field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="about_your_organization",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="address_line1",
+ field=models.CharField(blank=True, null=True, verbose_name="Address line 1"),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="address_line2",
+ field=models.CharField(blank=True, null=True, verbose_name="Address line 2"),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="alternative_domains",
+ field=models.ManyToManyField(
+ blank=True,
+ help_text="Other domain names the creator provided for consideration",
+ related_name="alternatives+",
+ to="registrar.website",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="anything_else",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="approved_domain",
+ field=models.OneToOneField(
+ blank=True,
+ help_text="Domain associated with this request; will be blank until request is approved",
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ related_name="domain_request",
+ to="registrar.domain",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="city",
+ field=models.CharField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="creator",
+ field=models.ForeignKey(
+ help_text="Person who submitted the domain request; will not receive email updates",
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="domain_requests_created",
+ to=settings.AUTH_USER_MODEL,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="federal_agency",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ (
+ "Administrative Conference of the United States",
+ "Administrative Conference of the United States",
+ ),
+ ("Advisory Council on Historic Preservation", "Advisory Council on Historic Preservation"),
+ ("American Battle Monuments Commission", "American Battle Monuments Commission"),
+ ("AMTRAK", "AMTRAK"),
+ ("Appalachian Regional Commission", "Appalachian Regional Commission"),
+ (
+ "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
+ "Appraisal Subcommittee of the Federal Financial Institutions Examination Council",
+ ),
+ ("Appraisal Subcommittee", "Appraisal Subcommittee"),
+ ("Architect of the Capitol", "Architect of the Capitol"),
+ ("Armed Forces Retirement Home", "Armed Forces Retirement Home"),
+ (
+ "Barry Goldwater Scholarship and Excellence in Education Foundation",
+ "Barry Goldwater Scholarship and Excellence in Education Foundation",
+ ),
+ (
+ "Barry Goldwater Scholarship and Excellence in Education Program",
+ "Barry Goldwater Scholarship and Excellence in Education Program",
+ ),
+ ("Central Intelligence Agency", "Central Intelligence Agency"),
+ ("Chemical Safety Board", "Chemical Safety Board"),
+ ("Christopher Columbus Fellowship Foundation", "Christopher Columbus Fellowship Foundation"),
+ ("Civil Rights Cold Case Records Review Board", "Civil Rights Cold Case Records Review Board"),
+ (
+ "Commission for the Preservation of America's Heritage Abroad",
+ "Commission for the Preservation of America's Heritage Abroad",
+ ),
+ ("Commission of Fine Arts", "Commission of Fine Arts"),
+ (
+ "Committee for Purchase From People Who Are Blind or Severely Disabled",
+ "Committee for Purchase From People Who Are Blind or Severely Disabled",
+ ),
+ ("Commodity Futures Trading Commission", "Commodity Futures Trading Commission"),
+ ("Congressional Budget Office", "Congressional Budget Office"),
+ ("Consumer Financial Protection Bureau", "Consumer Financial Protection Bureau"),
+ ("Consumer Product Safety Commission", "Consumer Product Safety Commission"),
+ ("Corporation for National & Community Service", "Corporation for National & Community Service"),
+ (
+ "Corporation for National and Community Service",
+ "Corporation for National and Community Service",
+ ),
+ (
+ "Council of Inspectors General on Integrity and Efficiency",
+ "Council of Inspectors General on Integrity and Efficiency",
+ ),
+ ("Court Services and Offender Supervision", "Court Services and Offender Supervision"),
+ ("Cyberspace Solarium Commission", "Cyberspace Solarium Commission"),
+ (
+ "DC Court Services and Offender Supervision Agency",
+ "DC Court Services and Offender Supervision Agency",
+ ),
+ ("DC Pre-trial Services", "DC Pre-trial Services"),
+ ("Defense Nuclear Facilities Safety Board", "Defense Nuclear Facilities Safety Board"),
+ ("Delta Regional Authority", "Delta Regional Authority"),
+ ("Denali Commission", "Denali Commission"),
+ ("Department of Agriculture", "Department of Agriculture"),
+ ("Department of Commerce", "Department of Commerce"),
+ ("Department of Defense", "Department of Defense"),
+ ("Department of Education", "Department of Education"),
+ ("Department of Energy", "Department of Energy"),
+ ("Department of Health and Human Services", "Department of Health and Human Services"),
+ ("Department of Homeland Security", "Department of Homeland Security"),
+ ("Department of Housing and Urban Development", "Department of Housing and Urban Development"),
+ ("Department of Justice", "Department of Justice"),
+ ("Department of Labor", "Department of Labor"),
+ ("Department of State", "Department of State"),
+ ("Department of the Interior", "Department of the Interior"),
+ ("Department of the Treasury", "Department of the Treasury"),
+ ("Department of Transportation", "Department of Transportation"),
+ ("Department of Veterans Affairs", "Department of Veterans Affairs"),
+ ("Director of National Intelligence", "Director of National Intelligence"),
+ ("Dwight D. Eisenhower Memorial Commission", "Dwight D. Eisenhower Memorial Commission"),
+ ("Election Assistance Commission", "Election Assistance Commission"),
+ ("Environmental Protection Agency", "Environmental Protection Agency"),
+ ("Equal Employment Opportunity Commission", "Equal Employment Opportunity Commission"),
+ ("Executive Office of the President", "Executive Office of the President"),
+ ("Export-Import Bank of the United States", "Export-Import Bank of the United States"),
+ ("Export/Import Bank of the U.S.", "Export/Import Bank of the U.S."),
+ ("Farm Credit Administration", "Farm Credit Administration"),
+ ("Farm Credit System Insurance Corporation", "Farm Credit System Insurance Corporation"),
+ ("Federal Communications Commission", "Federal Communications Commission"),
+ ("Federal Deposit Insurance Corporation", "Federal Deposit Insurance Corporation"),
+ ("Federal Election Commission", "Federal Election Commission"),
+ ("Federal Energy Regulatory Commission", "Federal Energy Regulatory Commission"),
+ (
+ "Federal Financial Institutions Examination Council",
+ "Federal Financial Institutions Examination Council",
+ ),
+ ("Federal Housing Finance Agency", "Federal Housing Finance Agency"),
+ ("Federal Judiciary", "Federal Judiciary"),
+ ("Federal Labor Relations Authority", "Federal Labor Relations Authority"),
+ ("Federal Maritime Commission", "Federal Maritime Commission"),
+ ("Federal Mediation and Conciliation Service", "Federal Mediation and Conciliation Service"),
+ (
+ "Federal Mine Safety and Health Review Commission",
+ "Federal Mine Safety and Health Review Commission",
+ ),
+ (
+ "Federal Permitting Improvement Steering Council",
+ "Federal Permitting Improvement Steering Council",
+ ),
+ ("Federal Reserve Board of Governors", "Federal Reserve Board of Governors"),
+ ("Federal Reserve System", "Federal Reserve System"),
+ ("Federal Trade Commission", "Federal Trade Commission"),
+ ("General Services Administration", "General Services Administration"),
+ ("gov Administration", "gov Administration"),
+ ("Government Accountability Office", "Government Accountability Office"),
+ ("Government Publishing Office", "Government Publishing Office"),
+ ("Gulf Coast Ecosystem Restoration Council", "Gulf Coast Ecosystem Restoration Council"),
+ ("Harry S Truman Scholarship Foundation", "Harry S Truman Scholarship Foundation"),
+ ("Harry S. Truman Scholarship Foundation", "Harry S. Truman Scholarship Foundation"),
+ ("Institute of Museum and Library Services", "Institute of Museum and Library Services"),
+ ("Institute of Peace", "Institute of Peace"),
+ ("Inter-American Foundation", "Inter-American Foundation"),
+ (
+ "International Boundary and Water Commission: United States and Mexico",
+ "International Boundary and Water Commission: United States and Mexico",
+ ),
+ (
+ "International Boundary Commission: United States and Canada",
+ "International Boundary Commission: United States and Canada",
+ ),
+ (
+ "International Joint Commission: United States and Canada",
+ "International Joint Commission: United States and Canada",
+ ),
+ ("James Madison Memorial Fellowship Foundation", "James Madison Memorial Fellowship Foundation"),
+ ("Japan-United States Friendship Commission", "Japan-United States Friendship Commission"),
+ ("Japan-US Friendship Commission", "Japan-US Friendship Commission"),
+ ("John F. Kennedy Center for Performing Arts", "John F. Kennedy Center for Performing Arts"),
+ (
+ "John F. Kennedy Center for the Performing Arts",
+ "John F. Kennedy Center for the Performing Arts",
+ ),
+ ("Legal Services Corporation", "Legal Services Corporation"),
+ ("Legislative Branch", "Legislative Branch"),
+ ("Library of Congress", "Library of Congress"),
+ ("Marine Mammal Commission", "Marine Mammal Commission"),
+ (
+ "Medicaid and CHIP Payment and Access Commission",
+ "Medicaid and CHIP Payment and Access Commission",
+ ),
+ ("Medical Payment Advisory Commission", "Medical Payment Advisory Commission"),
+ ("Medicare Payment Advisory Commission", "Medicare Payment Advisory Commission"),
+ ("Merit Systems Protection Board", "Merit Systems Protection Board"),
+ ("Millennium Challenge Corporation", "Millennium Challenge Corporation"),
+ (
+ "Morris K. Udall and Stewart L. Udall Foundation",
+ "Morris K. Udall and Stewart L. Udall Foundation",
+ ),
+ ("National Aeronautics and Space Administration", "National Aeronautics and Space Administration"),
+ ("National Archives and Records Administration", "National Archives and Records Administration"),
+ ("National Capital Planning Commission", "National Capital Planning Commission"),
+ ("National Council on Disability", "National Council on Disability"),
+ ("National Credit Union Administration", "National Credit Union Administration"),
+ ("National Endowment for the Arts", "National Endowment for the Arts"),
+ ("National Endowment for the Humanities", "National Endowment for the Humanities"),
+ (
+ "National Foundation on the Arts and the Humanities",
+ "National Foundation on the Arts and the Humanities",
+ ),
+ ("National Gallery of Art", "National Gallery of Art"),
+ ("National Indian Gaming Commission", "National Indian Gaming Commission"),
+ ("National Labor Relations Board", "National Labor Relations Board"),
+ ("National Mediation Board", "National Mediation Board"),
+ ("National Science Foundation", "National Science Foundation"),
+ (
+ "National Security Commission on Artificial Intelligence",
+ "National Security Commission on Artificial Intelligence",
+ ),
+ ("National Transportation Safety Board", "National Transportation Safety Board"),
+ (
+ "Networking Information Technology Research and Development",
+ "Networking Information Technology Research and Development",
+ ),
+ ("Non-Federal Agency", "Non-Federal Agency"),
+ ("Northern Border Regional Commission", "Northern Border Regional Commission"),
+ ("Nuclear Regulatory Commission", "Nuclear Regulatory Commission"),
+ ("Nuclear Safety Oversight Committee", "Nuclear Safety Oversight Committee"),
+ ("Nuclear Waste Technical Review Board", "Nuclear Waste Technical Review Board"),
+ (
+ "Occupational Safety & Health Review Commission",
+ "Occupational Safety & Health Review Commission",
+ ),
+ (
+ "Occupational Safety and Health Review Commission",
+ "Occupational Safety and Health Review Commission",
+ ),
+ ("Office of Compliance", "Office of Compliance"),
+ ("Office of Congressional Workplace Rights", "Office of Congressional Workplace Rights"),
+ ("Office of Government Ethics", "Office of Government Ethics"),
+ ("Office of Navajo and Hopi Indian Relocation", "Office of Navajo and Hopi Indian Relocation"),
+ ("Office of Personnel Management", "Office of Personnel Management"),
+ ("Open World Leadership Center", "Open World Leadership Center"),
+ ("Overseas Private Investment Corporation", "Overseas Private Investment Corporation"),
+ ("Peace Corps", "Peace Corps"),
+ ("Pension Benefit Guaranty Corporation", "Pension Benefit Guaranty Corporation"),
+ ("Postal Regulatory Commission", "Postal Regulatory Commission"),
+ ("Presidio Trust", "Presidio Trust"),
+ ("Privacy and Civil Liberties Oversight Board", "Privacy and Civil Liberties Oversight Board"),
+ ("Public Buildings Reform Board", "Public Buildings Reform Board"),
+ (
+ "Public Defender Service for the District of Columbia",
+ "Public Defender Service for the District of Columbia",
+ ),
+ ("Railroad Retirement Board", "Railroad Retirement Board"),
+ ("Securities and Exchange Commission", "Securities and Exchange Commission"),
+ ("Selective Service System", "Selective Service System"),
+ ("Small Business Administration", "Small Business Administration"),
+ ("Smithsonian Institution", "Smithsonian Institution"),
+ ("Social Security Administration", "Social Security Administration"),
+ ("Social Security Advisory Board", "Social Security Advisory Board"),
+ ("Southeast Crescent Regional Commission", "Southeast Crescent Regional Commission"),
+ ("Southwest Border Regional Commission", "Southwest Border Regional Commission"),
+ ("State Justice Institute", "State Justice Institute"),
+ ("State, Local, and Tribal Government", "State, Local, and Tribal Government"),
+ ("Stennis Center for Public Service", "Stennis Center for Public Service"),
+ ("Surface Transportation Board", "Surface Transportation Board"),
+ ("Tennessee Valley Authority", "Tennessee Valley Authority"),
+ ("The Executive Office of the President", "The Executive Office of the President"),
+ ("The Intelligence Community", "The Intelligence Community"),
+ ("The Legislative Branch", "The Legislative Branch"),
+ ("The Supreme Court", "The Supreme Court"),
+ (
+ "The United States World War One Centennial Commission",
+ "The United States World War One Centennial Commission",
+ ),
+ ("U.S. Access Board", "U.S. Access Board"),
+ ("U.S. Agency for Global Media", "U.S. Agency for Global Media"),
+ ("U.S. Agency for International Development", "U.S. Agency for International Development"),
+ ("U.S. Capitol Police", "U.S. Capitol Police"),
+ ("U.S. Chemical Safety Board", "U.S. Chemical Safety Board"),
+ (
+ "U.S. China Economic and Security Review Commission",
+ "U.S. China Economic and Security Review Commission",
+ ),
+ (
+ "U.S. Commission for the Preservation of Americas Heritage Abroad",
+ "U.S. Commission for the Preservation of Americas Heritage Abroad",
+ ),
+ ("U.S. Commission of Fine Arts", "U.S. Commission of Fine Arts"),
+ ("U.S. Commission on Civil Rights", "U.S. Commission on Civil Rights"),
+ (
+ "U.S. Commission on International Religious Freedom",
+ "U.S. Commission on International Religious Freedom",
+ ),
+ ("U.S. Courts", "U.S. Courts"),
+ ("U.S. Department of Agriculture", "U.S. Department of Agriculture"),
+ ("U.S. Interagency Council on Homelessness", "U.S. Interagency Council on Homelessness"),
+ ("U.S. International Trade Commission", "U.S. International Trade Commission"),
+ ("U.S. Nuclear Waste Technical Review Board", "U.S. Nuclear Waste Technical Review Board"),
+ ("U.S. Office of Special Counsel", "U.S. Office of Special Counsel"),
+ ("U.S. Peace Corps", "U.S. Peace Corps"),
+ ("U.S. Postal Service", "U.S. Postal Service"),
+ ("U.S. Semiquincentennial Commission", "U.S. Semiquincentennial Commission"),
+ ("U.S. Trade and Development Agency", "U.S. Trade and Development Agency"),
+ (
+ "U.S.-China Economic and Security Review Commission",
+ "U.S.-China Economic and Security Review Commission",
+ ),
+ ("Udall Foundation", "Udall Foundation"),
+ ("United States AbilityOne", "United States AbilityOne"),
+ ("United States Access Board", "United States Access Board"),
+ ("United States African Development Foundation", "United States African Development Foundation"),
+ ("United States Agency for Global Media", "United States Agency for Global Media"),
+ ("United States Arctic Research Commission", "United States Arctic Research Commission"),
+ ("United States Global Change Research Program", "United States Global Change Research Program"),
+ ("United States Holocaust Memorial Museum", "United States Holocaust Memorial Museum"),
+ ("United States Institute of Peace", "United States Institute of Peace"),
+ (
+ "United States Interagency Council on Homelessness",
+ "United States Interagency Council on Homelessness",
+ ),
+ (
+ "United States International Development Finance Corporation",
+ "United States International Development Finance Corporation",
+ ),
+ ("United States International Trade Commission", "United States International Trade Commission"),
+ ("United States Postal Service", "United States Postal Service"),
+ ("United States Senate", "United States Senate"),
+ ("United States Trade and Development Agency", "United States Trade and Development Agency"),
+ (
+ "Utah Reclamation Mitigation and Conservation Commission",
+ "Utah Reclamation Mitigation and Conservation Commission",
+ ),
+ ("Vietnam Education Foundation", "Vietnam Education Foundation"),
+ ("Western Hemisphere Drug Policy Commission", "Western Hemisphere Drug Policy Commission"),
+ (
+ "Woodrow Wilson International Center for Scholars",
+ "Woodrow Wilson International Center for Scholars",
+ ),
+ ("World War I Centennial Commission", "World War I Centennial Commission"),
+ ],
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="federal_type",
+ field=models.CharField(
+ blank=True,
+ choices=[("executive", "Executive"), ("judicial", "Judicial"), ("legislative", "Legislative")],
+ max_length=50,
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="federally_recognized_tribe",
+ field=models.BooleanField(null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="generic_org_type",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ ("federal", "Federal"),
+ ("interstate", "Interstate"),
+ ("state_or_territory", "State or territory"),
+ ("tribal", "Tribal"),
+ ("county", "County"),
+ ("city", "City"),
+ ("special_district", "Special district"),
+ ("school_district", "School district"),
+ ],
+ max_length=255,
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="is_election_board",
+ field=models.BooleanField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="no_other_contacts_rationale",
+ field=models.TextField(
+ blank=True, help_text="Required if creator does not list other employees", null=True
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="notes",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="organization_name",
+ field=models.CharField(blank=True, db_index=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="purpose",
+ field=models.TextField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="requested_domain",
+ field=models.OneToOneField(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="domain_request",
+ to="registrar.draftdomain",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="state_recognized_tribe",
+ field=models.BooleanField(null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="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,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="submitter",
+ field=models.ForeignKey(
+ blank=True,
+ help_text='Person listed under "your contact information" in the request form; will receive email updates',
+ null=True,
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="submitted_domain_requests",
+ to="registrar.contact",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="tribe_name",
+ field=models.CharField(blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="urbanization",
+ field=models.CharField(blank=True, help_text="Required for Puerto Rico only", null=True),
+ ),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="zipcode",
+ field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
+ ),
+ migrations.AlterField(
+ model_name="host",
+ name="domain",
+ field=models.ForeignKey(
+ help_text="Domain associated with this host",
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="host",
+ to="registrar.domain",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="host",
+ name="name",
+ field=models.CharField(default=None, max_length=253),
+ ),
+ migrations.AlterField(
+ model_name="hostip",
+ name="address",
+ field=models.CharField(
+ default=None, max_length=46, validators=[django.core.validators.validate_ipv46_address]
+ ),
+ ),
+ migrations.AlterField(
+ model_name="hostip",
+ name="host",
+ field=models.ForeignKey(
+ help_text="IP associated with this host",
+ on_delete=django.db.models.deletion.PROTECT,
+ related_name="ip",
+ to="registrar.host",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="user",
+ name="status",
+ field=models.CharField(
+ blank=True,
+ choices=[("restricted", "restricted")],
+ default=None,
+ help_text='Users in "restricted" status cannot make updates in the registrar or start a new request.',
+ max_length=10,
+ null=True,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="verifiedbystaff",
+ name="email",
+ field=models.EmailField(db_index=True, max_length=254),
+ ),
+ migrations.AlterField(
+ model_name="verifiedbystaff",
+ name="notes",
+ field=models.TextField(),
+ ),
+ migrations.AlterField(
+ model_name="verifiedbystaff",
+ name="requestor",
+ field=models.ForeignKey(
+ blank=True,
+ help_text="Person who verified this user",
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ related_name="verifiedby_user",
+ to=settings.AUTH_USER_MODEL,
+ ),
+ ),
+ migrations.AlterField(
+ model_name="website",
+ name="website",
+ field=models.CharField(
+ help_text="An alternative domain or current website listed on a domain request", max_length=255
+ ),
+ ),
+ ]
From a7f0340c523ec402f5a6a392c1ed55f400751b79 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 22 Apr 2024 14:41:04 -0600
Subject: [PATCH 15/31] Add some spacing
---
src/registrar/models/domain.py | 1 -
.../templates/django/admin/includes/detail_table_fieldset.html | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py
index 89bf3b7d9..f0cfaa9bf 100644
--- a/src/registrar/models/domain.py
+++ b/src/registrar/models/domain.py
@@ -163,7 +163,6 @@ class Domain(TimeStampedModel, DomainHelper):
def get_admin_help_text(cls, state):
"""Returns a help message for a desired state for /admin. If none is found, an empty string is returned"""
admin_help_texts = {
- # For now, unknown has the same message as DNS_NEEDED
cls.UNKNOWN: (
"The creator of the associated domain request has not logged in to "
"manage the domain since it was approved. "
diff --git a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
index f346ee155..9199f84cc 100644
--- a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
+++ b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
@@ -67,7 +67,7 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html)
{% block after_help_text %}
{% if field.field.name == "creator" %}
-
+
{% include "django/admin/includes/contact_detail_list.html" with user=original.creator no_title_top_padding=field.is_readonly %}
From d82c21feb12d64dfa2f2c1f17592d494a5f183c8 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 22 Apr 2024 15:15:02 -0600
Subject: [PATCH 16/31] Update migrations
---
..._alter_domain_expiration_date_and_more.py} | 43 ++++++++++---------
1 file changed, 22 insertions(+), 21 deletions(-)
rename src/registrar/migrations/{0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py => 0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py} (98%)
diff --git a/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py b/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
similarity index 98%
rename from src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
rename to src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
index 3590d3869..c3f6f7bff 100644
--- a/src/registrar/migrations/0085_alter_domain_deleted_alter_domain_expiration_date_and_more.py
+++ b/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
@@ -1,17 +1,16 @@
-# Generated by Django 4.2.10 on 2024-04-16 16:17
+# Generated by Django 4.2.10 on 2024-04-22 21:14
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django_fsm
-import registrar.models.utility.domain_field
class Migration(migrations.Migration):
dependencies = [
- ("registrar", "0084_create_groups_v11"),
+ ("registrar", "0086_domaininformation_updated_federal_agency_and_more"),
]
operations = [
@@ -19,7 +18,10 @@ class Migration(migrations.Migration):
model_name="domain",
name="deleted",
field=models.DateField(
- editable=False, help_text='Will appear blank unless the domain is in "deleted" state', null=True
+ editable=False,
+ help_text='Will appear blank unless the domain is in "deleted" state',
+ null=True,
+ verbose_name="deleted on",
),
),
migrations.AlterField(
@@ -34,13 +36,9 @@ class Migration(migrations.Migration):
editable=False,
help_text='Date when this domain first moved into "ready" state; date will never change',
null=True,
+ verbose_name="first ready on",
),
),
- migrations.AlterField(
- model_name="domain",
- name="name",
- field=registrar.models.utility.domain_field.DomainField(default=None, max_length=253, unique=True),
- ),
migrations.AlterField(
model_name="domain",
name="state",
@@ -56,6 +54,7 @@ class Migration(migrations.Migration):
help_text=" ",
max_length=21,
protected=True,
+ verbose_name="domain state",
),
),
migrations.AlterField(
@@ -66,12 +65,12 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="domaininformation",
name="address_line1",
- field=models.CharField(blank=True, null=True, verbose_name="Street address"),
+ field=models.CharField(blank=True, null=True, verbose_name="address line 1"),
),
migrations.AlterField(
model_name="domaininformation",
name="address_line2",
- field=models.CharField(blank=True, null=True, verbose_name="Street address line 2 (optional)"),
+ field=models.CharField(blank=True, null=True, verbose_name="address line 2"),
),
migrations.AlterField(
model_name="domaininformation",
@@ -528,7 +527,7 @@ class Migration(migrations.Migration):
],
max_length=2,
null=True,
- verbose_name="State, territory, or military post",
+ verbose_name="state / territory",
),
),
migrations.AlterField(
@@ -552,16 +551,13 @@ class Migration(migrations.Migration):
model_name="domaininformation",
name="urbanization",
field=models.CharField(
- blank=True,
- help_text="Required for Puerto Rico only",
- null=True,
- verbose_name="Urbanization (required for Puerto Rico only)",
+ blank=True, help_text="Required for Puerto Rico only", null=True, verbose_name="urbanization"
),
),
migrations.AlterField(
model_name="domaininformation",
name="zipcode",
- field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
+ field=models.CharField(blank=True, db_index=True, max_length=10, null=True, verbose_name="zip code"),
),
migrations.AlterField(
model_name="domainrequest",
@@ -963,7 +959,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="domainrequest",
name="is_election_board",
- field=models.BooleanField(blank=True, null=True),
+ field=models.BooleanField(blank=True, null=True, verbose_name="election office"),
),
migrations.AlterField(
model_name="domainrequest",
@@ -1072,6 +1068,7 @@ class Migration(migrations.Migration):
],
max_length=2,
null=True,
+ verbose_name="state / territory",
),
),
migrations.AlterField(
@@ -1099,7 +1096,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="domainrequest",
name="zipcode",
- field=models.CharField(blank=True, db_index=True, max_length=10, null=True),
+ field=models.CharField(blank=True, db_index=True, max_length=10, null=True, verbose_name="zip code"),
),
migrations.AlterField(
model_name="host",
@@ -1114,13 +1111,16 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="host",
name="name",
- field=models.CharField(default=None, max_length=253),
+ field=models.CharField(default=None, max_length=253, verbose_name="host name"),
),
migrations.AlterField(
model_name="hostip",
name="address",
field=models.CharField(
- default=None, max_length=46, validators=[django.core.validators.validate_ipv46_address]
+ default=None,
+ max_length=46,
+ validators=[django.core.validators.validate_ipv46_address],
+ verbose_name="IP address",
),
),
migrations.AlterField(
@@ -1143,6 +1143,7 @@ class Migration(migrations.Migration):
help_text='Users in "restricted" status cannot make updates in the registrar or start a new request.',
max_length=10,
null=True,
+ verbose_name="user status",
),
),
migrations.AlterField(
From 788a190a444cccfac7b6fb028215d50547ee469f Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Mon, 22 Apr 2024 15:32:27 -0600
Subject: [PATCH 17/31] linting
---
src/registrar/tests/test_admin.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/registrar/tests/test_admin.py b/src/registrar/tests/test_admin.py
index bc45f661e..19783b3f2 100644
--- a/src/registrar/tests/test_admin.py
+++ b/src/registrar/tests/test_admin.py
@@ -33,8 +33,6 @@ from registrar.models import (
PublicContact,
Host,
Website,
- DraftDomain,
- Host,
)
from registrar.models.user_domain_role import UserDomainRole
from registrar.models.verified_by_staff import VerifiedByStaff
From 42d2eb3ccdc53a71c31091cdbc76c4c43b394357 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 23 Apr 2024 08:19:13 -0600
Subject: [PATCH 18/31] Fix field helper text
---
src/registrar/models/domain_information.py | 3 +--
src/registrar/models/domain_request.py | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/registrar/models/domain_information.py b/src/registrar/models/domain_information.py
index bf964be61..31b0ca607 100644
--- a/src/registrar/models/domain_information.py
+++ b/src/registrar/models/domain_information.py
@@ -82,7 +82,7 @@ class DomainInformation(TimeStampedModel):
choices=DomainRequest.OrgChoicesElectionOffice.choices,
null=True,
blank=True,
- help_text="Type of organization - Election office",
+ help_text="\"Election\" appears after the org type if it's an election office.",
)
federally_recognized_tribe = models.BooleanField(
@@ -115,7 +115,6 @@ class DomainInformation(TimeStampedModel):
null=True,
blank=True,
verbose_name="election office",
- help_text="Is your organization an election office?",
)
organization_name = models.CharField(
diff --git a/src/registrar/models/domain_request.py b/src/registrar/models/domain_request.py
index d9f411be7..f775e5812 100644
--- a/src/registrar/models/domain_request.py
+++ b/src/registrar/models/domain_request.py
@@ -496,7 +496,7 @@ class DomainRequest(TimeStampedModel):
choices=OrgChoicesElectionOffice.choices,
null=True,
blank=True,
- help_text="Type of organization - Election office",
+ help_text="\"Election\" appears after the org type if it's an election office.",
)
federally_recognized_tribe = models.BooleanField(
From e1c5375e483ebd153e120f8e666c191155ab0a5d Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 23 Apr 2024 09:00:18 -0600
Subject: [PATCH 19/31] Add margin bottom
---
.../templates/django/admin/includes/domain_fieldset.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/registrar/templates/django/admin/includes/domain_fieldset.html b/src/registrar/templates/django/admin/includes/domain_fieldset.html
index a2c03189a..5e9464236 100644
--- a/src/registrar/templates/django/admin/includes/domain_fieldset.html
+++ b/src/registrar/templates/django/admin/includes/domain_fieldset.html
@@ -3,7 +3,7 @@
{% block help_text %}
-
+
{% if field.field.name == "state" %}
{{ state_help_message }}
{% else %}
From fc05542da38fd3d03583314972c39e120e833925 Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 23 Apr 2024 09:03:27 -0600
Subject: [PATCH 20/31] Update migrations
---
...d_alter_domain_expiration_date_and_more.py | 57 ++++++++++++++++++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py b/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
index c3f6f7bff..edbadcb4e 100644
--- a/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
+++ b/src/registrar/migrations/0087_alter_domain_deleted_alter_domain_expiration_date_and_more.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.2.10 on 2024-04-22 21:14
+# Generated by Django 4.2.10 on 2024-04-23 15:03
from django.conf import settings
import django.core.validators
@@ -436,6 +436,11 @@ class Migration(migrations.Migration):
name="federally_recognized_tribe",
field=models.BooleanField(null=True),
),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="is_election_board",
+ field=models.BooleanField(blank=True, null=True, verbose_name="election office"),
+ ),
migrations.AlterField(
model_name="domaininformation",
name="no_other_contacts_rationale",
@@ -453,6 +458,31 @@ class Migration(migrations.Migration):
name="organization_name",
field=models.CharField(blank=True, db_index=True, null=True),
),
+ migrations.AlterField(
+ model_name="domaininformation",
+ name="organization_type",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ ("federal", "Federal"),
+ ("interstate", "Interstate"),
+ ("state_or_territory", "State or territory"),
+ ("tribal", "Tribal"),
+ ("county", "County"),
+ ("city", "City"),
+ ("special_district", "Special district"),
+ ("school_district", "School district"),
+ ("state_or_territory_election", "State or territory - Election"),
+ ("tribal_election", "Tribal - Election"),
+ ("county_election", "County - Election"),
+ ("city_election", "City - Election"),
+ ("special_district_election", "Special district - Election"),
+ ],
+ help_text='"Election" appears after the org type if it\'s an election office.',
+ max_length=255,
+ null=True,
+ ),
+ ),
migrations.AlterField(
model_name="domaininformation",
name="state_recognized_tribe",
@@ -978,6 +1008,31 @@ class Migration(migrations.Migration):
name="organization_name",
field=models.CharField(blank=True, db_index=True, null=True),
),
+ migrations.AlterField(
+ model_name="domainrequest",
+ name="organization_type",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ ("federal", "Federal"),
+ ("interstate", "Interstate"),
+ ("state_or_territory", "State or territory"),
+ ("tribal", "Tribal"),
+ ("county", "County"),
+ ("city", "City"),
+ ("special_district", "Special district"),
+ ("school_district", "School district"),
+ ("state_or_territory_election", "State or territory - Election"),
+ ("tribal_election", "Tribal - Election"),
+ ("county_election", "County - Election"),
+ ("city_election", "City - Election"),
+ ("special_district_election", "Special district - Election"),
+ ],
+ help_text='"Election" appears after the org type if it\'s an election office.',
+ max_length=255,
+ null=True,
+ ),
+ ),
migrations.AlterField(
model_name="domainrequest",
name="purpose",
From 0e096d365909a80ce76a707a49b2d58963503c9e Mon Sep 17 00:00:00 2001
From: zandercymatics <141044360+zandercymatics@users.noreply.github.com>
Date: Tue, 23 Apr 2024 09:15:30 -0600
Subject: [PATCH 21/31] Update helper text
---
.../django/admin/includes/detail_table_fieldset.html | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
index 8e8a24427..26baddff7 100644
--- a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
+++ b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html
@@ -65,6 +65,13 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html)
{% endwith %}
{% endblock field_readonly %}
+{% block help_text %}
+