diff --git a/website/pizzas/api/serializers.py b/website/pizzas/api/serializers.py index daaf859f55f840d89391b0a3439d24774dd92fce..2490b6abc9cf697b408285bc414b91a7ee1417cb 100644 --- a/website/pizzas/api/serializers.py +++ b/website/pizzas/api/serializers.py @@ -37,7 +37,8 @@ class OrderSerializer(serializers.ModelSerializer): read_only_fields = ('pk', 'payment', 'name', 'member') payment = PaymentTypeField(source='payment.type', - choices=Payment.PAYMENT_TYPE) + choices=Payment.PAYMENT_TYPE, + read_only=True) class AdminOrderSerializer(serializers.ModelSerializer): @@ -64,5 +65,6 @@ class AdminOrderSerializer(serializers.ModelSerializer): ).get('type', instance.payment.type) != instance.payment.type: instance.payment.type = validated_data['payment']['type'] instance.payment.save() - del validated_data['payment'] + if 'payment' in validated_data: + del validated_data['payment'] return super().update(instance, validated_data) diff --git a/website/pizzas/api/viewsets.py b/website/pizzas/api/viewsets.py index 9d24b1cf017c13565f862ce1482a405e330bb9ef..fb51793a94fecab957c577da3540822bbd987273 100644 --- a/website/pizzas/api/viewsets.py +++ b/website/pizzas/api/viewsets.py @@ -8,6 +8,7 @@ from rest_framework.mixins import ListModelMixin from rest_framework.response import Response from rest_framework.viewsets import GenericViewSet, ModelViewSet +from payments.models import Payment from pizzas.api import serializers from pizzas.models import Product, PizzaEvent, Order from pizzas.services import can_change_order @@ -54,7 +55,7 @@ class OrderViewset(ModelViewSet): return Order.objects.none() return Order.objects.filter(member=self.request.member, - paid=False, + payment__type=Payment.NONE, pizza_event=event) return Order.objects.filter(member=self.request.member, pizza_event=event)