diff --git a/authentication/serializers.py b/authentication/serializers.py index 2ec061a2703acc220b82b2e50f4873ecd04286b4..072efe7cecaa57aaa59094ae3f418aa95e3b1d15 100644 --- a/authentication/serializers.py +++ b/authentication/serializers.py @@ -1,3 +1,4 @@ +import datetime from django.contrib.auth.models import Group from rest_framework import serializers, exceptions from dj_rest_auth.serializers import LoginSerializer @@ -23,12 +24,15 @@ class UserAuthSerializer(serializers.ModelSerializer): if instance.is_staff: result['role'] = 'admin' + result['transaction_status'] = None + result['cart_id'] = None + if instance.cart.exists(): - result['transaction_status'] = instance.cart.last().transaction_status - result['cart_id'] = instance.cart.last().id - else: - result['transaction_status'] = None - result['cart_id'] = None + active_carts = instance.cart.filter(program_end_date__gte=datetime.date.today()) + if len(active_carts) > 0: + last_active_cart = active_carts.order_by('-id')[0] + result['transaction_status'] = last_active_cart.transaction_status + result['cart_id'] = last_active_cart.id return result