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

API endpoint for PartParameter and PartParameterTemplate

This commit is contained in:
Oliver Walters 2019-09-07 19:44:10 +10:00
parent 13270617b9
commit f415e2040e
3 changed files with 83 additions and 0 deletions

View File

@ -21,10 +21,12 @@ from django.urls import reverse
import os import os
from .models import Part, PartCategory, BomItem, PartStar from .models import Part, PartCategory, BomItem, PartStar
from .models import PartParameter, PartParameterTemplate
from .serializers import PartSerializer, BomItemSerializer from .serializers import PartSerializer, BomItemSerializer
from .serializers import CategorySerializer from .serializers import CategorySerializer
from .serializers import PartStarSerializer from .serializers import PartStarSerializer
from .serializers import PartParameterSerializer, PartParameterTemplateSerializer
from InvenTree.views import TreeSerializer from InvenTree.views import TreeSerializer
from InvenTree.helpers import str2bool from InvenTree.helpers import str2bool
@ -261,6 +263,53 @@ class PartStarList(generics.ListCreateAPIView):
] ]
class PartParameterTemplateList(generics.ListCreateAPIView):
""" API endpoint for accessing a list of PartParameterTemplate objects.
- GET: Return list of PartParameterTemplate objects
- POST: Create a new PartParameterTemplate object
"""
queryset = PartParameterTemplate.objects.all()
serializer_class = PartParameterTemplateSerializer
permission_classes = [
permissions.IsAuthenticated,
]
filter_backends = [
filters.OrderingFilter,
]
filter_fields = [
'name',
]
class PartParameterList(generics.ListCreateAPIView):
""" API endpoint for accessing a list of PartParameter objects
- GET: Return list of PartParameter objects
- POST: Create a new PartParameter object
"""
queryset = PartParameter.objects.all()
serializer_class = PartParameterSerializer
permission_classes = [
permissions.IsAuthenticated,
]
filter_backends = [
DjangoFilterBackend
]
filter_fields = [
'part',
'template',
]
class BomList(generics.ListCreateAPIView): class BomList(generics.ListCreateAPIView):
""" API endpoint for accessing a list of BomItem objects. """ API endpoint for accessing a list of BomItem objects.
@ -362,12 +411,18 @@ part_star_api_urls = [
url(r'^.*$', PartStarList.as_view(), name='api-part-star-list'), url(r'^.*$', PartStarList.as_view(), name='api-part-star-list'),
] ]
part_param_api_urls = [
url(r'^template/?$', PartParameterTemplateList.as_view(), name='api-part-param-template-list'),
url(r'^.*$', PartParameterList.as_view(), name='api-part-param-list'),
]
part_api_urls = [ part_api_urls = [
url(r'^tree/?', PartCategoryTree.as_view(), name='api-part-tree'), url(r'^tree/?', PartCategoryTree.as_view(), name='api-part-tree'),
url(r'^category/', include(cat_api_urls)), url(r'^category/', include(cat_api_urls)),
url(r'^star/', include(part_star_api_urls)), url(r'^star/', include(part_star_api_urls)),
url(r'^parameter/', include(part_param_api_urls)),
url(r'^(?P<pk>\d+)/?', PartDetail.as_view(), name='api-part-detail'), url(r'^(?P<pk>\d+)/?', PartDetail.as_view(), name='api-part-detail'),

View File

@ -8,6 +8,7 @@ from .models import Part, PartStar
from .models import PartCategory from .models import PartCategory
from .models import BomItem from .models import BomItem
from .models import PartParameter, PartParameterTemplate
from InvenTree.serializers import InvenTreeModelSerializer from InvenTree.serializers import InvenTreeModelSerializer
@ -174,3 +175,28 @@ class BomItemSerializer(InvenTreeModelSerializer):
'note', 'note',
'validated', 'validated',
] ]
class PartParameterSerializer(InvenTreeModelSerializer):
""" JSON serializers for the PartParameter model """
class Meta:
model = PartParameter
fields = [
'pk',
'part',
'template',
'data'
]
class PartParameterTemplateSerializer(InvenTreeModelSerializer):
""" JSON serializer for the PartParameterTemplate model """
class Meta:
model = PartParameterTemplate
fields = [
'pk',
'name',
'units',
]

View File

@ -6,6 +6,8 @@
{% block settings %} {% block settings %}
<h4>Currencies</h4>
<table class='table table-striped table-condensed' id='currency-table'/> <table class='table table-striped table-condensed' id='currency-table'/>
</table> </table>
{% endblock %} {% endblock %}