From a0140dc9a23d06939f8d79aa48ec56f61c61366c Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 24 Oct 2021 19:35:15 +1100 Subject: [PATCH 1/4] bug fix: enable "table reload" for tables without any filters - setupFilterList function was returning too early --- InvenTree/templates/js/translated/filters.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 53429effea..6b109e2d18 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -283,6 +283,11 @@ function setupFilterList(tableKey, table, target) { element.append(``); + // Callback for reloading the table + element.find(`#reload-${tableKey}`).click(function() { + $(table).bootstrapTable('refresh'); + }); + // If there are no filters defined for this table, exit now if (jQuery.isEmptyObject(getAvailableTableFilters(tableKey))) { return; @@ -303,11 +308,6 @@ function setupFilterList(tableKey, table, target) { element.append(`
${title} = ${value}x
`); } - // Callback for reloading the table - element.find(`#reload-${tableKey}`).click(function() { - $(table).bootstrapTable('refresh'); - }); - // Add a callback for adding a new filter element.find(`#${add}`).click(function clicked() { From 5f6e67086f0faf63b8b68cea72217e264997a068 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 24 Oct 2021 19:35:23 +1100 Subject: [PATCH 2/4] Add "reload" button for salesorderlineitem table --- .../order/templates/order/sales_order_detail.html | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index bd853702c4..cddba74cd6 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -19,9 +19,13 @@
{% if roles.sales_order.change %}
- +
+ +
+
+
{% endif %} From bc596c1f205d1edd637aa2bbf1ff8d44c5608a0c Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 24 Oct 2021 19:39:48 +1100 Subject: [PATCH 3/4] Improve rendering of pricing in sale order table --- InvenTree/templates/js/translated/order.js | 32 ++++++++++++++-------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 67fef0b853..cd6b63c56d 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -885,8 +885,7 @@ function loadPurchaseOrderLineItemTable(table, options={}) { { field: 'total_price', sortable: true, - field: 'total_price', - title: '{% trans "Total price" %}', + title: '{% trans "Total Price" %}', formatter: function(value, row) { var total = row.purchase_price * row.quantity; var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: row.purchase_price_currency}); @@ -1436,7 +1435,7 @@ function loadSalesOrderLineItemTable(table, options={}) { sortable: true, field: 'reference', title: '{% trans "Reference" %}', - switchable: false, + switchable: true, }, { sortable: true, @@ -1456,14 +1455,6 @@ function loadSalesOrderLineItemTable(table, options={}) { field: 'sale_price', title: '{% trans "Unit Price" %}', formatter: function(value, row) { - return row.sale_price_string || row.sale_price; - } - }, - { - sortable: true, - title: '{% trans "Total price" %}', - formatter: function(value, row) { - var total = row.sale_price * row.quantity; var formatter = new Intl.NumberFormat( 'en-US', { @@ -1472,7 +1463,23 @@ function loadSalesOrderLineItemTable(table, options={}) { } ); - return formatter.format(total); + return formatter.format(row.sale_price); + } + }, + { + field: 'total_price', + sortable: true, + title: '{% trans "Total Price" %}', + formatter: function(value, row) { + var formatter = new Intl.NumberFormat( + 'en-US', + { + style: 'currency', + currency: row.sale_price_currency + } + ); + + return formatter.format(row.sale_price * row.quantity); }, footerFormatter: function(data) { var total = data.map(function(row) { @@ -1544,6 +1551,7 @@ function loadSalesOrderLineItemTable(table, options={}) { if (pending) { columns.push({ field: 'buttons', + switchable: false, formatter: function(value, row, index, field) { var html = `
`; From 65b673b2bb159574e98b935a3f5ee9e109b7cc1d Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 24 Oct 2021 19:43:05 +1100 Subject: [PATCH 4/4] Improve pricing rendering for purchase order table --- InvenTree/templates/js/translated/order.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index cd6b63c56d..75f71e3c4c 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -864,6 +864,7 @@ function loadPurchaseOrderLineItemTable(table, options={}) { }, { sortable: true, + switchable: false, field: 'quantity', title: '{% trans "Quantity" %}', footerFormatter: function(data) { @@ -879,7 +880,14 @@ function loadPurchaseOrderLineItemTable(table, options={}) { field: 'purchase_price', title: '{% trans "Unit Price" %}', formatter: function(value, row) { - return row.purchase_price_string || row.purchase_price; + var formatter = new Intl.NumberFormat( + 'en-US', + { + style: 'currency', + currency: row.purchase_price_currency + } + ); + return formatter.format(row.purchase_price); } }, { @@ -887,9 +895,14 @@ function loadPurchaseOrderLineItemTable(table, options={}) { sortable: true, title: '{% trans "Total Price" %}', formatter: function(value, row) { - var total = row.purchase_price * row.quantity; - var formatter = new Intl.NumberFormat('en-US', {style: 'currency', currency: row.purchase_price_currency}); - return formatter.format(total); + var formatter = new Intl.NumberFormat( + 'en-US', + { + style: 'currency', + currency: row.purchase_price_currency + } + ); + return formatter.format(row.purchase_price * row.quantity); }, footerFormatter: function(data) { var total = data.map(function(row) {