From 6218f1c7e699a228f5dd110f0a77c752814ad245 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 14 Aug 2021 00:26:22 +1000 Subject: [PATCH] Add form elements for initializing a part with supplier data --- InvenTree/templates/js/translated/part.js | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 0fd43934fe..2ae943eae4 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -28,6 +28,11 @@ function partGroups(options={}) { duplicate: { title: '{% trans "Part Duplication Options" %}', collapsible: true, + }, + supplier: { + title: '{% trans "Supplier Options" %}', + collapsible: true, + hidden: !global_settings.PART_PURCHASEABLE, } } @@ -87,6 +92,9 @@ function partFields(options={}) { purchaseable: { value: global_settings.PART_PURCHASEABLE, group: 'attributes', + onEdit: function(value, name, field, options) { + setFormGroupVisibility('supplier', value, options); + } }, salable: { value: global_settings.PART_SALABLE, @@ -151,6 +159,53 @@ function partFields(options={}) { value: global_settings.PART_CATEGORY_PARAMETERS, group: 'create', }; + + // Supplier options + fields.add_supplier_info = { + type: 'boolean', + label: '{% trans "Add Supplier Data" %}', + help_text: '{% trans "Create initial supplier data for this part" %}', + group: 'supplier', + }; + + fields.supplier = { + type: 'related field', + model: 'company', + label: '{% trans "Supplier" %}', + help_text: '{% trans "Select supplier" %}', + filters: { + 'is_supplier': true, + }, + api_url: '{% url "api-company-list" %}', + group: 'supplier', + }; + + fields.SKU = { + type: 'string', + label: '{% trans "SKU" %}', + help_text: '{% trans "Supplier stock keeping unit" %}', + group: 'supplier', + }; + + fields.manufacturer = { + type: 'related field', + model: 'company', + label: '{% trans "Manufacturer" %}', + help_text: '{% trans "Select manufacturer" %}', + filters: { + 'is_manufacturer': true, + }, + api_url: '{% url "api-company-list" %}', + group: 'supplier', + }; + + fields.MPN = { + type: 'string', + label: '{% trans "MPN" %}', + help_text: '{% trans "Manufacturer Part Number" %}', + group: 'supplier', + }; + } // Additional fields when "duplicating" a part