76 lines
3.5 KiB
HTML
76 lines
3.5 KiB
HTML
{% set su = user.is_superuser %}
|
|
{% set p = user.permissions %}
|
|
{% set can_admin = su or "users:read" in p or "roles:read" in p or "audit_log:read" in p %}
|
|
{% set can_connections = su or "clamp_connections:read" in p or "iso_threads:read" in p or "static_connections:read" in p or "unc_threads:read" in p %}
|
|
{% set can_labels = su or "manufacturers:read" in p or "part_colours:read" in p or "part_types:read" in p or "scope_models:read" in p or "sub_part_types:read" in p %}
|
|
{% set can_database = su or "imported_parts:read" in p or "augmented_parts:read" in p %}
|
|
{% set can_parts = can_connections or can_labels or can_database %}
|
|
<header class="topbar">
|
|
<div class="brand"><a href="/">{{ app_name }}</a></div>
|
|
<nav>
|
|
<a href="/">Dashboard</a>
|
|
|
|
{% if can_admin %}
|
|
<div class="nav-group">
|
|
<span class="nav-label">Admin ▾</span>
|
|
<div class="nav-dropdown">
|
|
{% if su or "users:read" in p %}<a href="/admin/users">Users</a>{% endif %}
|
|
{% if su or "roles:read" in p %}<a href="/admin/roles">Roles</a>{% endif %}
|
|
{% if su or "audit_log:read" in p %}<a href="/admin/audit-log">Audit Log</a>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if can_parts %}
|
|
<div class="nav-group">
|
|
<span class="nav-label">Parts ▾</span>
|
|
<div class="nav-dropdown">
|
|
|
|
{% if can_connections %}
|
|
<div class="nav-group">
|
|
<span class="nav-label">Connections ▶</span>
|
|
<div class="nav-dropdown">
|
|
{% if su or "clamp_connections:read" in p %}<a href="/admin/clamp-connections">Clamp Connections</a>{% endif %}
|
|
{% if su or "iso_threads:read" in p %}<a href="/admin/iso-threads">ISO Threads</a>{% endif %}
|
|
{% if su or "static_connections:read" in p %}<a href="/admin/static-connections">Static Connections</a>{% endif %}
|
|
{% if su or "unc_threads:read" in p %}<a href="/admin/unc-threads">UNC Threads</a>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if can_labels %}
|
|
<div class="nav-group">
|
|
<span class="nav-label">Labels ▶</span>
|
|
<div class="nav-dropdown">
|
|
{% if su or "manufacturers:read" in p %}<a href="/admin/manufacturers">Manufacturers</a>{% endif %}
|
|
{% if su or "part_colours:read" in p %}<a href="/admin/part-colours">Part Colours</a>{% endif %}
|
|
{% if su or "part_types:read" in p %}<a href="/admin/part-types">Part Types</a>{% endif %}
|
|
{% if su or "scope_models:read" in p %}<a href="/admin/scope-models">Scope Models</a>{% endif %}
|
|
{% if su or "sub_part_types:read" in p %}<a href="/admin/sub-part-types">Sub Part Types</a>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if can_database %}
|
|
<div class="nav-group">
|
|
<span class="nav-label">Database ▶</span>
|
|
<div class="nav-dropdown">
|
|
{% if su or "imported_parts:read" in p %}<a href="/admin/imported-parts">Imported Parts</a>{% endif %}
|
|
{% if su or "augmented_parts:read" in p %}<a href="/admin/augmented-parts">Augmented Parts</a>{% endif %}
|
|
{% if su or "augmented_parts:write" in p %}<a href="/admin/augmented-parts/skipped">Skipped Parts</a>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<a href="/docs" target="_blank">API docs</a>
|
|
</nav>
|
|
<form method="post" action="/logout" class="logout">
|
|
<span class="muted">{{ user.email }}</span>
|
|
<button type="submit" class="btn btn-ghost">Sign out</button>
|
|
</form>
|
|
</header>
|