mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-21 18:25:58 +02:00
Daves refactor cleanup
This commit is contained in:
parent
da3dfd487e
commit
06a66cc5b0
3 changed files with 21 additions and 50 deletions
|
@ -4,24 +4,23 @@
|
||||||
<nav aria-label="Form steps,">
|
<nav aria-label="Form steps,">
|
||||||
<ul class="usa-sidenav">
|
<ul class="usa-sidenav">
|
||||||
{% for this_step in steps.all %}
|
{% for this_step in steps.all %}
|
||||||
|
{% if this_step in visited %}
|
||||||
<li class="usa-sidenav__item sidenav__step--locked">
|
<li class="usa-sidenav__item sidenav__step--locked">
|
||||||
{% if this_step == steps.current %}
|
|
||||||
<a href="{% namespaced_url 'application' this_step %}"
|
|
||||||
class="usa-current"
|
|
||||||
>
|
|
||||||
{{ form_titles|get_item:this_step }}
|
|
||||||
</a>
|
|
||||||
{% elif this_step in visited %}
|
|
||||||
<span>
|
<span>
|
||||||
|
{% if not this_step == steps.current %}
|
||||||
{% if this_step != "review" %}
|
{% if this_step != "review" %}
|
||||||
<svg class="usa-icon text-green" aria-hidden="true" focsuable="false" role="img" width="24" height="24">
|
<svg class="usa-icon text-green" aria-hidden="true" focsuable="false" role="img" width="24" height="24">
|
||||||
<title id="checked-step__{{forloop.counter}}">Checked mark</title>
|
<title id="checked-step__{{forloop.counter}}">Checked mark</title>
|
||||||
<use xlink:href="{%static 'img/sprite.svg'%}#check_circle"></use>
|
<use xlink:href="{%static 'img/sprite.svg'%}#check_circle"></use>
|
||||||
</svg>
|
</svg>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
<a href="{% namespaced_url 'application' this_step %}"
|
<a href="{% namespaced_url 'application' this_step %}"
|
||||||
|
{% if this_step == steps.current %}
|
||||||
|
class="usa-current"
|
||||||
|
{% else %}
|
||||||
class="link_usa-checked"
|
class="link_usa-checked"
|
||||||
>
|
{% endif%}>
|
||||||
{{ form_titles|get_item:this_step }}
|
{{ form_titles|get_item:this_step }}
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -2387,23 +2387,7 @@ class TestWizardUnlockingSteps(TestWithUser, WebTest):
|
||||||
def test_unlocked_steps_empty_application(self):
|
def test_unlocked_steps_empty_application(self):
|
||||||
"""Test when all fields in the application are empty."""
|
"""Test when all fields in the application are empty."""
|
||||||
unlocked_steps = self.wizard.db_check_for_unlocking_steps()
|
unlocked_steps = self.wizard.db_check_for_unlocking_steps()
|
||||||
expected_dict = {
|
expected_dict = []
|
||||||
"about_your_organization": False,
|
|
||||||
"anything_else": False,
|
|
||||||
"authorizing_official": False,
|
|
||||||
"current_sites": False,
|
|
||||||
"dotgov_domain": False,
|
|
||||||
"organization_contact": False,
|
|
||||||
"organization_election": False,
|
|
||||||
"organization_federal": False,
|
|
||||||
"organization_type": False,
|
|
||||||
"other_contacts": False,
|
|
||||||
"purpose": False,
|
|
||||||
"requirements": False,
|
|
||||||
"review": False,
|
|
||||||
"tribal_government": False,
|
|
||||||
"your_contact": False,
|
|
||||||
}
|
|
||||||
self.assertEqual(unlocked_steps, expected_dict)
|
self.assertEqual(unlocked_steps, expected_dict)
|
||||||
|
|
||||||
def test_unlocked_steps_full_application(self):
|
def test_unlocked_steps_full_application(self):
|
||||||
|
|
|
@ -215,6 +215,7 @@ class ApplicationWizard(ApplicationWizardPermissionView, TemplateView):
|
||||||
if current_url == self.EDIT_URL_NAME and "id" in kwargs:
|
if current_url == self.EDIT_URL_NAME and "id" in kwargs:
|
||||||
del self.storage
|
del self.storage
|
||||||
self.storage["application_id"] = kwargs["id"]
|
self.storage["application_id"] = kwargs["id"]
|
||||||
|
self.storage["step_history"] = self.db_check_for_unlocking_steps()
|
||||||
|
|
||||||
# if accessing this class directly, redirect to the first step
|
# if accessing this class directly, redirect to the first step
|
||||||
# in other words, if `ApplicationWizard` is called as view
|
# in other words, if `ApplicationWizard` is called as view
|
||||||
|
@ -338,7 +339,7 @@ class ApplicationWizard(ApplicationWizardPermissionView, TemplateView):
|
||||||
"""Helper for get_context_data
|
"""Helper for get_context_data
|
||||||
|
|
||||||
Queries the DB for an application and returns a dict for unlocked steps."""
|
Queries the DB for an application and returns a dict for unlocked steps."""
|
||||||
return {
|
history_dict = {
|
||||||
"organization_type": bool(self.application.organization_type),
|
"organization_type": bool(self.application.organization_type),
|
||||||
"tribal_government": bool(self.application.tribe_name),
|
"tribal_government": bool(self.application.tribe_name),
|
||||||
"organization_federal": bool(self.application.federal_type),
|
"organization_federal": bool(self.application.federal_type),
|
||||||
|
@ -367,6 +368,7 @@ class ApplicationWizard(ApplicationWizardPermissionView, TemplateView):
|
||||||
"requirements": bool(self.application.is_policy_acknowledged),
|
"requirements": bool(self.application.is_policy_acknowledged),
|
||||||
"review": bool(self.application.is_policy_acknowledged),
|
"review": bool(self.application.is_policy_acknowledged),
|
||||||
}
|
}
|
||||||
|
return [key for key, value in history_dict.items() if value]
|
||||||
|
|
||||||
def get_context_data(self):
|
def get_context_data(self):
|
||||||
"""Define context for access on all wizard pages."""
|
"""Define context for access on all wizard pages."""
|
||||||
|
@ -378,25 +380,11 @@ class ApplicationWizard(ApplicationWizardPermissionView, TemplateView):
|
||||||
else:
|
else:
|
||||||
modal_heading = "You are about to submit an incomplete request"
|
modal_heading = "You are about to submit an incomplete request"
|
||||||
|
|
||||||
unlocked_steps_list = [key for key, value in self.db_check_for_unlocking_steps().items() if value]
|
|
||||||
|
|
||||||
# History captures the ephemeral activation of the current step
|
|
||||||
# We want to add that to our unlocked steps so that users can navigate to another
|
|
||||||
# step than back to the empty form step.
|
|
||||||
step_history_set = set(self.storage.get("step_history", []))
|
|
||||||
unlocked_steps_set = set(unlocked_steps_list)
|
|
||||||
|
|
||||||
# Find the elements in step_history_set that are not in unlocked_steps_set
|
|
||||||
new_elements = step_history_set - unlocked_steps_set
|
|
||||||
|
|
||||||
# Add the new elements to unlocked_steps_list
|
|
||||||
unlocked_steps_list.extend(new_elements)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"form_titles": self.TITLES,
|
"form_titles": self.TITLES,
|
||||||
"steps": self.steps,
|
"steps": self.steps,
|
||||||
# Add information about which steps should be unlocked
|
# Add information about which steps should be unlocked
|
||||||
"visited": unlocked_steps_list,
|
"visited": self.storage.get("step_history", []),
|
||||||
"is_federal": self.application.is_federal(),
|
"is_federal": self.application.is_federal(),
|
||||||
"modal_button": modal_button,
|
"modal_button": modal_button,
|
||||||
"modal_heading": modal_heading,
|
"modal_heading": modal_heading,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue