added templating mechanism for storages
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth import get_user_model
|
||||
from rest_framework import serializers
|
||||
from parts import models as parts_models
|
||||
|
||||
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['username', 'email', 'first_name', 'last_name', 'groups']
|
||||
model = get_user_model()
|
||||
fields = ['id', 'username', 'email', 'first_name', 'last_name', 'groups']
|
||||
|
||||
class GroupSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
|
@@ -7,6 +7,7 @@ router = routers.DefaultRouter()
|
||||
router.register(r'users', UserViewSet)
|
||||
router.register(r'groups', GroupViewSet)
|
||||
router.register(r'parts/storages', PartsStorageViewSet)
|
||||
router.register(r'parts/storage_templates', PartsStorageTemplatesViewSet, basename='storage-template')
|
||||
router.register(r'parts/components', PartsComponentViewSet)
|
||||
router.register(r'parts/stocks', PartsStockViewSet)
|
||||
router.register(r'parts/packages', PartsPackageViewSet)
|
||||
|
@@ -1,5 +1,6 @@
|
||||
from django.shortcuts import render
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from rest_framework import viewsets, status
|
||||
from rest_framework import permissions
|
||||
@@ -25,7 +26,7 @@ class UserViewSet(viewsets.ReadOnlyModelViewSet):
|
||||
"""
|
||||
API endpoint that allows users to be viewed or edited.
|
||||
"""
|
||||
queryset = User.objects.all()
|
||||
queryset = get_user_model().objects.all()
|
||||
serializer_class = UserSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
@@ -44,8 +45,17 @@ class PartsStorageViewSet(viewsets.ModelViewSet):
|
||||
serializer_class = StorageSerializer
|
||||
permission_classes = [permissions.DjangoModelPermissions]
|
||||
filter_backends = [django_filters.rest_framework.DjangoFilterBackend]
|
||||
search_fields = ['id', 'name', 'parent_storage']
|
||||
filterset_fields = ['id', 'name', 'parent_storage']
|
||||
|
||||
|
||||
class PartsStorageTemplatesViewSet(viewsets.ReadOnlyModelViewSet):
|
||||
queryset = parts_models.Storage.objects.filter(is_template=True)
|
||||
serializer_class = StorageSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ['id', 'name']
|
||||
filterset_fields = ['id', 'name']
|
||||
|
||||
class PartsComponentViewSet(viewsets.ModelViewSet):
|
||||
queryset = parts_models.Component.objects.all()
|
||||
serializer_class = ComponentSerializer
|
||||
|
Reference in New Issue
Block a user