Expose Order model

This commit is contained in:
fnux 2020-02-27 12:42:24 +01:00
commit 1ff5702ce3
3 changed files with 29 additions and 6 deletions

View file

@ -4,8 +4,8 @@ from rest_framework import viewsets, permissions, status
from rest_framework.response import Response
from rest_framework.decorators import action
from .models import Bill, Payment
from .serializers import BillSerializer, PaymentSerializer, UserSerializer
from .models import Bill, Payment, Order
from .serializers import BillSerializer, PaymentSerializer, UserSerializer, OrderSerializer
from datetime import datetime
###
@ -40,6 +40,13 @@ class PaymentViewSet(viewsets.ReadOnlyModelViewSet):
def get_queryset(self):
return Payment.objects.filter(owner=self.request.user)
class OrderViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = OrderSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return Order.objects.filter(owner=self.request.user)
class UserViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated]
@ -59,7 +66,7 @@ class AdminPaymentViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return Payment.objects.filter(owner=self.request.user)
return Payment.objects.all()
def create(self, request):
serializer = self.get_serializer(data=request.data)
@ -74,7 +81,7 @@ class AdminBillViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return Bill.objects.filter(owner=self.request.user)
return Bill.objects.all()
def unpaid(self, request):
return Bill.objects.filter(owner=self.request.user, paid=False)
@ -86,3 +93,10 @@ class AdminBillViewSet(viewsets.ModelViewSet):
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
class AdminOrderViewSet(viewsets.ModelViewSet):
serializer_class = OrderSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
return Order.objects.all()