From ad6e34953b16d8c7983b2011f7477d2bcfcb787f Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 27 Nov 2021 00:17:31 +1100 Subject: [PATCH] Update placeholders for serial numbers when creating a new stock item --- InvenTree/templates/js/translated/forms.js | 6 ++++++ InvenTree/templates/js/translated/stock.js | 18 +++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index fd1668cc77..5af85d382e 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -28,6 +28,7 @@ disableFormInput, enableFormInput, hideFormInput, + setFormInputPlaceholder, setFormGroupVisibility, showFormInput, */ @@ -1276,6 +1277,11 @@ function initializeGroups(fields, options) { } } +// Set the placeholder value for a field +function setFormInputPlaceholder(name, placeholder, options) { + $(options.modal).find(`#id_${name}`).attr('placeholder', placeholder); +} + // Clear a form input function clearFormInput(name, options) { updateFieldValue(name, null, {}, options); diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index e5a59d7767..5e92299f03 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -158,10 +158,26 @@ function stockItemFields(options={}) { // If a "trackable" part is selected, enable serial number field if (data.trackable) { enableFormInput('serial_numbers', opts); - // showFormInput('serial_numbers', opts); + + // Request part serial number information from the server + inventreeGet(`/api/part/${data.pk}/serial-numbers/`, {}, { + success: function(data) { + var placeholder = ''; + if (data.next) { + placeholder = `{% trans "Next available serial number" %}: ${data.next}`; + } else if (data.latest) { + placeholder = `{% trans "Latest serial number" %}: ${data.latest}`; + } + + setFormInputPlaceholder('serial_numbers', placeholder, opts); + } + }); + } else { clearFormInput('serial_numbers', opts); disableFormInput('serial_numbers', opts); + + setFormInputPlaceholder('serial_numbers', '{% trans "This part cannot be serialized" %}', opts); } // Enable / disable fields based on purchaseable status