mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add detail pane to top-level part view
This commit is contained in:
parent
3e2a5263a5
commit
427f47310b
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-09-26 23:58+0000\n"
|
||||
"POT-Creation-Date: 2019-09-27 00:03+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -222,7 +222,7 @@ msgstr ""
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1030
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1032
|
||||
#: stock/models.py:437
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
@ -345,32 +345,76 @@ msgstr ""
|
||||
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:194
|
||||
#: part/templates/part/category.html:13 part/templates/part/category.html:69
|
||||
msgid "Part Categories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:14
|
||||
msgid "All parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:34
|
||||
msgid "Category Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:37
|
||||
msgid "Category Path"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:41
|
||||
msgid "Category Description"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:46
|
||||
msgid "Default Location"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:52
|
||||
msgid "Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:57
|
||||
msgid "Subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:61
|
||||
msgid "Parts (Including subcategories)"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:66
|
||||
msgid "Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:73
|
||||
msgid "Parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:196
|
||||
#, python-brace-format
|
||||
msgid "Set category for {n} parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:771
|
||||
#: part/views.py:773
|
||||
msgid "No BOM file provided"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1032
|
||||
#: part/views.py:1034
|
||||
msgid "Enter a valid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1056 part/views.py:1059
|
||||
#: part/views.py:1058 part/views.py:1061
|
||||
msgid "Select valid part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1065
|
||||
#: part/views.py:1067
|
||||
msgid "Duplicate part selected"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1093
|
||||
#: part/views.py:1095
|
||||
msgid "Select a part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1097
|
||||
#: part/views.py:1099
|
||||
msgid "Specify quantity"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-09-26 23:58+0000\n"
|
||||
"POT-Creation-Date: 2019-09-27 00:03+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -222,7 +222,7 @@ msgstr ""
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1030
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1032
|
||||
#: stock/models.py:437
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
@ -345,32 +345,76 @@ msgstr ""
|
||||
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:194
|
||||
#: part/templates/part/category.html:13 part/templates/part/category.html:69
|
||||
msgid "Part Categories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:14
|
||||
msgid "All parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:34
|
||||
msgid "Category Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:37
|
||||
msgid "Category Path"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:41
|
||||
msgid "Category Description"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:46
|
||||
msgid "Default Location"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:52
|
||||
msgid "Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:57
|
||||
msgid "Subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:61
|
||||
msgid "Parts (Including subcategories)"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:66
|
||||
msgid "Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:73
|
||||
msgid "Parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:196
|
||||
#, python-brace-format
|
||||
msgid "Set category for {n} parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:771
|
||||
#: part/views.py:773
|
||||
msgid "No BOM file provided"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1032
|
||||
#: part/views.py:1034
|
||||
msgid "Enter a valid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1056 part/views.py:1059
|
||||
#: part/views.py:1058 part/views.py:1061
|
||||
msgid "Select valid part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1065
|
||||
#: part/views.py:1067
|
||||
msgid "Duplicate part selected"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1093
|
||||
#: part/views.py:1095
|
||||
msgid "Select a part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1097
|
||||
#: part/views.py:1099
|
||||
msgid "Specify quantity"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-09-26 23:58+0000\n"
|
||||
"POT-Creation-Date: 2019-09-27 00:03+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -222,7 +222,7 @@ msgstr ""
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1030
|
||||
#: order/models.py:156 order/models.py:201 part/views.py:1032
|
||||
#: stock/models.py:437
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
@ -345,32 +345,76 @@ msgstr ""
|
||||
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:194
|
||||
#: part/templates/part/category.html:13 part/templates/part/category.html:69
|
||||
msgid "Part Categories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:14
|
||||
msgid "All parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:34
|
||||
msgid "Category Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:37
|
||||
msgid "Category Path"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:41
|
||||
msgid "Category Description"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:46
|
||||
msgid "Default Location"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:52
|
||||
msgid "Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:57
|
||||
msgid "Subcategories"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:61
|
||||
msgid "Parts (Including subcategories)"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:66
|
||||
msgid "Part Details"
|
||||
msgstr ""
|
||||
|
||||
#: part/templates/part/category.html:73
|
||||
msgid "Parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:196
|
||||
#, python-brace-format
|
||||
msgid "Set category for {n} parts"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:771
|
||||
#: part/views.py:773
|
||||
msgid "No BOM file provided"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1032
|
||||
#: part/views.py:1034
|
||||
msgid "Enter a valid quantity"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1056 part/views.py:1059
|
||||
#: part/views.py:1058 part/views.py:1061
|
||||
msgid "Select valid part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1065
|
||||
#: part/views.py:1067
|
||||
msgid "Duplicate part selected"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1093
|
||||
#: part/views.py:1095
|
||||
msgid "Select a part"
|
||||
msgstr ""
|
||||
|
||||
#: part/views.py:1097
|
||||
#: part/views.py:1099
|
||||
msgid "Specify quantity"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
{% extends "part/part_app_base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
@ -9,8 +10,8 @@
|
||||
<h3>{{ category.name }}</h3>
|
||||
<p>{{ category.description }}</p>
|
||||
{% else %}
|
||||
<h3>Part Categories</h3>
|
||||
<p>All parts</p>
|
||||
<h3>{% trans "Part Categories" %}</h3>
|
||||
<p>{% trans "All parts" %}</p>
|
||||
{% endif %}
|
||||
<p>
|
||||
<div class='btn-group'>
|
||||
@ -30,37 +31,49 @@
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
{% if category %}
|
||||
<h3>Category Details</h3>
|
||||
<h3>{% trans "Category Details" %}</h3>
|
||||
<table class='table table-condensed table-striped'>
|
||||
<tr>
|
||||
<td>Category Path</td>
|
||||
<td>{% trans "Category Path" %}</td>
|
||||
<td>{{ category.pathstring }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Category Description</td>
|
||||
<td>{% trans "Category Description" %}</td>
|
||||
<td>{{ category.description }}</td>
|
||||
</tr>
|
||||
{% if category.default_location %}
|
||||
<tr>
|
||||
<td>Default Location</td>
|
||||
<td>{% trans "Default Location" %}</td>
|
||||
<td><a href="{% url 'stock-location-detail' category.default_location.pk %}">{{ category.default_location.pathstring }}</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if category.default_keywords %}
|
||||
<tr>
|
||||
<td>Keywords</td>
|
||||
<td>{% trans "Keywords" %}</td>
|
||||
<td>{{ category.default_keywords }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td>Subcategories</td>
|
||||
<td>{% trans "Subcategories" %}</td>
|
||||
<td>{{ category.children.count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Parts (Including subcategories)</td>
|
||||
<td>{% trans "Parts (Including subcategories)" %}</td>
|
||||
<td>{{ category.partcount }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% else %}
|
||||
<h3>{% trans "Part Details" %}</h3>
|
||||
<table class='table table-striped table-condensed'>
|
||||
<tr>
|
||||
<td>{% trans "Part Categories" %}</td>
|
||||
<td>{{ category_count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans "Parts" %}</td>
|
||||
<td>{{ part_count }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -56,6 +56,8 @@ class PartIndex(ListView):
|
||||
children = PartCategory.objects.filter(parent=None)
|
||||
|
||||
context['children'] = children
|
||||
context['category_count'] = PartCategory.objects.count()
|
||||
context['part_count'] = Part.objects.count()
|
||||
|
||||
return context
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user