From bb2d0348c211a0189c78726a64446abf33746afd Mon Sep 17 00:00:00 2001 From: i701 Date: Wed, 9 Jul 2025 22:06:28 +0500 Subject: [PATCH] =?UTF-8?q?feat(devices):=20add=20pending=5Fpayment=5Fid?= =?UTF-8?q?=20field=20to=20DeviceSerializer=20for=20tracking=20unpaid=20pa?= =?UTF-8?q?yments=20=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devices/serializers.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/devices/serializers.py b/devices/serializers.py index 5ef6471..c9f3631 100644 --- a/devices/serializers.py +++ b/devices/serializers.py @@ -2,7 +2,6 @@ from rest_framework import serializers from .models import Device from api.serializers import CustomReadOnlyUserSerializer from billing.models import Payment # Import the Payment model -from django.utils import timezone class CreateDeviceSerializer(serializers.ModelSerializer): @@ -33,6 +32,15 @@ class BlockDeviceSerializer(serializers.ModelSerializer): class DeviceSerializer(serializers.ModelSerializer): user = serializers.SerializerMethodField() + pending_payment_id = serializers.SerializerMethodField() + + def get_pending_payment_id(self, obj): + unpaid_payment = ( + Payment.objects.filter(devices=obj, paid=False) + .order_by("-created_at") + .first() + ) + return unpaid_payment.id if unpaid_payment else None def get_user(self, obj): user = obj.user