From 4ed62d55979ec1eee908c0b563d0d4a08068c941 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 16 Dec 2022 14:43:20 +1100 Subject: [PATCH] Load stocktake table for part --- InvenTree/part/templates/part/detail.html | 7 ++- .../part/templates/part/part_stocktake.html | 2 +- InvenTree/templates/js/translated/part.js | 51 ++++++++++++++++++- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 9575dbe3fd..b35aa9157a 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -61,7 +61,7 @@

{% trans "Part Stocktake" %}

{% include "spacer.html" %}
- buttons +
@@ -460,6 +460,11 @@ }); }); + // Load the "stocktake" tab + onPanelLoad('stocktake', function() { + loadPartStocktakeTable({{ part.pk }}); + }); + // Load the "suppliers" tab onPanelLoad('suppliers', function() { diff --git a/InvenTree/part/templates/part/part_stocktake.html b/InvenTree/part/templates/part/part_stocktake.html index bf54083d99..3ff4b6bcb8 100644 --- a/InvenTree/part/templates/part/part_stocktake.html +++ b/InvenTree/part/templates/part/part_stocktake.html @@ -1,4 +1,4 @@ {% load i18n %} {% load inventree_extras %} -part scheduling information to appear here +
diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 90a075aca6..ff28948837 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -33,6 +33,7 @@ loadPartTable, loadPartTestTemplateTable, loadPartSchedulingChart, + loadPartStocktakeTable, loadPartVariantTable, loadRelatedPartsTable, loadSimplePartTable, @@ -682,9 +683,55 @@ function makePartIcons(part) { } +/* + * Load table for part stocktake information + */ +function loadPartStocktakeTable(partId, options={}) { + + var table = options.table || '#part-stocktake-table'; + + var params = options.params || {}; + + params.part = partId; + + var filters = loadTableFilters('stocktake'); + + for (var key in params) { + filters[key] = params[key]; + } + + setupFilterList('stocktake', $(table), '#filter-list-stocktake'); + + $(table).inventreeTable({ + url: '{% url "api-part-stocktake-list" %}', + queryParams: filters, + name: 'partstocktake', + original: options.params, + showColumns: true, + formatNoMatches: function() { + return '{% trans "No stocktake information available" %}'; + }, + columns: [ + { + field: 'date', + title: '{% trans "Date" %}', + }, + { + field: 'quantity', + title: '{% trans "Quantity" %}', + }, + { + field: 'user', + title: '{% trans "User" %}', + } + ] + }); +} + + +/* Load part variant table + */ function loadPartVariantTable(table, partId, options={}) { - /* Load part variant table - */ var params = options.params || {};