mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-19 07:54:16 +02:00
Merge branch 'ms/3212-FEB-review' into ms/3457-FEB-emails
This commit is contained in:
commit
b60112872b
7 changed files with 64 additions and 55 deletions
|
@ -147,8 +147,6 @@ class EOPContactForm(BaseDeletableRegistrarForm):
|
||||||
Executive Branch (FEB) agency is working with.
|
Executive Branch (FEB) agency is working with.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
field_name = "eop_contact"
|
|
||||||
|
|
||||||
first_name = forms.CharField(
|
first_name = forms.CharField(
|
||||||
label="First name / given name",
|
label="First name / given name",
|
||||||
error_messages={"required": "Enter the first name / given name of this contact."},
|
error_messages={"required": "Enter the first name / given name of this contact."},
|
||||||
|
@ -178,12 +176,10 @@ class EOPContactForm(BaseDeletableRegistrarForm):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_database(cls, obj):
|
def from_database(cls, obj):
|
||||||
if not obj.eop_contact:
|
|
||||||
return {}
|
|
||||||
return {
|
return {
|
||||||
"first_name": obj.eop_contact.first_name,
|
"first_name": obj.eop_stakeholder_first_name,
|
||||||
"last_name": obj.eop_contact.last_name,
|
"last_name": obj.eop_stakeholder_last_name,
|
||||||
"email": obj.eop_contact.email,
|
"email": obj.eop_stakeholder_email,
|
||||||
}
|
}
|
||||||
|
|
||||||
def to_database(self, obj):
|
def to_database(self, obj):
|
||||||
|
@ -195,11 +191,9 @@ class EOPContactForm(BaseDeletableRegistrarForm):
|
||||||
return
|
return
|
||||||
if not self.is_valid():
|
if not self.is_valid():
|
||||||
return
|
return
|
||||||
obj.eop_contact = Contact.objects.create(
|
obj.eop_stakeholder_first_name = self.cleaned_data["first_name"]
|
||||||
first_name=self.cleaned_data["first_name"],
|
obj.eop_stakeholder_last_name = self.cleaned_data["last_name"]
|
||||||
last_name=self.cleaned_data["last_name"],
|
obj.eop_stakeholder_email = self.cleaned_data["email"]
|
||||||
email=self.cleaned_data["email"],
|
|
||||||
)
|
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
# Generated by Django 4.2.17 on 2025-03-11 18:10
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
("registrar", "0142_domainrequest_feb_naming_requirements_and_more"),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name="domainrequest",
|
|
||||||
name="eop_contact",
|
|
||||||
field=models.ForeignKey(
|
|
||||||
blank=True,
|
|
||||||
null=True,
|
|
||||||
on_delete=django.db.models.deletion.PROTECT,
|
|
||||||
related_name="eop_contact",
|
|
||||||
to="registrar.contact",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name="domainrequest",
|
|
||||||
name="working_with_eop",
|
|
||||||
field=models.BooleanField(blank=True, null=True),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Generated by Django 4.2.17 on 2025-03-17 20:44
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("registrar", "0142_domainrequest_feb_naming_requirements_and_more"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="domainrequest",
|
||||||
|
name="eop_stakeholder_email",
|
||||||
|
field=models.EmailField(blank=True, max_length=254, null=True, verbose_name="EOP Stakeholder Email"),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="domainrequest",
|
||||||
|
name="eop_stakeholder_first_name",
|
||||||
|
field=models.CharField(blank=True, null=True, verbose_name="EOP Stakeholder First Name"),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="domainrequest",
|
||||||
|
name="eop_stakeholder_last_name",
|
||||||
|
field=models.CharField(blank=True, null=True, verbose_name="EOP Stakeholder Last Name"),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="domainrequest",
|
||||||
|
name="working_with_eop",
|
||||||
|
field=models.BooleanField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -528,12 +528,22 @@ class DomainRequest(TimeStampedModel):
|
||||||
blank=True,
|
blank=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
eop_contact = models.ForeignKey(
|
eop_stakeholder_first_name = models.CharField(
|
||||||
"registrar.Contact",
|
|
||||||
null=True,
|
null=True,
|
||||||
blank=True,
|
blank=True,
|
||||||
related_name="eop_contact",
|
verbose_name="EOP Stakeholder First Name",
|
||||||
on_delete=models.PROTECT,
|
)
|
||||||
|
|
||||||
|
eop_stakeholder_last_name = models.CharField(
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
verbose_name="EOP Stakeholder Last Name",
|
||||||
|
)
|
||||||
|
|
||||||
|
eop_stakeholder_email = models.EmailField(
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
verbose_name="EOP Stakeholder Email",
|
||||||
)
|
)
|
||||||
|
|
||||||
# This field is alternately used for generic domain purpose explanations
|
# This field is alternately used for generic domain purpose explanations
|
||||||
|
|
|
@ -90,7 +90,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="margin-y-0">No</p>
|
<p class="margin-y-0">No</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h4 class="margin-bottom-0">EOP Stakeholder</h4>
|
<h4 class="margin-bottom-0">Interagency Initiative</h4>
|
||||||
{% if domain_request.is_interagency_initiative is None %}
|
{% if domain_request.is_interagency_initiative is None %}
|
||||||
<p class="margin-y-0"><span class='text-bold text-secondary-dark'>Incomplete</span></p>
|
<p class="margin-y-0"><span class='text-bold text-secondary-dark'>Incomplete</span></p>
|
||||||
{% elif domain_request.is_interagency_initiative %}
|
{% elif domain_request.is_interagency_initiative %}
|
||||||
|
@ -110,8 +110,8 @@
|
||||||
{% if domain_request.working_with_eop is None %}
|
{% if domain_request.working_with_eop is None %}
|
||||||
<p class="margin-y-0"><span class='text-bold text-secondary-dark'>Incomplete</span></p>
|
<p class="margin-y-0"><span class='text-bold text-secondary-dark'>Incomplete</span></p>
|
||||||
{% elif domain_request.working_with_eop %}
|
{% elif domain_request.working_with_eop %}
|
||||||
<p class="margin-y-0">{{domain_request.eop_contact.first_name}} {{domain_request.eop_contact.last_name}}</p>
|
<p class="margin-y-0">{{domain_request.eop_stakeholder_first_name}} {{domain_request.eop_stakeholder_last_name}}</p>
|
||||||
<p class="margin-y-0">{{domain_request.eop_contact.email}}</p>
|
<p class="margin-y-0">{{domain_request.eop_stakeholder_email}}</p>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="margin-y-0">No</p>
|
<p class="margin-y-0">No</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -1985,7 +1985,9 @@ class TestDomainRequestAdmin(MockEppLib):
|
||||||
"feb_naming_requirements_details",
|
"feb_naming_requirements_details",
|
||||||
"feb_purpose_choice",
|
"feb_purpose_choice",
|
||||||
"working_with_eop",
|
"working_with_eop",
|
||||||
"eop_contact",
|
"eop_stakeholder_first_name",
|
||||||
|
"eop_stakeholder_last_name",
|
||||||
|
"eop_stakeholder_email",
|
||||||
"purpose",
|
"purpose",
|
||||||
"has_timeframe",
|
"has_timeframe",
|
||||||
"time_frame_details",
|
"time_frame_details",
|
||||||
|
|
|
@ -2745,21 +2745,21 @@ class DomainRequestTests(TestWithUser, WebTest):
|
||||||
|
|
||||||
def feb_review_page_tests(self, review_page):
|
def feb_review_page_tests(self, review_page):
|
||||||
# Meets Naming Requirements
|
# Meets Naming Requirements
|
||||||
self.assertContains(review_page, "<h4>Meets Naming Requirements</h4>")
|
self.assertContains(review_page, "Meets Naming Requirements")
|
||||||
self.assertContains(review_page, "No")
|
self.assertContains(review_page, "No")
|
||||||
self.assertContains(review_page, "Because this is a test")
|
self.assertContains(review_page, "Because this is a test")
|
||||||
# Purpose
|
# Purpose
|
||||||
self.assertContains(review_page, "<h4>Purpose</h4>")
|
self.assertContains(review_page, "Purpose")
|
||||||
self.assertContains(review_page, "Used as a redirect for an existing website")
|
self.assertContains(review_page, "Used as a redirect for an existing website")
|
||||||
self.assertContains(review_page, "testPurpose123")
|
self.assertContains(review_page, "testPurpose123")
|
||||||
# Target Time Frame
|
# Target Time Frame
|
||||||
self.assertContains(review_page, "<h4>Target Time Frame</h4>")
|
self.assertContains(review_page, "Target Time Frame")
|
||||||
self.assertContains(review_page, "1/2/2025 - 1/2/2026")
|
self.assertContains(review_page, "1/2/2025 - 1/2/2026")
|
||||||
# Interagency Initiative
|
# Interagency Initiative
|
||||||
self.assertContains(review_page, "<h4>Interagency Initiative</h4>")
|
self.assertContains(review_page, "Interagency Initiative")
|
||||||
self.assertContains(review_page, "FakeInteragencyInitiative")
|
self.assertContains(review_page, "FakeInteragencyInitiative")
|
||||||
# EOP Stakeholder
|
# EOP Stakeholder
|
||||||
self.assertContains(review_page, "<h4>EOP Stakeholder</h4>")
|
self.assertContains(review_page, "EOP Stakeholder")
|
||||||
self.assertContains(review_page, "TesterFirstName TesterLastName")
|
self.assertContains(review_page, "TesterFirstName TesterLastName")
|
||||||
self.assertContains(review_page, "testy@town.com")
|
self.assertContains(review_page, "testy@town.com")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue