mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-11-01 16:14:30 +01:00
Alpha version (without tests)
This commit is contained in:
@@ -3,10 +3,12 @@
|
||||
|
||||
from api.viewsets import ReadProtectedModelViewSet
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from django.utils import timezone
|
||||
from rest_framework.filters import SearchFilter
|
||||
|
||||
from .serializers import AllergenSerializer, FoodSerializer, BasicFoodSerializer, TransformedFoodSerializer, QRCodeSerializer
|
||||
from ..models import Allergen, Food, BasicFood, TransformedFood, QRCode
|
||||
from .serializers import AllergenSerializer, FoodSerializer, BasicFoodSerializer, TransformedFoodSerializer, QRCodeSerializer, \
|
||||
DishSerializer, SupplementSerializer, OrderSerializer, FoodTransactionSerializer
|
||||
from ..models import Allergen, Food, BasicFood, TransformedFood, QRCode, Dish, Supplement, Order, FoodTransaction
|
||||
|
||||
|
||||
class AllergenViewSet(ReadProtectedModelViewSet):
|
||||
@@ -72,3 +74,61 @@ class QRCodeViewSet(ReadProtectedModelViewSet):
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
filterset_fields = ['qr_code_number', ]
|
||||
search_fields = ['$qr_code_number', ]
|
||||
|
||||
|
||||
class DishViewSet(ReadProtectedModelViewSet):
|
||||
"""
|
||||
REST API View set.
|
||||
The djangorestframework plugin will get all `Dish` objects, serialize it to JSON with the given serializer,
|
||||
then render it on /api/food/dish/
|
||||
"""
|
||||
queryset = Dish.objects.order_by('id')
|
||||
serializer_class = DishSerializer
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
filterset_fields = ['main__name', 'activity', ]
|
||||
search_fields = ['$main__name', '$activity', ]
|
||||
|
||||
|
||||
class SupplementViewSet(ReadProtectedModelViewSet):
|
||||
"""
|
||||
REST API View set.
|
||||
The djangorestframework plugin will get all `Supplement` objects, serialize it to JSON with the given serializer,
|
||||
then render it on /api/food/supplement/
|
||||
"""
|
||||
queryset = Supplement.objects.order_by('id')
|
||||
serializer_class = SupplementSerializer
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
filterset_fields = ['food__name', 'dish__activity', ]
|
||||
search_fields = ['$food__name', '$dish__activity', ]
|
||||
|
||||
|
||||
class OrderViewSet(ReadProtectedModelViewSet):
|
||||
"""
|
||||
REST API View set.
|
||||
The djangorestframework plugin will get all `Order` objects, serialize it to JSON with the given serializer,
|
||||
then render it on /api/food/order/
|
||||
"""
|
||||
queryset = Order.objects.order_by('id')
|
||||
serializer_class = OrderSerializer
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
filterset_fields = ['user', 'activity', 'dish', 'supplements', 'number', ]
|
||||
search_fields = ['$user', '$activity', '$dish', '$supplements', '$number', ]
|
||||
|
||||
def perform_update(self, serializer):
|
||||
instance = serializer.save()
|
||||
if instance.served and not instance.served_at:
|
||||
instance.served_at = timezone.now()
|
||||
instance.save()
|
||||
|
||||
|
||||
class FoodTransactionViewSet(ReadProtectedModelViewSet):
|
||||
"""
|
||||
REST API View set.
|
||||
The djangorestframework plugin will get all `FoodTransaction` objects, serialize it to JSON with the given serializer,
|
||||
then render it on /api/food/foodtransaction/
|
||||
"""
|
||||
queryset = FoodTransaction.objects.order_by('id')
|
||||
serializer_class = FoodTransactionSerializer
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter]
|
||||
filterset_fields = ['order', ]
|
||||
search_fields = ['$order', ]
|
||||
|
||||
Reference in New Issue
Block a user