Update "part" display to use new menubar

This commit is contained in:
Oliver Walters 2021-02-24 17:58:43 +11:00
parent 2a7b32d4f4
commit bedfaa582c
20 changed files with 205 additions and 217 deletions

View File

@ -699,6 +699,11 @@ input[type="submit"] {
overflow-x: hidden;
}
.sidenav .list-group-item.active {
background-color: #ddd;
border-color: #ccc;
}
/* The side navigation menu */
.sidenav-left {
left: 0px;

View File

@ -3,12 +3,15 @@
{% load i18n %}
{% load inventree_extras %}
{% block menubar %}
{% include "part/navbar.html" with tab="allocation" %}
{% endblock %}
{% block heading %}
{% trans "Part Stock Allocations" %}
{% endblock %}
{% block details %}
{% include "part/tabs.html" with tab="allocation" %}
<h4>{% trans "Part Stock Allocations" %}</h4>
<table class='table table-striped table-condensed' id='build-table'>
<tr>
<th>{% trans "Order" %}</th>
@ -34,6 +37,7 @@
{% endblock %}
{% block js_ready %}
{{ block.super }}
$("#build-table").inventreeTable({
columns: [

View File

@ -1,14 +1,17 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='attachments' %}
{% endblock %}
{% block heading %}
{% trans "Part Attachments" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='attachments' %}
<h4>{% trans "Part Attachments" %}</h4>
<hr>
{% include "attachment_table.html" with attachments=part.part_attachments %}
{% endblock %}

View File

@ -2,17 +2,15 @@
{% load static %}
{% load i18n %}
{% block css %}
{% block menubar %}
{% include 'part/navbar.html' with tab='bom' %}
{% endblock %}
{% block heading %}
{% trans "Bill of Materials" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='bom' %}
<h4>{% trans "Bill of Materials" %}</h4>
<hr>
{% if part.bom_checked_date %}
{% if part.is_bom_valid %}
<div class='alert alert-block alert-info'>

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='build' %}
{% endblock %}
{% block heading %}
{% trans "Part Builds" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='build' %}
<h4>{% trans "Part Builds" %}</h4>
<hr>
<div id='button-toolbar'>
<div class='button-toolbar container-fluid' style='float: right';>
{% if part.active %}

View File

@ -2,13 +2,16 @@
{% load static %}
{% load i18n %}
{% block details %}
{% include 'part/tabs.html' with tab='detail' %}
{% block menubar %}
{% include 'part/navbar.html' with tab='details' %}
{% endblock %}
<h4>{% trans "Part Details" %}</h4>
{% block heading %}
{% trans "Part Details" %}
{% endblock %}
<hr>
{% block details %}
<div class='row'>
<div class='col-sm-6'>

View File

@ -5,106 +5,121 @@
<ul class='list-group'>
<li class='list-group-item'>
<a href='#' id='part-menu-toggle'>
<span class='fas fa-expand-arrows-alt'></span>
<span class='menu-tab-icon fas fa-expand-arrows-alt'></span>
<b>{% trans "Part" %}</b>
</a>
</li>
<li class='list-group-item {% if tab == "details" %}active{% endif %}' title='{% trans "Part Details" %}'>
<a href='{% url "part-detail" part.id %}'>
<span class='fas fa-info-circle'></span> {% trans "Details" %}
<span class='menu-tab-icon fas fa-info-circle'></span>
<span class='tab-text'>
{% trans "Details" %}
</span>
</a>
</li>
<li class='list-group-item'>
<li class='list-group-item {% if tab == "params" %}active{% endif %}' title='{% trans "Part Parameters" %}'>
<a href='{% url "part-params" part.id %}'>
<span class='fas fa-tasks'></span>
<span class='menu-tab-icon fas fa-tasks'></span>
{% trans "Parameters" %}
</a>
</li>
<li class='list-group-item'>
{% if part.is_template %}
<li class='list-group-item {% if tab == "variants" %}active{% endif %}' title='{% trans "Part Variants" %}'>
<a href='{% url "part-variants" part.id %}'>
<span class='fas fa-shapes'></span>
<span class='menu-tab-icon fas fa-shapes'></span>
{% trans "Variants" %}
</a>
</li>
<li class='list-group-item'>
{% endif %}
<li class='list-group-item {% if tab == "stock" %}active{% endif %}' title='{% trans "Stock Items" %}'>
<a href='{% url "part-stock" part.id %}'>
<span class='fas fa-boxes'></span>
<span class='menu-tab-icon fas fa-boxes'></span>
{% trans "Stock" %}
</a>
</li>
<li class='list-group-item'>
{% if part.component or part.salable %}
<li class='list-group-item {% if tab == "allocation" %}active{% endif %}' title='{% trans "Allocated Stock" %}'>
<a href='{% url "part-allocation" part.id %}'>
<span class='fas fa-sign-out-alt'></span>
<span class='menu-tab-icon fas fa-sign-out-alt'></span>
{% trans "Allocations" %}
</a>
</li>
<li class='list-group-item'>
{% endif %}
{% if part.assembly %}
<li class='list-group-item {% if tab == "bom" %}active{% endif %}' title='{% trans "Bill of Materials" %}'>
<a href='{% url "part-bom" part.id %}'>
<span class='fas fa-list'></span>
<span class='menu-tab-icon fas fa-list'></span>
{% trans "Bill of Materials" %}
</a>
</li>
<li class='list-group-item'>
{% if roles.build.view %}
<li class='list-group-item {% if tab == "build" %}active{% endif %}' title='{% trans "Build Orders" %}'>
<a href='{% url "part-build" part.id %}'>
<span class='fas fa-tools'></span>
<span class='menu-tab-icon fas fa-tools'></span>
{% trans "Build Orders" %}
</a>
</li>
<li class='list-group-item'>
{% endif %}
{% endif %}
{% if part.component %}
<li class='list-group-item {% if tab == "used" %}active{% endif %}' title='{% trans "Used In" %}'>
<a href='{% url "part-used-in" part.id %}'>
<span class='fas fa-layer-group'></span>
<span class='menu-tab-icon fas fa-layer-group'></span>
{% trans "Used In" %}
</a>
</li>
{% if roles.purchase_order.view %}
<li class='list-group-item'>
{% endif %}
{% if part.purchaseable and roles.purchase_order.view %}
<li class='list-group-item {% if tab == "suppliers" %}active{% endif %}' title='{% trans "Suppliers" %}'>
<a href='{% url "part-suppliers" part.id %}'>
<span class='fas fa-building'></span>
<span class='menu-tab-icon fas fa-building'></span>
{% trans "Suppliers" %}
</a>
</li>
<li class='list-group-item'>
<li class='list-group-item {% if tab == "orders" %}active{% endif %}' title='{% trans "Purchase Orders" %}'>
<a href='{% url "part-orders" part.id %}'>
<span class='fas fa-shopping-cart'></span>
<span class='menu-tab-icon fas fa-shopping-cart'></span>
{% trans "Purchase Orders" %}
</a>
</li>
{% endif %}
{% if roles.sales_order.view %}
<li class='list-group-item'>
{% if part.salable and roles.sales_order.view %}
<li class='list-group-item {% if tab == "sales-prices" %}active{% endif %}' title='{% trans "Sales Price Information" %}'>
<a href='{% url "part-sale-prices" part.id %}'>
<span class='fas fa-dollar-sign'></span>
<span class='menu-tab-icon fas fa-dollar-sign'></span>
{% trans "Sale Price" %}
</a>
</li>
<li class='list-group-item'>
<li class='list-group-item {% if tab == "sales-orders" %}active{% endif %}' title='{% trans "Sales Orders" %}'>
<a href='{% url "part-sales-orders" part.id %}'>
<span class='fas fa-truck'></span>
<span class='menu-tab-icon fas fa-truck'></span>
{% trans "Sales Orders" %}
</a>
</li>
{% endif %}
<li class='list-group-item' title='{% trans "Part Test Templates" %}'>
{% if part.trackable %}
<li class='list-group-item {% if tab == "tests" %}active{% endif %}' title='{% trans "Part Test Templates" %}'>
<a href='{% url "part-test-templates" part.id %}'>
<span class='fas fa-vial'></span>
<span class='menu-tab-icon fas fa-vial'></span>
{% trans "Tests" %}
</a>
</li>
<li class='list-group-item'>
{% endif %}
<li class='list-group-item {% if tab == "related" %}active{% endif %}' title='{% trans "Related Parts" %}'>
<a href='{% url "part-related" part.id %}'>
<span class='fas fa-random'></span>
<span class='menu-tab-icon fas fa-random'></span>
{% trans "Related Parts" %}
</a>
</li>
<li class='list-group-item'>
<li class='list-group-item {% if tab == "attachments" %}active{% endif %}' title='{% trans "Attachments" %}'>
<a href='{% url "part-attachments" part.id %}'>
<span class='fas fa-paperclip'></span>
{% trans "Attacments" %}
<span class='menu-tab-icon fas fa-paperclip'></span>
{% trans "Attachments" %}
</a>
</li>
<li class='list-group-item'>
<li class='list-group-item {% if tab == "notes" %}active{% endif %}' title='{% trans "Part Notes" %}'>
<a href='{% url "part-notes" part.id %}'>
<span class='fas fa-clipboard'></span>
<span class='menu-tab-icon fas fa-clipboard'></span>
{% trans "Notes" %}
</a>
</li>

View File

@ -4,14 +4,19 @@
{% load i18n %}
{% load markdownify %}
{% block menubar %}
{% include 'part/navbar.html' with tab='notes' %}
{% endblock %}
{% block heading %}
{% trans "Part Notes" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='notes' %}
{% if editing %}
<h4>{% trans "Part Notes" %}</h4>
<hr>
<form method='POST'>
{% csrf_token %}
@ -24,17 +29,10 @@
{{ form.media }}
{% else %}
<div class='row'>
<div class='col-sm-6'>
<h4>{% trans "Part Notes" %}</h4>
</div>
<div class='col-sm-6'>
{% if roles.part.change %}
<button title='{% trans "Edit notes" %}' class='btn btn-default action-button float-right' id='edit-notes'><span class='fas fa-edit'></span></button>
{% endif %}
</div>
</div>
<hr>
{% if roles.part.change %}
<button title='{% trans "Edit notes" %}' class='btn btn-default action-button' id='edit-notes'><span class='fas fa-edit'></span></button>
{% endif %}
<div class='panel panel-default'>
<div class='panel-content'>
{% if part.notes %}

View File

@ -2,13 +2,16 @@
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='orders' %}
{% endblock %}
{% block heading %}
{% trans "Purchase Orders" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='orders' %}
<h4>{% trans "Purchase Orders" %}</h4>
<hr>
<div id='button-bar'>
<div class='button-toolbar container-fluid' style='float: right;'>
<button class='btn btn-primary' type='button' id='part-order2' title='{% trans "Order part" %}'>

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include "part/navbar.html" with tab='params' %}
{% endblock %}
{% block heading %}
{% trans "Part Parameters" %}
{% endblock %}
{% block details %}
{% include "part/tabs.html" with tab='params' %}
<h4>{% trans "Part Parameters" %}</h4>
<hr>
<div id='button-toolbar'>
<div class='button-toolbar container-fluid' style='float: right;'>
{% if roles.part.add %}

View File

@ -188,13 +188,21 @@
</div>
<div class='container-fluid'>
<div class='panel panel-default panel-inventree'>
{% block details %}
<!-- Specific part details go here... -->
{% endblock %}
<div class='panel-heading'>
<h4>
{% block heading %}
<!-- Heading goes here -->
{% endblock %}
</h4>
</div>
<div class='panel-content'>
{% block details %}
<!-- Specific part details go here... -->
{% endblock %}
</div>
</div>
{% endblock %}

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='tests' %}
{% endblock %}
{% block heading %}
{% trans "Part Test Templates" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='tests' %}
<h4>{% trans "Part Test Templates" %}</h4>
<hr>
<div id='button-toolbar'>
<div class='button-toolbar container-fluid' style="float: right;">
<div class='btn-group' role='group'>

View File

@ -2,13 +2,16 @@
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='related' %}
{% endblock %}
{% block heading %}
{% trans "Related Parts" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='related-parts' %}
<h4>{% trans "Related Parts" %}</h4>
<hr>
<div id='button-bar'>
<div class='button-toolbar container-fluid' style='float: left;'>
{% if roles.part.change %}

View File

@ -2,13 +2,16 @@
{% load static %}
{% load i18n %}
{% block menubar %}}
{% include 'part/navbar.html' with tab='sales-prices' %}
{% endblock %}
{% block heading %}
{% trans "Sell Price Information" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='sales-prices' %}
<h4>{% trans "Sale Price" %}</h4>
<hr>
<div id='price-break-toolbar' class='btn-group'>
<button class='btn btn-primary' id='new-price-break' type='button'>
<span class='fas fa-plus-circle'></span> {% trans "Add Price Break" %}

