mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-18 10:29:23 +02:00
Custom additional details page
This commit is contained in:
parent
b6428ec363
commit
133155fb0b
5 changed files with 58 additions and 62 deletions
|
@ -62,6 +62,7 @@ for step, view in [
|
|||
(Step.REVIEW, views.Review),
|
||||
# Portfolio steps
|
||||
(PortfolioDomainRequestStep.REQUESTING_ENTITY, views.RequestingEntity),
|
||||
(PortfolioDomainRequestStep.ADDITIONAL_DETAILS, views.PortfolioAdditionalDetails)
|
||||
]:
|
||||
domain_request_urls.append(path(f"{step}/", view.as_view(), name=step))
|
||||
|
||||
|
|
|
@ -53,32 +53,8 @@
|
|||
{% endif %}
|
||||
|
||||
{% if step == Step.ADDITIONAL_DETAILS %}
|
||||
{% with title=form_titles|get_item:step %}
|
||||
{% if domain_request.has_additional_details %}
|
||||
{% include "includes/summary_item.html" with title="Additional Details" value=" " heading_level=heading_level editable=is_editable edit_link=domain_request_url %}
|
||||
<h3 class="register-form-review-header">CISA Regional Representative</h3>
|
||||
<ul class="usa-list usa-list--unstyled margin-top-0">
|
||||
{% if domain_request.cisa_representative_first_name %}
|
||||
<li>{{domain_request.cisa_representative_first_name}} {{domain_request.cisa_representative_last_name}}</li>
|
||||
{% if domain_request.cisa_representative_email %}
|
||||
<li>{{domain_request.cisa_representative_email}}</li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
No
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<h3 class="register-form-review-header">Anything else</h3>
|
||||
<ul class="usa-list usa-list--unstyled margin-top-0">
|
||||
{% if domain_request.anything_else %}
|
||||
{{domain_request.anything_else}}
|
||||
{% else %}
|
||||
No
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% else %}
|
||||
{% include "includes/summary_item.html" with title="Additional Details" value="<span class='text-bold text-secondary-dark'>Incomplete</span>"|safe heading_level=heading_level editable=is_editable edit_link=domain_request_url %}
|
||||
{% endif %}
|
||||
{% with title=form_titles|get_item:step value=domain_request.anything_else|default:"<span class='text-bold text-secondary-dark'>Incomplete</span>"|safe %}
|
||||
{% include "includes/summary_item.html" with title=title value=value heading_level=heading_level editable=is_editable edit_link=domain_request_url %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
{% extends 'domain_request_form.html' %}
|
||||
{% load static field_helpers %}
|
||||
|
||||
{% block form_required_fields_help_text %}
|
||||
{% include "includes/required_fields.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block form_fields %}
|
||||
|
||||
<fieldset class="usa-fieldset margin-top-2">
|
||||
<legend>
|
||||
<h2>Is there anything else you’d like us to know about your domain request?</h2>
|
||||
</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="margin-top-3" id="anything-else">
|
||||
<p>Provide details below. <abbr class="usa-hint usa-hint--required" title="required">*</abbr></p>
|
||||
{% with attr_maxlength=2000 add_label_class="usa-sr-only" %}
|
||||
{% input_with_errors forms.0.anything_else %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -73,12 +73,13 @@ class PortfolioDomainRequestStep(StrEnum):
|
|||
As with Django's own `TextChoices` class, steps will
|
||||
appear in the order they are defined. (Order matters.)
|
||||
"""
|
||||
|
||||
# Portfolio
|
||||
REQUESTING_ENTITY = "requesting_entity"
|
||||
# NOTE: Append portfolio_ when customizing a view for portfolio.
|
||||
# By default, these will redirect to the normal request flow views.
|
||||
# After creating a new view, you will need to add this to urls.py.
|
||||
REQUESTING_ENTITY = "portfolio_requesting_entity"
|
||||
CURRENT_SITES = "current_sites"
|
||||
DOTGOV_DOMAIN = "dotgov_domain"
|
||||
PURPOSE = "purpose"
|
||||
ADDITIONAL_DETAILS = "additional_details"
|
||||
ADDITIONAL_DETAILS = "portfolio_additional_details"
|
||||
REQUIREMENTS = "requirements"
|
||||
REVIEW = "review"
|
||||
|
|
|
@ -366,33 +366,23 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
|
|||
# from the list of "unlocked" steps.
|
||||
if self.is_portfolio:
|
||||
history_dict = {
|
||||
"requesting_entity": self.domain_request.organization_name is not None,
|
||||
"current_sites": (
|
||||
self.StepEnum.REQUESTING_ENTITY: self.domain_request.organization_name is not None,
|
||||
self.StepEnum.CURRENT_SITES: (
|
||||
self.domain_request.current_websites.exists() or self.domain_request.requested_domain is not None
|
||||
),
|
||||
"dotgov_domain": self.domain_request.requested_domain is not None,
|
||||
"purpose": self.domain_request.purpose is not None,
|
||||
"other_contacts": (
|
||||
self.domain_request.other_contacts.exists()
|
||||
or self.domain_request.no_other_contacts_rationale is not None
|
||||
),
|
||||
"additional_details": (
|
||||
# Additional details is complete as long as "has anything else" and "has cisa rep" are not None
|
||||
(
|
||||
self.domain_request.has_anything_else_text is not None
|
||||
and self.domain_request.has_cisa_representative is not None
|
||||
)
|
||||
),
|
||||
"requirements": self.domain_request.is_policy_acknowledged is not None,
|
||||
"review": self.domain_request.is_policy_acknowledged is not None,
|
||||
self.StepEnum.DOTGOV_DOMAIN: self.domain_request.requested_domain is not None,
|
||||
self.StepEnum.PURPOSE: self.domain_request.purpose is not None,
|
||||
self.StepEnum.ADDITIONAL_DETAILS: self.domain_request.anything_else is not None,
|
||||
self.StepEnum.REQUIREMENTS: self.domain_request.is_policy_acknowledged is not None,
|
||||
self.StepEnum.REVIEW: self.domain_request.is_policy_acknowledged is not None,
|
||||
}
|
||||
else:
|
||||
history_dict = {
|
||||
"generic_org_type": self.domain_request.generic_org_type is not None,
|
||||
"tribal_government": self.domain_request.tribe_name is not None,
|
||||
"organization_federal": self.domain_request.federal_type is not None,
|
||||
"organization_election": self.domain_request.is_election_board is not None,
|
||||
"organization_contact": (
|
||||
self.StepEnum.ORGANIZATION_TYPE: self.domain_request.generic_org_type is not None,
|
||||
self.StepEnum.TRIBAL_GOVERNMENT: self.domain_request.tribe_name is not None,
|
||||
self.StepEnum.ORGANIZATION_FEDERAL: self.domain_request.federal_type is not None,
|
||||
self.StepEnum.ORGANIZATION_ELECTION: self.domain_request.is_election_board is not None,
|
||||
self.StepEnum.ORGANIZATION_CONTACT: (
|
||||
self.domain_request.federal_agency is not None
|
||||
or self.domain_request.organization_name is not None
|
||||
or self.domain_request.address_line1 is not None
|
||||
|
@ -401,26 +391,26 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
|
|||
or self.domain_request.zipcode is not None
|
||||
or self.domain_request.urbanization is not None
|
||||
),
|
||||
"about_your_organization": self.domain_request.about_your_organization is not None,
|
||||
"senior_official": self.domain_request.senior_official is not None,
|
||||
"current_sites": (
|
||||
self.StepEnum.ABOUT_YOUR_ORGANIZATION: self.domain_request.about_your_organization is not None,
|
||||
self.StepEnum.SENIOR_OFFICIAL: self.domain_request.senior_official is not None,
|
||||
self.StepEnum.CURRENT_SITES: (
|
||||
self.domain_request.current_websites.exists() or self.domain_request.requested_domain is not None
|
||||
),
|
||||
"dotgov_domain": self.domain_request.requested_domain is not None,
|
||||
"purpose": self.domain_request.purpose is not None,
|
||||
"other_contacts": (
|
||||
self.StepEnum.DOTGOV_DOMAIN: self.domain_request.requested_domain is not None,
|
||||
self.StepEnum.PURPOSE: self.domain_request.purpose is not None,
|
||||
self.StepEnum.OTHER_CONTACTS: (
|
||||
self.domain_request.other_contacts.exists()
|
||||
or self.domain_request.no_other_contacts_rationale is not None
|
||||
),
|
||||
"additional_details": (
|
||||
self.StepEnum.ADDITIONAL_DETAILS: (
|
||||
# Additional details is complete as long as "has anything else" and "has cisa rep" are not None
|
||||
(
|
||||
self.domain_request.has_anything_else_text is not None
|
||||
and self.domain_request.has_cisa_representative is not None
|
||||
)
|
||||
),
|
||||
"requirements": self.domain_request.is_policy_acknowledged is not None,
|
||||
"review": self.domain_request.is_policy_acknowledged is not None,
|
||||
self.StepEnum.REQUIREMENTS: self.domain_request.is_policy_acknowledged is not None,
|
||||
self.StepEnum.REVIEW: self.domain_request.is_policy_acknowledged is not None,
|
||||
}
|
||||
return [key for key, value in history_dict.items() if value]
|
||||
|
||||
|
@ -477,7 +467,7 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
|
|||
return request_step_list(self)
|
||||
|
||||
def goto(self, step):
|
||||
if step == "generic_org_type" or step == "requesting_entity":
|
||||
if step == "generic_org_type" or step == "portfolio_requesting_entity":
|
||||
# We need to avoid creating a new domain request if the user
|
||||
# clicks the back button
|
||||
self.request.session["new_request"] = False
|
||||
|
@ -588,6 +578,12 @@ class RequestingEntity(DomainRequestWizard):
|
|||
forms = [forms.RequestingEntityForm]
|
||||
|
||||
|
||||
class PortfolioAdditionalDetails(DomainRequestWizard):
|
||||
template_name = "portfolio_domain_request_additional_details.html"
|
||||
|
||||
forms = [forms.AnythingElseForm]
|
||||
|
||||
|
||||
# Non-portfolio pages
|
||||
class OrganizationType(DomainRequestWizard):
|
||||
template_name = "domain_request_org_type.html"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue