diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js
index 935206ce2f..705060ce63 100644
--- a/InvenTree/templates/js/translated/build.js
+++ b/InvenTree/templates/js/translated/build.js
@@ -264,7 +264,7 @@ function makeBuildOutputButtons(output_id, build_info, options={}) {
var html = `
`;
// Tracked parts? Must be individually allocated
- if (build_info.tracked_parts) {
+ if (options.has_bom_items) {
// Add a button to allocate stock against this build output
html += makeIconButton(
@@ -1085,9 +1085,9 @@ function loadBuildOutputTable(build_info, options={}) {
sortable: true,
search: false,
sidePagination: 'client',
- detailView: true,
+ detailView: bom_items.length > 0,
detailFilter: function(index, row) {
- return true;
+ return bom_items.length > 0;
},
detailFormatter: function(index, row, element) {
constructBuildOutputSubTable(index, row, element);
@@ -1159,11 +1159,15 @@ function loadBuildOutputTable(build_info, options={}) {
{
field: 'allocated',
title: '{% trans "Allocated Stock" %}',
- visible: true,
+ visible: bom_items.length > 0,
switchable: false,
sortable: true,
formatter: function(value, row) {
+ if (bom_items.length == 0) {
+ return `
{% trans "No tracked BOM items for this build" %}
`;
+ }
+
var progressBar = makeProgressBar(
countAllocatedLines(row),
bom_items.length,
@@ -1188,7 +1192,7 @@ function loadBuildOutputTable(build_info, options={}) {
switchable: true,
formatter: function(value, row) {
if (part_tests == null || part_tests.length == 0) {
- return `
{% trans "No tests found " %}`;
+ return `
{% trans "No required tests for this build" %}`;
}
var n_passed = countPassedTests(row);
@@ -1218,6 +1222,9 @@ function loadBuildOutputTable(build_info, options={}) {
return makeBuildOutputButtons(
row.pk,
build_info,
+ {
+ has_bom_items: bom_items.length > 0,
+ }
);
}
}