View File

@ -2,13 +2,16 @@
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='sales-orders' %}
{% endblock %}
{% block heading %}
{% trans "Sales Orders" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='sales-orders' %}
<h4>{% trans "Sales Orders" %}</h4>
<hr>
<div id='button-bar'>
<div class='button-toolbar container-fluid' style='float: right;'>
{% if 0 %}

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='stock' %}
{% endblock %}
{% block heading %}
{% trans "Part Stock" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='stock' %}
<h4>{% trans "Part Stock" %}</h4>
<hr>
{% if part.is_template %}
<div class='alert alert-info alert-block'>
Showing stock for all variants of <i>{{ part.full_name }}</i>

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load static %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='suppliers' %}
{% endblock %}
{% block heading %}
{% trans "Part Suppliers" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='suppliers' %}
<h4>{% trans "Part Suppliers" %}</h4>
<hr>
<div id='button-toolbar'>
<div class='btn-group'>
<button class="btn btn-success" id='supplier-create'>

View File

@ -1,73 +0,0 @@
{% load i18n %}
{% load inventree_extras %}
<ul class="nav nav-tabs">
<li{% ifequal tab 'detail' %} class="active"{% endifequal %}>
<a href="{% url 'part-detail' part.id %}">{% trans "Details" %}</a>
</li>
<li{% ifequal tab 'params' %} class='active'{% endifequal %}>
<a href="{% url 'part-params' part.id %}">{% trans "Parameters" %}<span class='badge'>{{ part.parameters.count }}</span></a>
</li>
{% if part.is_template %}
<li{% ifequal tab 'variants' %} class='active'{% endifequal %}>
<a href="{% url 'part-variants' part.id %}">{% trans "Variants" %} <span class='badge'>{{ part.variants.count }}</span></span></a>
</li>
{% endif %}
<li{% ifequal tab 'stock' %} class="active"{% endifequal %}>
<a href="{% url 'part-stock' part.id %}">{% trans "Stock" %} <span class="badge">{% decimal total_stock %}</span></a>
</li>
{% if part.component or part.salable or part.used_in_count > 0 %}
<li{% ifequal tab 'allocation' %} class="active"{% endifequal %}>
<a href="{% url 'part-allocation' part.id %}">{% trans "Allocated" %} <span class="badge">{% decimal allocated %}</span></a>
</li>
{% endif %}
{% if part.assembly %}
<li{% ifequal tab 'bom' %} class="active"{% endifequal %}>
<a href="{% url 'part-bom' part.id %}">{% trans "BOM" %}<span class="badge{% if part.is_bom_valid == False %} badge-alert{% endif %}">{{ part.bom_count }}</span></a></li>
{% if roles.build.view %}
<li{% ifequal tab 'build' %} class="active"{% endifequal %}>
<a href="{% url 'part-build' part.id %}">{% trans "Build Orders" %}<span class='badge'>{{ part.builds.count }}</span></a>
</li>
{% endif %}
{% endif %}
{% if part.component or part.used_in_count > 0 %}
<li{% ifequal tab 'used' %} class="active"{% endifequal %}>
<a href="{% url 'part-used-in' part.id %}">{% trans "Used In" %} {% if part.used_in_count > 0 %}<span class="badge">{{ part.used_in_count }}</span>{% endif %}</a></li>
{% endif %}
{% if part.purchaseable and roles.purchase_order.view %}
{% if part.is_template == False %}
<li{% ifequal tab 'suppliers' %} class="active"{% endifequal %}>
<a href="{% url 'part-suppliers' part.id %}">{% trans "Suppliers" %}
<span class="badge">{{ part.supplier_count }}</span>
</a>
</li>
{% endif %}
<li{% ifequal tab 'orders' %} class='active'{% endifequal %}>
<a href="{% url 'part-orders' part.id %}">{% trans "Purchase Orders" %} <span class='badge'>{{ part.purchase_orders|length }}</span></a>
</li>
{% endif %}
{% if part.salable and roles.sales_order.view %}
<li {% if tab == 'sales-prices' %}class='active'{% endif %}>
<a href="{% url 'part-sale-prices' part.id %}">{% trans "Sale Price" %}</a>
</li>
<li{% ifequal tab 'sales-orders' %} class='active'{% endifequal %}>
<a href="{% url 'part-sales-orders' part.id %}">{% trans "Sales Orders" %} <span class='badge'>{{ part.sales_orders|length }}</span></a>
</li>
{% endif %}
{% if part.trackable %}
<li{% ifequal tab 'tests' %} class='active'{% endifequal %}>
<a href='{% url "part-test-templates" part.id %}'>{% trans "Tests" %}
{% if part.getTestTemplates.count > 0 %}<span class='badge'>{{ part.getTestTemplates.count }}</span>{% endif %}
</a>
</li>
{% endif %}
<li{% ifequal tab 'related-parts' %} class="active"{% endifequal %}>
<a href="{% url 'part-related' part.id %}">{% trans "Related" %} {% if part.related_count > 0 %}<span class="badge">{{ part.related_count }}</span>{% endif %}</a>
</li>
<li{% ifequal tab 'attachments' %} class="active"{% endifequal %}>
<a href="{% url 'part-attachments' part.id %}">{% trans "Attachments" %} {% if part.attachment_count > 0 %}<span class="badge">{{ part.attachment_count }}</span>{% endif %}</a>
</li>
<li{% ifequal tab 'notes' %} class="active"{% endifequal %}>
<a href="{% url 'part-notes' part.id %}">{% trans "Notes" %}{% if part.notes %} <span class='fas fa-info-circle'></span>{% endif %}</a>
</li>
</ul>

View File

@ -1,13 +1,16 @@
{% extends "part/part_base.html" %}
{% load i18n %}
{% block menubar %}
{% include 'part/navbar.html' with tab='used' %}
{% endblock %}
{% block heading %}
{% trans "Assemblies" %}
{% endblock %}
{% block details %}
{% include 'part/tabs.html' with tab='used' %}
<h4>{% trans "Assemblies" %}</h4>
<hr>
<div id='button-toolbar'>
<div class='filter-list' id='filter-list-usedin'>
<!-- Empty div (will be filled out with avilable BOM filters) -->

View File

@ -3,18 +3,15 @@
{% load i18n %}
{% load inventree_extras %}
{% block menubar %}
{% include "part/navbar.html" with tab='variants' %}
{% endblock %}
{% block heading %}
{% trans "Part Variants" %}
{% endblock %}
{% block details %}
{% include "part/tabs.html" with tab='variants' %}
<div class='row'>
<div class='col-sm-6'>
<h4>{% trans "Part Variants" %}</h4>
</div>
<div class='col-sm-6'>
</div>
</div>
<hr>
<div id='button-toolbar'>
<div class='button-toolbar container-fluid'>
<div class='btn-group' role='group'>