Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changes/914.changed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Removes conditional UI views for when compliance, intended, and backup settings are disabled.
191 changes: 76 additions & 115 deletions nautobot_golden_config/navigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,129 +2,91 @@

from nautobot.apps.ui import NavMenuAddButton, NavMenuGroup, NavMenuItem, NavMenuTab

from nautobot_golden_config.utilities.constant import ENABLE_BACKUP, ENABLE_COMPLIANCE, ENABLE_PLAN

items_operate = [
items_operate = (
NavMenuItem(
link="plugins:nautobot_golden_config:goldenconfig_list",
name="Config Overview",
permissions=["nautobot_golden_config.view_goldenconfig"],
)
]

items_setup = []

if ENABLE_COMPLIANCE:
items_operate.append(
NavMenuItem(
link="plugins:nautobot_golden_config:configcompliance_list",
name="Config Compliance",
permissions=["nautobot_golden_config.view_configcompliance"],
)
)

if ENABLE_COMPLIANCE:
items_setup.append(
NavMenuItem(
link="plugins:nautobot_golden_config:compliancerule_list",
name="Compliance Rules",
permissions=["nautobot_golden_config.view_compliancerule"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:compliancerule_add",
permissions=["nautobot_golden_config.add_compliancerule"],
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:configcompliance_list",
name="Config Compliance",
permissions=["nautobot_golden_config.view_configcompliance"],
),
NavMenuItem(
link="plugins:nautobot_golden_config:configcompliance_overview",
name="Compliance Report",
permissions=["nautobot_golden_config.view_configcompliance"],
),
NavMenuItem(
link="plugins:nautobot_golden_config:configplan_list",
name="Config Plans",
permissions=["nautobot_golden_config.view_configplan"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configplan_add",
permissions=["nautobot_golden_config.add_configplan"],
),
)
)
),
),
)

if ENABLE_COMPLIANCE:
items_setup.append(
NavMenuItem(
link="plugins:nautobot_golden_config:compliancefeature_list",
name="Compliance Features",
permissions=["nautobot_golden_config.view_compliancefeature"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:compliancefeature_add",
permissions=["nautobot_golden_config.add_compliancefeature"],
),
items_setup = (
NavMenuItem(
link="plugins:nautobot_golden_config:compliancerule_list",
name="Compliance Rules",
permissions=["nautobot_golden_config.view_compliancerule"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:compliancerule_add",
permissions=["nautobot_golden_config.add_compliancerule"],
),
)
)


if ENABLE_COMPLIANCE:
items_operate.append(
NavMenuItem(
link="plugins:nautobot_golden_config:configcompliance_overview",
name="Compliance Report",
permissions=["nautobot_golden_config.view_configcompliance"],
)
)

if ENABLE_PLAN:
items_operate.append(
NavMenuItem(
link="plugins:nautobot_golden_config:configplan_list",
name="Config Plans",
permissions=["nautobot_golden_config.view_configplan"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configplan_add",
permissions=["nautobot_golden_config.add_configplan"],
),
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:compliancefeature_list",
name="Compliance Features",
permissions=["nautobot_golden_config.view_compliancefeature"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:compliancefeature_add",
permissions=["nautobot_golden_config.add_compliancefeature"],
),
)
)

if ENABLE_BACKUP:
items_setup.append(
NavMenuItem(
link="plugins:nautobot_golden_config:configremove_list",
name="Config Removals",
permissions=["nautobot_golden_config.view_configremove"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configremove_add",
permissions=["nautobot_golden_config.add_configremove"],
),
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:configremove_list",
name="Config Removals",
permissions=["nautobot_golden_config.view_configremove"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configremove_add",
permissions=["nautobot_golden_config.add_configremove"],
),
)
)

if ENABLE_BACKUP:
items_setup.append(
NavMenuItem(
link="plugins:nautobot_golden_config:configreplace_list",
name="Config Replacements",
permissions=["nautobot_golden_config.view_configreplace"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configreplace_add",
permissions=["nautobot_golden_config.add_configreplace"],
),
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:configreplace_list",
name="Config Replacements",
permissions=["nautobot_golden_config.view_configreplace"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:configreplace_add",
permissions=["nautobot_golden_config.add_configreplace"],
),
)
)


if ENABLE_COMPLIANCE:
items_setup.append(
NavMenuItem(
link="plugins:nautobot_golden_config:remediationsetting_list",
name="Remediation Settings",
permissions=["nautobot_golden_config.view_remediationsetting"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:remediationsetting_add",
permissions=["nautobot_golden_config.add_remediationsetting"],
),
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:remediationsetting_list",
name="Remediation Settings",
permissions=["nautobot_golden_config.view_remediationsetting"],
buttons=(
NavMenuAddButton(
link="plugins:nautobot_golden_config:remediationsetting_add",
permissions=["nautobot_golden_config.add_remediationsetting"],
),
)
)

items_setup.append(
),
),
NavMenuItem(
link="plugins:nautobot_golden_config:goldenconfigsetting_list",
name="Golden Config Settings",
Expand All @@ -138,14 +100,13 @@
),
)


menu_items = (
NavMenuTab(
name="Golden Config",
weight=1000,
groups=(
NavMenuGroup(name="Manage", weight=100, items=tuple(items_operate)),
NavMenuGroup(name="Setup", weight=100, items=tuple(items_setup)),
NavMenuGroup(name="Manage", weight=100, items=items_operate),
NavMenuGroup(name="Setup", weight=100, items=items_setup),
NavMenuGroup(
name="Tools",
weight=300,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Execute <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% if compliance %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
{% endif %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
</ul>
</div>
{% endblock %}
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Execute <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% if compliance %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
{% endif %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
</ul>
</div>
{% endblock %}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
{% if compliance %}
<div class="panel panel-default">
{% if template_type == "devicetab" %}
<div class="panel-heading">
Expand Down Expand Up @@ -51,7 +50,6 @@
</table>
{% endif %}
</div>
{% endif %}
{# The panel will not show up, since it is returned early in template_content.py based on an actual GoldenConfig object existing #}
{% if template_type == "device-configs" %}
<div class="panel panel-default">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,10 @@ <h1>{% block title %}Configuration Overview{% endblock %}</h1>
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Execute <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% if compliance %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
{% endif %}
{% if intended %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.IntendedJob' %}">Intended</a></li>
{% endif %}
{% if backup %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.BackupJob' %}">Backup</a></li>
{% endif %}
{% if not compliance and not intended and not backup %}
<li><a href="#" class="disabled">Features are not enabled.</a></li>
{% endif %}
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.ComplianceJob' %}">Compliance</a></li>
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.IntendedJob' %}">Intended</a></li>
<li><a href="{% url 'extras:job_run_by_class_path' class_path='nautobot_golden_config.jobs.BackupJob' %}">Backup</a></li>
<li><a href="#" class="disabled">Features are not enabled.</a></li>
</ul>
</div>
{% endblock %}
Expand Down
Loading