mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Part API now hyperlinked
This commit is contained in:
parent
9e287d85d8
commit
f7107008f0
@ -17,14 +17,14 @@ class PartParameterSerializer(serializers.ModelSerializer):
|
||||
'units')
|
||||
|
||||
|
||||
class PartSerializer(serializers.ModelSerializer):
|
||||
class PartSerializer(serializers.HyperlinkedModelSerializer):
|
||||
""" Serializer for complete detail information of a part.
|
||||
Used when displaying all details of a single component.
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
model = Part
|
||||
fields = ('pk',
|
||||
fields = ('url',
|
||||
'name',
|
||||
'IPN',
|
||||
'description',
|
||||
@ -32,21 +32,15 @@ class PartSerializer(serializers.ModelSerializer):
|
||||
'stock')
|
||||
|
||||
|
||||
class PartCategorySerializer(serializers.ModelSerializer):
|
||||
|
||||
children = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||
|
||||
parts = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||
class PartCategorySerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = PartCategory
|
||||
fields = ('pk',
|
||||
fields = ('url',
|
||||
'name',
|
||||
'description',
|
||||
'parent',
|
||||
'path',
|
||||
'children',
|
||||
'parts')
|
||||
'path')
|
||||
|
||||
|
||||
class PartTemplateSerializer(serializers.ModelSerializer):
|
||||
|
@ -10,29 +10,29 @@ from . import views
|
||||
categorypatterns = [
|
||||
|
||||
# Part category detail
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartCategoryDetail.as_view(), name='part-category-detail'),
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartCategoryDetail.as_view(), name='partcategory-detail'),
|
||||
|
||||
# List of top-level categories
|
||||
url(r'^\?*.*/?$', views.PartCategoryList.as_view(), name='part-category-list'),
|
||||
url(r'^$', views.PartCategoryList.as_view(), name='part-category-list')
|
||||
url(r'^\?*.*/?$', views.PartCategoryList.as_view()),
|
||||
url(r'^$', views.PartCategoryList.as_view())
|
||||
]
|
||||
|
||||
partparampatterns = [
|
||||
# Detail of a single part parameter
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartParamDetail.as_view(), name='part-parameter-detail'),
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartParamDetail.as_view(), name='partparameter-detail'),
|
||||
|
||||
# Parameters associated with a particular part
|
||||
url(r'^\?.*/?$', views.PartParamList.as_view(), name='part-parameter-list'),
|
||||
url(r'^$', views.PartParamList.as_view(), name='part-parameter-list'),
|
||||
url(r'^\?.*/?$', views.PartParamList.as_view()),
|
||||
url(r'^$', views.PartParamList.as_view()),
|
||||
]
|
||||
|
||||
parttemplatepatterns = [
|
||||
# Detail of a single part field template
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartTemplateDetail.as_view(), name='part-template-detail'),
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartTemplateDetail.as_view(), name='partparametertemplate-detail'),
|
||||
|
||||
# List all part field templates
|
||||
url(r'^\?.*/?$', views.PartTemplateList.as_view(), name='part-template-list'),
|
||||
url(r'^$', views.PartTemplateList.as_view(), name='part-template-list')
|
||||
url(r'^\?.*/?$', views.PartTemplateList.as_view()),
|
||||
url(r'^$', views.PartTemplateList.as_view())
|
||||
]
|
||||
|
||||
""" Top-level URL patterns for the Part app:
|
||||
@ -42,19 +42,19 @@ parttemplatepatterns = [
|
||||
/part/category -> (refer to categorypatterns)
|
||||
"""
|
||||
urlpatterns = [
|
||||
# Individual part
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartDetail.as_view(), name='part-detail'),
|
||||
|
||||
# Part categories
|
||||
url(r'^category/', include(categorypatterns)),
|
||||
|
||||
# Part parameters
|
||||
url(r'^parameters/', include(partparampatterns)),
|
||||
url(r'^parameter/', include(partparampatterns)),
|
||||
|
||||
# Part templates
|
||||
url(r'^templates/', include(parttemplatepatterns)),
|
||||
url(r'^template/', include(parttemplatepatterns)),
|
||||
|
||||
# Individual part
|
||||
url(r'^(?P<pk>[0-9]+)/?$', views.PartDetail.as_view(), name='part-detail'),
|
||||
|
||||
# List parts with optional filters
|
||||
url(r'^\?.*/?$', views.PartList.as_view(), name='part-list'),
|
||||
url(r'^$', views.PartList.as_view(), name='part-list'),
|
||||
url(r'^\?.*/?$', views.PartList.as_view()),
|
||||
url(r'^$', views.PartList.as_view()),
|
||||
]
|
||||
|
@ -26,20 +26,10 @@ class ProjectSerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
class ProjectCategorySerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
children = serializers.HyperlinkedRelatedField(many=True,
|
||||
read_only=True,
|
||||
view_name='projectcategory-detail')
|
||||
|
||||
projects = serializers.HyperlinkedRelatedField(many=True,
|
||||
read_only=True,
|
||||
view_name='project-detail')
|
||||
|
||||
class Meta:
|
||||
model = ProjectCategory
|
||||
fields = ('url',
|
||||
'name',
|
||||
'description',
|
||||
'parent',
|
||||
'path',
|
||||
'children',
|
||||
'projects')
|
||||
'path')
|
||||
|
Loading…
Reference in New Issue
Block a user