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
+ );
+ }
});
});
}