2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-19 05:25:42 +00:00

Stock location part list now uses bootstrap table

- Serializers within serializers!
This commit is contained in:
Oliver
2018-05-02 23:08:45 +10:00
parent 211edb23bb
commit 1899d8f3e9
7 changed files with 135 additions and 78 deletions

View File

@ -1,6 +1,33 @@
from rest_framework import serializers
from .models import Part
from .models import Part, PartCategory
class CategoryBriefSerializer(serializers.ModelSerializer):
url = serializers.CharField(source='get_absolute_url', read_only=True)
class Meta:
model = PartCategory
fields = [
'pk',
'name',
'pathstring',
'url',
]
class PartBriefSerializer(serializers.ModelSerializer):
url = serializers.CharField(source='get_absolute_url', read_only=True)
class Meta:
model = Part
fields = [
'pk',
'url',
'name',
]
class PartSerializer(serializers.ModelSerializer):
@ -8,18 +35,7 @@ class PartSerializer(serializers.ModelSerializer):
Used when displaying all details of a single component.
"""
def _category_name(self, part):
if part.category:
return part.category.name
return ''
def _category_url(self, part):
if part.category:
return part.category.get_absolute_url()
return ''
category_name = serializers.SerializerMethodField('_category_name')
category_url = serializers.SerializerMethodField('_category_url')
category = CategoryBriefSerializer(many=False, read_only=True)
class Meta:
model = Part
@ -31,8 +47,6 @@ class PartSerializer(serializers.ModelSerializer):
'URL', # Link to an external URL (optional)
'description',
'category',
'category_name',
'category_url',
'total_stock',
'available_stock',
'units',

View File

@ -40,10 +40,15 @@
{% if category == None %}
{
sortable: true,
field: 'category_name',
field: 'category',
title: 'Category',
formatter: function(value, row, index, field) {
return renderLink(value, row.category_url)
if (row.category) {
return renderLink(row.category.name, row.category.url);
}
else {
return '';
}
}
},
{% endif %}