diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index e9c6d32f0d..644c5d32e2 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -21,10 +21,12 @@ from django.urls import reverse import os from .models import Part, PartCategory, BomItem, PartStar +from .models import PartParameter, PartParameterTemplate from .serializers import PartSerializer, BomItemSerializer from .serializers import CategorySerializer from .serializers import PartStarSerializer +from .serializers import PartParameterSerializer, PartParameterTemplateSerializer from InvenTree.views import TreeSerializer 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): """ 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'), ] +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 = [ url(r'^tree/?', PartCategoryTree.as_view(), name='api-part-tree'), url(r'^category/', include(cat_api_urls)), url(r'^star/', include(part_star_api_urls)), + url(r'^parameter/', include(part_param_api_urls)), url(r'^(?P\d+)/?', PartDetail.as_view(), name='api-part-detail'), diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index a8d0df5954..bdeead670d 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -8,6 +8,7 @@ from .models import Part, PartStar from .models import PartCategory from .models import BomItem +from .models import PartParameter, PartParameterTemplate from InvenTree.serializers import InvenTreeModelSerializer @@ -174,3 +175,28 @@ class BomItemSerializer(InvenTreeModelSerializer): 'note', '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', + ] diff --git a/InvenTree/templates/InvenTree/settings/currency.html b/InvenTree/templates/InvenTree/settings/currency.html index 1ca854e64b..0fde7c5c26 100644 --- a/InvenTree/templates/InvenTree/settings/currency.html +++ b/InvenTree/templates/InvenTree/settings/currency.html @@ -6,6 +6,8 @@ {% block settings %} +

Currencies

+
{% endblock %}