From 5b949b6f60bb296884063cb48b84516e0882a1a7 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 27 Mar 2022 07:45:45 +1100 Subject: [PATCH] Fix sorting for location column in part table --- InvenTree/templates/js/translated/stock.js | 166 +-------------------- 1 file changed, 1 insertion(+), 165 deletions(-) diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index b7f4162621..ade8bc5a0a 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1770,6 +1770,7 @@ function loadStockTable(table, options) { col = { field: 'location_detail.pathstring', title: '{% trans "Location" %}', + sortName: 'location', formatter: function(value, row) { return locationDetail(row); } @@ -1912,172 +1913,8 @@ function loadStockTable(table, options) { original: original, showColumns: true, columns: columns, - {% if False %} - groupByField: options.groupByField || 'part', - groupBy: grouping, - groupByFormatter: function(field, id, data) { - - var row = data[0]; - - if (field == 'part_detail.full_name') { - - var html = imageHoverIcon(row.part_detail.thumbnail); - - html += row.part_detail.full_name; - html += ` (${data.length} {% trans "items" %})`; - - html += makePartIcons(row.part_detail); - - return html; - } else if (field == 'part_detail.IPN') { - var ipn = row.part_detail.IPN; - - if (ipn) { - return ipn; - } else { - return '-'; - } - } else if (field == 'part_detail.description') { - return row.part_detail.description; - } else if (field == 'packaging') { - var packaging = []; - - data.forEach(function(item) { - var pkg = item.packaging; - - if (!pkg) { - pkg = '-'; - } - - if (!packaging.includes(pkg)) { - packaging.push(pkg); - } - }); - - if (packaging.length > 1) { - return "..."; - } else if (packaging.length == 1) { - return packaging[0]; - } else { - return "-"; - } - } else if (field == 'quantity') { - var stock = 0; - var items = 0; - - data.forEach(function(item) { - stock += parseFloat(item.quantity); - items += 1; - }); - - stock = +stock.toFixed(5); - - return `${stock} (${items} {% trans "items" %})`; - } else if (field == 'status') { - var statii = []; - - data.forEach(function(item) { - var status = String(item.status); - - if (!status || status == '') { - status = '-'; - } - - if (!statii.includes(status)) { - statii.push(status); - } - }); - - // Multiple status codes - if (statii.length > 1) { - return "..."; - } else if (statii.length == 1) { - return stockStatusDisplay(statii[0]); - } else { - return "-"; - } - } else if (field == 'batch') { - var batches = []; - - data.forEach(function(item) { - var batch = item.batch; - - if (!batch || batch == '') { - batch = '-'; - } - - if (!batches.includes(batch)) { - batches.push(batch); - } - }); - - if (batches.length > 1) { - return "" + batches.length + " {% trans 'batches' %}"; - } else if (batches.length == 1) { - if (batches[0]) { - return batches[0]; - } else { - return '-'; - } - } else { - return '-'; - } - } else if (field == 'location_detail.pathstring') { - /* Determine how many locations */ - var locations = []; - - data.forEach(function(item) { - - var detail = locationDetail(item); - - if (!locations.includes(detail)) { - locations.push(detail); - } - }); - - if (locations.length == 1) { - // Single location, easy! - return locations[0]; - } else if (locations.length > 1) { - return "In " + locations.length + " {% trans 'locations' %}"; - } else { - return "{% trans 'Undefined location' %}"; - } - } else if (field == 'notes') { - var notes = []; - - data.forEach(function(item) { - var note = item.notes; - - if (!note || note == '') { - note = '-'; - } - - if (!notes.includes(note)) { - notes.push(note); - } - }); - - if (notes.length > 1) { - return '...'; - } else if (notes.length == 1) { - return notes[0] || '-'; - } else { - return '-'; - } - } else { - return ''; - } - }, - {% endif %} }); - /* - if (options.buttons) { - linkButtonsToSelection(table, options.buttons); - } - */ - var buttons = [ '#stock-print-options', '#stock-options', @@ -2092,7 +1929,6 @@ function loadStockTable(table, options) { buttons, ); - function stockAdjustment(action) { var items = $(table).bootstrapTable('getSelections');