diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 18267f33c4..9a388c5b2c 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -15,6 +15,8 @@ from django.views import View from django.views.generic import UpdateView, CreateView, DeleteView from django.views.generic.base import TemplateView +from part.models import Part + from rest_framework import views @@ -287,6 +289,21 @@ class IndexView(TemplateView): template_name = 'InvenTree/index.html' + def get_context_data(self, **kwargs): + + context = super(TemplateView, self).get_context_data(**kwargs) + + # Generate a list of orderable parts which have stock below their minimum values + context['to_order'] = [part for part in Part.objects.filter(purchaseable=True) if part.need_to_restock()] + + # Generate a list of buildable parts which have stock below their minimum values + context['to_build'] = [part for part in Part.objects.filter(buildable=True) if part.need_to_restock()] + + print("order:", len(context['to_order'])) + print("build:", len(context['to_build'])) + + return context + class SearchView(TemplateView): """ View for InvenTree search page. diff --git a/InvenTree/build/templates/build/allocate.html b/InvenTree/build/templates/build/allocate.html index 1a8c018e01..0a3867af8e 100644 --- a/InvenTree/build/templates/build/allocate.html +++ b/InvenTree/build/templates/build/allocate.html @@ -14,9 +14,6 @@ {% include "build/allocation_item.html" with item=bom_item build=build collapse_id=bom_item.id %} {% endfor %} -
Index!
+{% if to_order %} +{% include "InvenTree/parts_to_order.html" with collapse_id="order" %} +{% endif %} + +{% if to_build %} +{% include "InvenTree/parts_to_build.html" with collapse_id="build" %} +{% endif %} {% endblock %} {% block js_load %} +{{ block.super }} +{% endblock %} + +{% block js_ready %} +{{ block.super }} {% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/InvenTree/parts_to_build.html b/InvenTree/templates/InvenTree/parts_to_build.html new file mode 100644 index 0000000000..e9c1dcdee1 --- /dev/null +++ b/InvenTree/templates/InvenTree/parts_to_build.html @@ -0,0 +1,14 @@ +{% extends "collapse.html" %} +{% block collapse_title %} +Parts to Build{{ to_build | length }} +{% endblock %} + +{% block collapse_heading %} +There are {{ to_build | length }} parts which need building. +{% endblock %} + +{% block collapse_content %} + +{% include "required_part_table.html" with parts=to_build table_id="to-build-table" %} + +{% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/InvenTree/parts_to_order.html b/InvenTree/templates/InvenTree/parts_to_order.html new file mode 100644 index 0000000000..b68eda7e14 --- /dev/null +++ b/InvenTree/templates/InvenTree/parts_to_order.html @@ -0,0 +1,14 @@ +{% extends "collapse.html" %} +{% block collapse_title %} +Parts to Order{{ to_order | length }} +{% endblock %} + +{% block collapse_heading %} +There are {{ to_order | length }} parts which need to be ordered. +{% endblock %} + +{% block collapse_content %} + +{% include "required_part_table.html" with parts=to_order table_id="to-order-table" %} + +{% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/collapse.html b/InvenTree/templates/collapse.html index e1ad9b7917..776c9cee35 100644 --- a/InvenTree/templates/collapse.html +++ b/InvenTree/templates/collapse.html @@ -1,3 +1,5 @@ +{% block collapse_preamble %} +{% endblock %}Part | +Description | +In Stock | +Allocated | +Net Stock | +
---|---|---|---|---|
{{ part.name }} | +{{ part.description }} | +{{ part.total_stock }} | +{{ part.allocation_count }} | +{{ part.available_stock }} | +