Coverage for website/sales/api/v2/serializers/user_order.py: 57.14%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from sales.api.v2.admin.serializers.order import ( 

2 OrderItemSerializer, 

3 OrderSerializer, 

4 ProductNameRelatedField, 

5) 

6from sales.models.product import ProductListItem 

7 

8 

9class UserProductNameRelatedField(ProductNameRelatedField): 

10 def get_queryset(self): 

11 shift = self.root.context.get("shift", None) 

12 if shift is None: 

13 shift = self.root.instance.shift 

14 return ProductListItem.objects.filter( 

15 product_list=shift.user_order_period.product_list 

16 ) 

17 

18 

19class UserOrderItemSerializer(OrderItemSerializer): 

20 product = UserProductNameRelatedField("product") 

21 

22 

23class UserOrderSerializer(OrderSerializer): 

24 order_item_serializer_class = UserOrderItemSerializer