From 9bd7e46dcf97255cbaaf2f3e488658d6a2977e30 Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 28 Nov 2023 08:20:32 -0500 Subject: [PATCH 1/5] added subheading to review step for other contacts --- src/registrar/assets/sass/_theme/_register-form.scss | 6 ++++++ src/registrar/templates/application_review.html | 1 + 2 files changed, 7 insertions(+) diff --git a/src/registrar/assets/sass/_theme/_register-form.scss b/src/registrar/assets/sass/_theme/_register-form.scss index d0405a3c3..6d268d155 100644 --- a/src/registrar/assets/sass/_theme/_register-form.scss +++ b/src/registrar/assets/sass/_theme/_register-form.scss @@ -78,3 +78,9 @@ font-weight: font-weight('semibold'); margin-bottom: units(0.5); } + +.review__step__subheading { + color: color('primary-dark'); + font-weight: font-weight('semibold'); + margin-bottom: units(0.5); +} diff --git a/src/registrar/templates/application_review.html b/src/registrar/templates/application_review.html index 6a4dcbffd..e567a3fee 100644 --- a/src/registrar/templates/application_review.html +++ b/src/registrar/templates/application_review.html @@ -99,6 +99,7 @@ {% if step == Step.OTHER_CONTACTS %} {% for other in application.other_contacts.all %}
+
Contact {{ forloop.counter }}
{% include "includes/contact.html" with contact=other %}
{% empty %} From 442b61ce5faf4696011214f6b446f8ff6d3311d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 00:29:40 +0000 Subject: [PATCH 2/5] Bump cryptography from 41.0.5 to 41.0.6 in /src Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.5 to 41.0.6. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.5...41.0.6) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- src/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/requirements.txt b/src/requirements.txt index dd19bf978..4d155cb61 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -8,7 +8,7 @@ certifi==2023.7.22; python_version >= '3.6' cfenv==0.5.3 cffi==1.16.0; python_version >= '3.8' charset-normalizer==3.3.2; python_full_version >= '3.7.0' -cryptography==41.0.5; python_version >= '3.7' +cryptography==41.0.6; python_version >= '3.7' defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' dj-database-url==2.1.0 dj-email-url==1.0.6 From 01b1e3e520430f7d19ad511ab518e3e4955f8f01 Mon Sep 17 00:00:00 2001 From: Neil Martinsen-Burrell Date: Fri, 1 Dec 2023 10:45:20 -0600 Subject: [PATCH 3/5] New transition method to force unknown state --- src/registrar/models/domain.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 94430fb36..c3cf8c41f 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -1338,6 +1338,19 @@ class Domain(TimeStampedModel, DomainHelper): logger.info("Changing to DNS_NEEDED state") logger.info("able to transition to DNS_NEEDED state") + @transition( + field="state", + source="*", + target=State.UNKNOWN, + ) + def force_unknown(self): + """Force a domain to go into our unknown state. + + This can be useful on a limited basis when we need a domain + to be created in the registry for some reason. + """ + pass + def _disclose_fields(self, contact: PublicContact): """creates a disclose object that can be added to a contact Create using .disclose= on the command before sending. From 45f8e260181063a2301f5d01b8a84aff815c3095 Mon Sep 17 00:00:00 2001 From: Neil Martinsen-Burrell Date: Fri, 1 Dec 2023 11:24:45 -0600 Subject: [PATCH 4/5] Allow unknown state in data migration --- .../management/commands/load_transition_domain.py | 1 + src/registrar/models/domain.py | 13 ------------- src/registrar/models/transition_domain.py | 1 + src/registrar/tests/data/test_domain_statuses.txt | 2 +- .../tests/test_transition_domain_migrations.py | 11 +++++++++++ 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/registrar/management/commands/load_transition_domain.py b/src/registrar/management/commands/load_transition_domain.py index 6566a2f16..e1165bf9f 100644 --- a/src/registrar/management/commands/load_transition_domain.py +++ b/src/registrar/management/commands/load_transition_domain.py @@ -176,6 +176,7 @@ class Command(BaseCommand): "clienthold": TransitionDomain.StatusChoices.ON_HOLD, "created": TransitionDomain.StatusChoices.READY, "ok": TransitionDomain.StatusChoices.READY, + "unknown": TransitionDomain.StatusChoices.UNKNOWN, } mapped_status = status_maps.get(status_to_map) return mapped_status diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index c3cf8c41f..94430fb36 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -1338,19 +1338,6 @@ class Domain(TimeStampedModel, DomainHelper): logger.info("Changing to DNS_NEEDED state") logger.info("able to transition to DNS_NEEDED state") - @transition( - field="state", - source="*", - target=State.UNKNOWN, - ) - def force_unknown(self): - """Force a domain to go into our unknown state. - - This can be useful on a limited basis when we need a domain - to be created in the registry for some reason. - """ - pass - def _disclose_fields(self, contact: PublicContact): """creates a disclose object that can be added to a contact Create using .disclose= on the command before sending. diff --git a/src/registrar/models/transition_domain.py b/src/registrar/models/transition_domain.py index c5b9b125c..9e6d40cf1 100644 --- a/src/registrar/models/transition_domain.py +++ b/src/registrar/models/transition_domain.py @@ -5,6 +5,7 @@ from .utility.time_stamped_model import TimeStampedModel class StatusChoices(models.TextChoices): READY = "ready", "Ready" ON_HOLD = "on hold", "On Hold" + UNKNOWN = "unknown", "Unknown" class TransitionDomain(TimeStampedModel): diff --git a/src/registrar/tests/data/test_domain_statuses.txt b/src/registrar/tests/data/test_domain_statuses.txt index a5377f5fd..53342906d 100644 --- a/src/registrar/tests/data/test_domain_statuses.txt +++ b/src/registrar/tests/data/test_domain_statuses.txt @@ -2,4 +2,4 @@ Anomaly.gov|muahaha| TestDomain.gov|ok| FakeWebsite1.gov|serverHold| FakeWebsite2.gov|Hold| -FakeWebsite3.gov|ok| \ No newline at end of file +FakeWebsite3.gov|unknown| diff --git a/src/registrar/tests/test_transition_domain_migrations.py b/src/registrar/tests/test_transition_domain_migrations.py index 91625207d..4e549bdd6 100644 --- a/src/registrar/tests/test_transition_domain_migrations.py +++ b/src/registrar/tests/test_transition_domain_migrations.py @@ -193,6 +193,17 @@ class TestOrganizationMigration(TestCase): self.assertEqual(transition, expected_transition_domain) + def test_transition_domain_status_unknown(self): + """ + Test that a domain in unknown status can be loaded + """ # noqa - E501 (harder to read) + # == First, parse all existing data == # + self.run_load_domains() + self.run_transfer_domains() + + domain_object = Domain.objects.get(name="fakewebsite3.gov") + self.assertEqual(domain_object.state, Domain.State.UNKNOWN) + def test_load_organization_data_domain_information(self): """ This test verifies the functionality of the load_organization_data method. From adb120714e1759f6dacdd861940b54f73cd06055 Mon Sep 17 00:00:00 2001 From: Neil Martinsen-Burrell Date: Fri, 1 Dec 2023 11:46:16 -0600 Subject: [PATCH 5/5] Migrations file for new transition domain status --- .../0048_alter_transitiondomain_status.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/registrar/migrations/0048_alter_transitiondomain_status.py diff --git a/src/registrar/migrations/0048_alter_transitiondomain_status.py b/src/registrar/migrations/0048_alter_transitiondomain_status.py new file mode 100644 index 000000000..d67c91e4b --- /dev/null +++ b/src/registrar/migrations/0048_alter_transitiondomain_status.py @@ -0,0 +1,24 @@ +# Generated by Django 4.2.7 on 2023-12-01 17:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("registrar", "0047_transitiondomain_address_line_transitiondomain_city_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="transitiondomain", + name="status", + field=models.CharField( + blank=True, + choices=[("ready", "Ready"), ("on hold", "On Hold"), ("unknown", "Unknown")], + default="ready", + help_text="domain status during the transfer", + max_length=255, + verbose_name="Status", + ), + ), + ]