2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 20:16:44 +00:00

Fix callbacks for adding new supplier part and/or purchase order "inline"

This commit is contained in:
Oliver Walters 2022-05-03 11:42:13 +10:00
parent 40c9885b87
commit 4732efb330
4 changed files with 44 additions and 52 deletions

View File

@ -312,7 +312,7 @@ class SupplierPartList(generics.ListCreateAPIView):
try: try:
params = self.request.query_params params = self.request.query_params
kwargs['part_detail'] = str2bool(params.get('part_detail', None)) 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['manufacturer_detail'] = str2bool(params.get('manufacturer_detail', None))
kwargs['pretty'] = str2bool(params.get('pretty', None)) kwargs['pretty'] = str2bool(params.get('pretty', None))
except AttributeError: except AttributeError:

View File

@ -115,10 +115,6 @@ function supplierPartFields() {
return { return {
part: {}, part: {},
supplier: {},
SKU: {
icon: 'fa-hashtag',
},
manufacturer_part: { manufacturer_part: {
filters: { filters: {
part_detail: true, part_detail: true,
@ -126,6 +122,10 @@ function supplierPartFields() {
}, },
auto_fill: true, auto_fill: true,
}, },
supplier: {},
SKU: {
icon: 'fa-hashtag',
},
description: {}, description: {},
link: { link: {
icon: 'fa-link', icon: 'fa-link',

View File

@ -394,7 +394,9 @@ function renderSupplierPart(name, data, parameters={}, options={}) {
html += select2Thumbnail(part_image); html += select2Thumbnail(part_image);
} }
if (data.supplier_detail) {
html += ` <span><b>${data.supplier_detail.name}</b> - ${data.SKU}</span>`; html += ` <span><b>${data.supplier_detail.name}</b> - ${data.SKU}</span>`;
}
if (data.part_detail) { if (data.part_detail) {
html += ` - <i>${data.part_detail.full_name}</i>`; html += ` - <i>${data.part_detail.full_name}</i>`;

View File

@ -260,8 +260,8 @@ function createPurchaseOrder(options={}) {
} }
} }
}, },
supplier_reference: {},
description: {}, description: {},
supplier_reference: {},
target_date: { target_date: {
icon: 'fa-calendar-alt', icon: 'fa-calendar-alt',
}, },
@ -670,30 +670,13 @@ function orderParts(parts_list, options={}) {
auto_fill: false, auto_fill: false,
filters: { filters: {
status: {{ PurchaseOrderStatus.PENDING }}, status: {{ PurchaseOrderStatus.PENDING }},
}, supplier_detail: true,
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;
}, },
noResults: function(query) { noResults: function(query) {
return '{% trans "No matching purchase orders" %}'; return '{% trans "No matching purchase orders" %}';
} }
}, null, opts); }, null, opts);
});
// Add callback for "remove row" button // Add callback for "remove row" button
$(opts.modal).find('.button-row-remove').click(function() { $(opts.modal).find('.button-row-remove').click(function() {
@ -710,7 +693,11 @@ function orderParts(parts_list, options={}) {
createSupplierPart({ createSupplierPart({
part: pk, part: pk,
onSuccess: function(response) { onSuccess: function(response) {
// TODO setRelatedFieldData(
`supplier_part_${pk}`,
response,
opts
);
} }
}); });
}); });
@ -722,11 +709,14 @@ function orderParts(parts_list, options={}) {
// Launch dialog to create new purchase order // Launch dialog to create new purchase order
createPurchaseOrder({ createPurchaseOrder({
onSuccess: function(response) { onSuccess: function(response) {
// TODO setRelatedFieldData(
`purchase_order_${pk}`,
response,
opts
);
} }
}); });
}); });
});
} }
}); });