mirror of
https://github.com/inventree/InvenTree.git
synced 2025-05-03 05:48:47 +00:00
Parameter ordering fix (#3704)
* Hard-code URL fforr loadPartParameterTable function * Improve API efficiency for including parameter data in Part query * Fix loading of part parameter data into table
This commit is contained in:
parent
33326f6eaf
commit
829a9d8311
@ -1605,6 +1605,20 @@ class PartParameterList(ListCreateAPI):
|
|||||||
queryset = PartParameter.objects.all()
|
queryset = PartParameter.objects.all()
|
||||||
serializer_class = part_serializers.PartParameterSerializer
|
serializer_class = part_serializers.PartParameterSerializer
|
||||||
|
|
||||||
|
def get_serializer(self, *args, **kwargs):
|
||||||
|
"""Return the serializer instance for this API endpoint.
|
||||||
|
|
||||||
|
If requested, extra detail fields are annotated to the queryset:
|
||||||
|
- template_detail
|
||||||
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
kwargs['template_detail'] = str2bool(self.request.GET.get('template_detail', True))
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return self.serializer_class(*args, **kwargs)
|
||||||
|
|
||||||
filter_backends = [
|
filter_backends = [
|
||||||
DjangoFilterBackend
|
DjangoFilterBackend
|
||||||
]
|
]
|
||||||
|
@ -247,6 +247,19 @@ class PartParameterTemplateSerializer(InvenTreeModelSerializer):
|
|||||||
class PartParameterSerializer(InvenTreeModelSerializer):
|
class PartParameterSerializer(InvenTreeModelSerializer):
|
||||||
"""JSON serializers for the PartParameter model."""
|
"""JSON serializers for the PartParameter model."""
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
"""Custom initialization method for the serializer.
|
||||||
|
|
||||||
|
Allows us to optionally include or exclude particular information
|
||||||
|
"""
|
||||||
|
|
||||||
|
template_detail = kwargs.pop('template_detail', False)
|
||||||
|
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
if not template_detail:
|
||||||
|
self.fields.pop('template_detail')
|
||||||
|
|
||||||
template_detail = PartParameterTemplateSerializer(source='template', many=False, read_only=True)
|
template_detail = PartParameterTemplateSerializer(source='template', many=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -813,7 +813,6 @@
|
|||||||
onPanelLoad("part-parameters", function() {
|
onPanelLoad("part-parameters", function() {
|
||||||
loadPartParameterTable(
|
loadPartParameterTable(
|
||||||
'#parameter-table',
|
'#parameter-table',
|
||||||
'{% url "api-part-parameter-list" %}',
|
|
||||||
{
|
{
|
||||||
params: {
|
params: {
|
||||||
part: {{ part.pk }},
|
part: {{ part.pk }},
|
||||||
|
@ -803,7 +803,7 @@ function loadSimplePartTable(table, url, options={}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function loadPartParameterTable(table, url, options) {
|
function loadPartParameterTable(table, options) {
|
||||||
|
|
||||||
var params = options.params || {};
|
var params = options.params || {};
|
||||||
|
|
||||||
@ -819,7 +819,7 @@ function loadPartParameterTable(table, url, options) {
|
|||||||
setupFilterList('part-parameters', $(table), filterTarget);
|
setupFilterList('part-parameters', $(table), filterTarget);
|
||||||
|
|
||||||
$(table).inventreeTable({
|
$(table).inventreeTable({
|
||||||
url: url,
|
url: '{% url "api-part-parameter-list" %}',
|
||||||
original: params,
|
original: params,
|
||||||
queryParams: filters,
|
queryParams: filters,
|
||||||
name: 'partparameters',
|
name: 'partparameters',
|
||||||
@ -1292,13 +1292,12 @@ function loadParametricPartTable(table, options={}) {
|
|||||||
},
|
},
|
||||||
columns: columns,
|
columns: columns,
|
||||||
showColumns: true,
|
showColumns: true,
|
||||||
// filterControl: true,
|
|
||||||
sidePagination: 'server',
|
sidePagination: 'server',
|
||||||
idField: 'pk',
|
idField: 'pk',
|
||||||
uniqueId: 'pk',
|
uniqueId: 'pk',
|
||||||
onLoadSuccess: function() {
|
onLoadSuccess: function(response) {
|
||||||
|
|
||||||
var data = $(table).bootstrapTable('getData');
|
var data = response.results;
|
||||||
|
|
||||||
for (var idx = 0; idx < data.length; idx++) {
|
for (var idx = 0; idx < data.length; idx++) {
|
||||||
var row = data[idx];
|
var row = data[idx];
|
||||||
@ -1309,7 +1308,7 @@ function loadParametricPartTable(table, options={}) {
|
|||||||
row[`parameter_${parameter.template}`] = parameter.data;
|
row[`parameter_${parameter.template}`] = parameter.data;
|
||||||
});
|
});
|
||||||
|
|
||||||
$(table).bootstrapTable('updateRow', pk, row);
|
$(table).bootstrapTable('updateByUniqueId', pk, row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user