mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-17 03:40:04 -04:00
cleaning up navigation
This commit is contained in:
@@ -25,6 +25,7 @@ from app.main.views.dashboard import (
|
||||
)
|
||||
from app.models.organization import AllOrganizations, Organization
|
||||
from app.models.user import InvitedOrgUser, User
|
||||
from app.utils.navigation_dictionaries import using_organization_nav
|
||||
from app.utils.csv import Spreadsheet
|
||||
from app.utils.user import user_has_permissions, user_is_platform_admin
|
||||
|
||||
@@ -84,6 +85,7 @@ def organization_dashboard(org_id):
|
||||
download_link=url_for(
|
||||
".download_organization_usage_report", org_id=org_id, selected_year=year
|
||||
),
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -145,6 +147,7 @@ def organization_trial_mode_services(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/trial-mode-services.html",
|
||||
search_form=SearchByNameForm(),
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -156,6 +159,7 @@ def manage_org_users(org_id):
|
||||
users=current_organization.team_members,
|
||||
show_search_box=(len(current_organization.team_members) > 7),
|
||||
form=SearchUsersForm(),
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -174,7 +178,8 @@ def invite_org_user(org_id):
|
||||
return redirect(url_for(".manage_org_users", org_id=org_id))
|
||||
|
||||
return render_template(
|
||||
"views/organizations/organization/users/invite-org-user.html", form=form
|
||||
"views/organizations/organization/users/invite-org-user.html", form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -228,6 +233,7 @@ def cancel_invited_org_user(org_id, invited_user_id):
|
||||
def organization_settings(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/index.html",
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -251,6 +257,7 @@ def edit_organization_name(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/edit-name.html",
|
||||
form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -271,6 +278,7 @@ def edit_organization_type(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/edit-type.html",
|
||||
form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -309,6 +317,7 @@ def edit_organization_domains(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/edit-domains.html",
|
||||
form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -327,6 +336,7 @@ def edit_organization_notes(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/edit-organization-notes.html",
|
||||
form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@@ -357,10 +367,11 @@ def edit_organization_billing_details(org_id):
|
||||
return render_template(
|
||||
"views/organizations/organization/settings/edit-organization-billing-details.html",
|
||||
form=form,
|
||||
org_navigation_links=using_organization_nav(),
|
||||
)
|
||||
|
||||
|
||||
@main.route("/organizations/<uuid:org_id>/billing")
|
||||
@user_is_platform_admin
|
||||
def organization_billing(org_id):
|
||||
return render_template("views/organizations/organization/billing.html")
|
||||
return render_template("views/organizations/organization/billing.html",org_navigation_links=using_organization_nav(),)
|
||||
|
||||
@@ -1,11 +1,34 @@
|
||||
<nav class="navigation">
|
||||
<!-- <nav class="navigation">
|
||||
<ul>
|
||||
<li><a class="usa-link{{ org_navigation.is_selected('dashboard') }}" href="{{ url_for('.organization_dashboard', org_id=current_org.id) }}">Usage</a></li>
|
||||
<li><a class="usa-link{{ org_navigation.is_selected('team-members') }}" href="{{ url_for('.manage_org_users', org_id=current_org.id) }}">Team members</a></li>
|
||||
{% if current_user.platform_admin %}
|
||||
{% if current_user.platform_admin %}
|
||||
|
||||
<li><a class="usa-link{{ org_navigation.is_selected('settings') }}" href="{{ url_for('.organization_settings', org_id=current_org.id) }}">Settings</a></li>
|
||||
<li><a class="usa-link{{ org_navigation.is_selected('trial-services') }}" href="{{ url_for('.organization_trial_mode_services', org_id=current_org.id) }}">Trial mode services</a></li>
|
||||
<li><a class="usa-link{{ org_navigation.is_selected('billing') }}" href="{{ url_for('.organization_billing', org_id=current_org.id) }}">Billing</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</nav> -->
|
||||
|
||||
|
||||
{% if org_navigation_links %}
|
||||
<nav aria-label="Side navigation,">
|
||||
<ul class="usa-sidenav" itemtype="http://schema.org/ItemList">
|
||||
{% for item in org_navigation_links %}
|
||||
{% if not item['requires_permission'] or current_user.platform_admin %}
|
||||
<li class="usa-sidenav__item" href="{{ url_for(item['link'], org_id=current_org.id) }}"
|
||||
itemprop="itemListElement"
|
||||
itemscope
|
||||
itemtype="http://schema.org/ListItem"
|
||||
>
|
||||
<a class="{% if request.endpoint == item['link'] %}usa-current{% endif %}" href="{{ url_for(item['link'], org_id=current_org.id) }}" itemprop="item">
|
||||
<span itemprop="name">{{item['name']}}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
@@ -15,16 +15,22 @@
|
||||
|
||||
The file service_navigation.html is included only in withnav_template. It's not used in settings_template. That is one out of the two differences between settings template and withnav template. As a result, when other templates extend settings_template, they include the serviceNavigation block but keep it empty. The settings_template.html is specifically used for these pages in the app: manage-users.html, service-settings.html, and user-profile.html.
|
||||
|
||||
In addition, for templates that previously extended org_template.html, there's an addition of the orgNavBreadcrumb block.
|
||||
In addition, for templates that previously extended org_template.html, there's an addition of the orgNavBreadcrumb block. serviceNavigation should be empty on templates that previously extended org_template
|
||||
{% block orgNavBreadcrumb %}
|
||||
{% include "/new/components/org_nav_breadcrumb.html" %}
|
||||
{% endblock %}
|
||||
#}
|
||||
{% block orgNavBreadcrumb %}{% endblock %}
|
||||
{% if current_org.name %}
|
||||
{% block orgNavBreadcrumb %}{% include "/new/components/org_nav_breadcrumb.html" %}{% endblock %}
|
||||
{% endif %}
|
||||
<div class="grid-row margin-top-5">
|
||||
<div class="grid-col-3">
|
||||
{% block sideNavigation %}
|
||||
{% include "/new/components/main_nav.html" %}
|
||||
{% if org_navigation_links %}
|
||||
{% include "/new/components/org_nav.html" %}
|
||||
{% else %}
|
||||
{% include "/new/components/main_nav.html" %}
|
||||
{% endif %}
|
||||
{#
|
||||
Include settings_nav.html for child templates that previously extended settings_template.
|
||||
|
||||
|
||||
28
app/utils/navigation_dictionaries.py
Normal file
28
app/utils/navigation_dictionaries.py
Normal file
@@ -0,0 +1,28 @@
|
||||
def using_organization_nav():
|
||||
return [
|
||||
{
|
||||
"name": "Usage",
|
||||
"link": ".organization_dashboard",
|
||||
"requires_permission": False,
|
||||
},
|
||||
{
|
||||
"name": "Team members",
|
||||
"link": ".manage_org_users",
|
||||
"requires_permission": False,
|
||||
},
|
||||
{
|
||||
"name": "Settings",
|
||||
"link": ".organization_settings",
|
||||
"requires_permission": False,
|
||||
},
|
||||
{
|
||||
"name": "Trial mode services",
|
||||
"link": ".organization_trial_mode_services",
|
||||
"requires_permission": False,
|
||||
},
|
||||
{
|
||||
"name": "Billing",
|
||||
"link": ".organization_billing",
|
||||
"requires_permission": False,
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user