workspace -> portfolio everywhere
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{% from "components/sidenav_item.html" import SidenavItem %}
|
||||
|
||||
<div class="global-navigation sidenav {% if workspace %}global-navigation__context--workspace{% endif %}">
|
||||
<div class="global-navigation sidenav {% if portfolio %}global-navigation__context--portfolio{% endif %}">
|
||||
<ul>
|
||||
{{ SidenavItem("New Task Order",
|
||||
href=url_for("task_orders.get_started"),
|
||||
@@ -8,8 +8,8 @@
|
||||
active=g.matchesPath('/task_orders/new'),
|
||||
) }}
|
||||
|
||||
{% if g.current_user.has_workspaces %}
|
||||
{{ SidenavItem("Portfolios", href="/workspaces", icon="cloud", active=g.matchesPath('/workspaces')) }}
|
||||
{% if g.current_user.has_portfolios %}
|
||||
{{ SidenavItem("Portfolios", href="/portfolios", icon="cloud", active=g.matchesPath('/portfolios')) }}
|
||||
{% endif %}
|
||||
|
||||
{% if g.Authorization.has_atat_permission(g.current_user, g.Permissions.VIEW_AUDIT_LOG) %}
|
||||
|
68
templates/navigation/portfolio_navigation.html
Normal file
68
templates/navigation/portfolio_navigation.html
Normal file
@@ -0,0 +1,68 @@
|
||||
{% from "components/sidenav_item.html" import SidenavItem %}
|
||||
|
||||
<nav class='sidenav portfolio-navigation'>
|
||||
<ul>
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.applications" | translate),
|
||||
href=url_for("portfolios.portfolio_applications", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/applications'),
|
||||
subnav=None if not user_can(permissions.ADD_APPLICATION_IN_WORKSPACE) else [
|
||||
{
|
||||
"label": ("navigation.portfolio_navigation.add_new_application_label" | translate),
|
||||
"href": url_for('portfolios.new_application', portfolio_id=portfolio.id),
|
||||
"active": g.matchesPath('\/portfolios\/[A-Za-z0-9-]*\/applications'),
|
||||
"icon": "plus"
|
||||
}
|
||||
]
|
||||
) }}
|
||||
|
||||
{% if user_can(permissions.VIEW_WORKSPACE_MEMBERS) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.members" | translate),
|
||||
href=url_for("portfolios.portfolio_members", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/members'),
|
||||
subnav=None if not user_can(permissions.ASSIGN_AND_UNASSIGN_ATAT_ROLE) else [
|
||||
{
|
||||
"label": ("navigation.portfolio_navigation.add_new_member_label" | translate),
|
||||
"href": url_for("portfolios.new_member", portfolio_id=portfolio.id),
|
||||
"active": request.url_rule.rule.startswith('/portfolios/<portfolio_id>/members/new'),
|
||||
"icon": "plus"
|
||||
}
|
||||
]
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{% if user_can(permissions.VIEW_USAGE_DOLLARS) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.budget_report" | translate),
|
||||
href=url_for("portfolios.portfolio_reports", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/reports')
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.task_orders" | translate),
|
||||
href=url_for("portfolios.portfolio_task_orders", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/task_order'),
|
||||
subnav=None
|
||||
) }}
|
||||
|
||||
{% if user_can(permissions.EDIT_WORKSPACE_INFORMATION) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.portfolio_settings" | translate),
|
||||
href=url_for("portfolios.portfolio", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/edit'),
|
||||
subnav=None
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{% if user_can(permissions.VIEW_WORKSPACE_AUDIT_LOG) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.portfolio_navigation.activity_log" | translate),
|
||||
href=url_for("portfolios.portfolio_activity", portfolio_id=portfolio.id),
|
||||
active=request.url_rule.rule.startswith('/portfolios/<portfolio_id>/activity')
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</nav>
|
@@ -2,7 +2,7 @@
|
||||
|
||||
<header class="topbar">
|
||||
<nav class="topbar__navigation">
|
||||
{% if not workspace %}
|
||||
{% if not portfolio %}
|
||||
<a href="{{ url_for('atst.home') }}" class="topbar__link topbar__link--home">
|
||||
{{ Icon('shield', classes='topbar__link-icon') }}
|
||||
<span class="topbar__link-label">
|
||||
@@ -15,31 +15,31 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<div class="topbar__context {% if workspace %}topbar__context--workspace{% endif %}">
|
||||
{% if workspace %}
|
||||
<div class="topbar__context {% if portfolio %}topbar__context--portfolio{% endif %}">
|
||||
{% if portfolio %}
|
||||
|
||||
<div is='toggler' class='topbar__workspace-menu'>
|
||||
<div is='toggler' class='topbar__portfolio-menu'>
|
||||
<template slot-scope='props'>
|
||||
<button
|
||||
v-on:click='props.toggle'
|
||||
class="topbar__link topbar__workspace-menu__toggle"
|
||||
v-bind:class="{ 'topbar__workspace-menu__toggle--open': props.isVisible }">
|
||||
<span class="topbar__link-label">{{ "navigation.topbar.named_workspace" | translate({ "workspace": workspace.name }) }}</span>
|
||||
class="topbar__link topbar__portfolio-menu__toggle"
|
||||
v-bind:class="{ 'topbar__portfolio-menu__toggle--open': props.isVisible }">
|
||||
<span class="topbar__link-label">{{ "navigation.topbar.named_portfolio" | translate({ "portfolio": portfolio.name }) }}</span>
|
||||
<template v-if='props.isVisible'>{{ Icon('caret_up', classes='topbar__link-icon') }}</template>
|
||||
<template v-else>{{ Icon('caret_down', classes='topbar__link-icon') }}</template>
|
||||
</button>
|
||||
|
||||
<div v-show='props.isVisible' class='topbar__workspace-menu__panel menu'>
|
||||
<div v-show='props.isVisible' class='topbar__portfolio-menu__panel menu'>
|
||||
<h2 class='menu__heading'>
|
||||
{{ "navigation.topbar.other_active_workspaces" | translate }}
|
||||
{{ "navigation.topbar.other_active_portfolios" | translate }}
|
||||
</h2>
|
||||
{% if workspaces %}
|
||||
{% if portfolios %}
|
||||
|
||||
<ul class='menu__list'>
|
||||
{% for other_workspace in workspaces %}
|
||||
{% for other_portfolio in portfolios %}
|
||||
<li class='menu__list__item'>
|
||||
<a href="{{ url_for('workspaces.show_workspace', workspace_id=other_workspace.id)}}">
|
||||
{{ other_workspace.name }}
|
||||
<a href="{{ url_for('portfolios.show_portfolio', portfolio_id=other_portfolio.id)}}">
|
||||
{{ other_portfolio.name }}
|
||||
{{ Icon('caret_right', classes='topbar__link-icon') }}
|
||||
</a>
|
||||
</li>
|
||||
@@ -49,7 +49,7 @@
|
||||
{% else %}
|
||||
|
||||
<p class='menu__message'>
|
||||
{{ "navigation.topbar.no_other_active_workspaces" | translate }}
|
||||
{{ "navigation.topbar.no_other_active_portfolios" | translate }}
|
||||
</p>
|
||||
|
||||
{% endif %}
|
||||
|
@@ -1,68 +0,0 @@
|
||||
{% from "components/sidenav_item.html" import SidenavItem %}
|
||||
|
||||
<nav class='sidenav workspace-navigation'>
|
||||
<ul>
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.applications" | translate),
|
||||
href=url_for("workspaces.workspace_applications", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/applications'),
|
||||
subnav=None if not user_can(permissions.ADD_APPLICATION_IN_WORKSPACE) else [
|
||||
{
|
||||
"label": ("navigation.workspace_navigation.add_new_application_label" | translate),
|
||||
"href": url_for('workspaces.new_application', workspace_id=workspace.id),
|
||||
"active": g.matchesPath('\/workspaces\/[A-Za-z0-9-]*\/applications'),
|
||||
"icon": "plus"
|
||||
}
|
||||
]
|
||||
) }}
|
||||
|
||||
{% if user_can(permissions.VIEW_WORKSPACE_MEMBERS) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.members" | translate),
|
||||
href=url_for("workspaces.workspace_members", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/members'),
|
||||
subnav=None if not user_can(permissions.ASSIGN_AND_UNASSIGN_ATAT_ROLE) else [
|
||||
{
|
||||
"label": ("navigation.workspace_navigation.add_new_member_label" | translate),
|
||||
"href": url_for("workspaces.new_member", workspace_id=workspace.id),
|
||||
"active": request.url_rule.rule.startswith('/workspaces/<workspace_id>/members/new'),
|
||||
"icon": "plus"
|
||||
}
|
||||
]
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{% if user_can(permissions.VIEW_USAGE_DOLLARS) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.budget_report" | translate),
|
||||
href=url_for("workspaces.workspace_reports", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/reports')
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.task_orders" | translate),
|
||||
href=url_for("workspaces.workspace_task_orders", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/task_order'),
|
||||
subnav=None
|
||||
) }}
|
||||
|
||||
{% if user_can(permissions.EDIT_WORKSPACE_INFORMATION) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.workspace_settings" | translate),
|
||||
href=url_for("workspaces.workspace", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/edit'),
|
||||
subnav=None
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
{% if user_can(permissions.VIEW_WORKSPACE_AUDIT_LOG) %}
|
||||
{{ SidenavItem(
|
||||
("navigation.workspace_navigation.activity_log" | translate),
|
||||
href=url_for("workspaces.workspace_activity", workspace_id=workspace.id),
|
||||
active=request.url_rule.rule.startswith('/workspaces/<workspace_id>/activity')
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</nav>
|
Reference in New Issue
Block a user