diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index e4a589d9e5..b99fbd01fb 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -312,7 +312,7 @@ class SupplierPartList(generics.ListCreateAPIView): try: params = self.request.query_params kwargs['part_detail'] = str2bool(params.get('part_detail', None)) - kwargs['supplier_detail'] = str2bool(params.get('supplier_detail', None)) + kwargs['supplier_detail'] = str2bool(params.get('supplier_detail', True)) kwargs['manufacturer_detail'] = str2bool(params.get('manufacturer_detail', None)) kwargs['pretty'] = str2bool(params.get('pretty', None)) except AttributeError: diff --git a/InvenTree/templates/js/translated/company.js b/InvenTree/templates/js/translated/company.js index c92bb75d6f..d7b98841e4 100644 --- a/InvenTree/templates/js/translated/company.js +++ b/InvenTree/templates/js/translated/company.js @@ -115,10 +115,6 @@ function supplierPartFields() { return { part: {}, - supplier: {}, - SKU: { - icon: 'fa-hashtag', - }, manufacturer_part: { filters: { part_detail: true, @@ -126,6 +122,10 @@ function supplierPartFields() { }, auto_fill: true, }, + supplier: {}, + SKU: { + icon: 'fa-hashtag', + }, description: {}, link: { icon: 'fa-link', diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index 8fd6a6b3f4..d55d93e531 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -394,7 +394,9 @@ function renderSupplierPart(name, data, parameters={}, options={}) { html += select2Thumbnail(part_image); } - html += ` ${data.supplier_detail.name} - ${data.SKU}`; + if (data.supplier_detail) { + html += ` ${data.supplier_detail.name} - ${data.SKU}`; + } if (data.part_detail) { html += ` - ${data.part_detail.full_name}`; diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js index 16b5b1f00d..72ec4197a5 100644 --- a/InvenTree/templates/js/translated/order.js +++ b/InvenTree/templates/js/translated/order.js @@ -260,8 +260,8 @@ function createPurchaseOrder(options={}) { } } }, - supplier_reference: {}, description: {}, + supplier_reference: {}, target_date: { icon: 'fa-calendar-alt', }, @@ -670,61 +670,51 @@ function orderParts(parts_list, options={}) { auto_fill: false, filters: { status: {{ PurchaseOrderStatus.PENDING }}, - }, - adjustFilters: function(query, opts) { - - // Whenever we open the drop-down to select an order, - // ensure we are only displaying orders which match the selected supplier part - var supplier_part_pk = getFormFieldValue(`supplier_part_${part.pk}`, opts); - - inventreeGet( - `/api/company/part/${supplier_part_pk}/`, - {}, - { - async: false, - success: function(data) { - query.supplier = data.supplier; - } - } - ); - - return query; + supplier_detail: true, }, noResults: function(query) { return '{% trans "No matching purchase orders" %}'; } }, null, opts); + }); - // Add callback for "remove row" button - $(opts.modal).find('.button-row-remove').click(function() { - var pk = $(this).attr('pk'); + // Add callback for "remove row" button + $(opts.modal).find('.button-row-remove').click(function() { + var pk = $(this).attr('pk'); - $(opts.modal).find(`#order_row_${pk}`).remove(); + $(opts.modal).find(`#order_row_${pk}`).remove(); + }); + + // Add callback for "new supplier part" button + $(opts.modal).find('.button-row-new-sp').click(function() { + var pk = $(this).attr('pk'); + + // Launch dialog to create new supplier part + createSupplierPart({ + part: pk, + onSuccess: function(response) { + setRelatedFieldData( + `supplier_part_${pk}`, + response, + opts + ); + } }); + }); - // Add callback for "new supplier part" button - $(opts.modal).find('.button-row-new-sp').click(function() { - var pk = $(this).attr('pk'); + // Add callback for "new purchase order" button + $(opts.modal).find('.button-row-new-po').click(function() { + var pk = $(this).attr('pk'); - // Launch dialog to create new supplier part - createSupplierPart({ - part: pk, - onSuccess: function(response) { - // TODO - } - }); - }); - - // Add callback for "new purchase order" button - $(opts.modal).find('.button-row-new-po').click(function() { - var pk = $(this).attr('pk'); - - // Launch dialog to create new purchase order - createPurchaseOrder({ - onSuccess: function(response) { - // TODO - } - }); + // Launch dialog to create new purchase order + createPurchaseOrder({ + onSuccess: function(response) { + setRelatedFieldData( + `purchase_order_${pk}`, + response, + opts + ); + } }); }); }