From 64c1503fe4a75761c1cc41fce94d409c411f451a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 17 May 2021 20:15:53 +1000 Subject: [PATCH] Disable "purchase price" field for non-purchaseable parts --- InvenTree/templates/js/modals.js | 9 +++++++++ InvenTree/templates/js/stock.js | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/InvenTree/templates/js/modals.js b/InvenTree/templates/js/modals.js index b621caab80..f447fdce72 100644 --- a/InvenTree/templates/js/modals.js +++ b/InvenTree/templates/js/modals.js @@ -89,6 +89,15 @@ function setFieldOptions(fieldName, optionList, options={}) { } +function clearFieldOptions(fieldName) { + /** + * Clear (emtpy) the options list for a particular field + */ + + setFieldOptions(fieldName, []); +} + + function reloadFieldOptions(fieldName, options) { /* Reload the options for a given field, * using an AJAX request. diff --git a/InvenTree/templates/js/stock.js b/InvenTree/templates/js/stock.js index a0601aeb13..8f06d403ee 100644 --- a/InvenTree/templates/js/stock.js +++ b/InvenTree/templates/js/stock.js @@ -1218,6 +1218,17 @@ function createNewStockItem(options) { field: 'part', action: function(value) { + if (!value) { + // No part chosen + + clearFieldOptions('supplier_part'); + enableField('serial_numbers', false); + enableField('purchase_price_0', false); + enableField('purchase_price_1', false); + + return; + } + // Reload options for supplier part reloadFieldOptions( 'supplier_part', @@ -1243,6 +1254,9 @@ function createNewStockItem(options) { enableField('serial_numbers', response.trackable); clearField('serial_numbers'); + enableField('purchase_price_0', response.purchaseable); + enableField('purchase_price_1', response.purchaseable); + // Populate the expiry date if (response.default_expiry <= 0) { // No expiry date