diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html index 3d715e288c..8168c65609 100644 --- a/InvenTree/company/templates/company/detail.html +++ b/InvenTree/company/templates/company/detail.html @@ -325,9 +325,17 @@ var parts = []; selections.forEach(function(item) { - parts.push(item.part); + var part = item.part_detail; + part.manufacturer_part = item.pk; + parts.push(part); }); + orderParts( + parts, + ); + + return; + launchModalForm("/order/purchase-order/order-parts/", { data: { parts: parts, diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 7daaffff09..d489ffd1c7 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -630,6 +630,18 @@ function orderParts(parts_list, options={}) { afterRender: function(fields, opts) { // TODO parts.forEach(function(part) { + + var filters = { + part: part.pk, + supplier_detail: true, + part_detail: true, + }; + + if (part.manufacturer_part) { + // Filter by manufacturer part + filters.manufacturer_part = part.manufacturer_part; + } + // Configure the "supplier part" field initializeRelatedField({ name: `part_${part.pk}`, @@ -638,11 +650,7 @@ function orderParts(parts_list, options={}) { required: true, type: 'related field', auto_fill: true, - filters: { - part: part.pk, - supplier_detail: true, - part_detail: false, - }, + filters: filters, noResults: function(query) { return '{% trans "No matching supplier parts" %}'; }