Coverage for website/payments/api/v2/admin/serializers/payable_detail.py: 100.00%
12 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from rest_framework.fields import CharField, DecimalField, ListField
2from rest_framework.serializers import Serializer
4from members.api.v2.serializers.member import MemberSerializer
5from payments.api.v2.admin.serializers.payment import PaymentAdminSerializer
6from payments.models import Payment
9class PayableAdminSerializer(Serializer):
10 """Serializer to show payable information."""
12 allowed_payment_types = ListField(
13 child=CharField(),
14 default=[
15 Payment.CASH,
16 Payment.CARD,
17 Payment.WIRE,
18 ],
19 )
20 amount = DecimalField(decimal_places=2, max_digits=1000, source="payment_amount")
21 payer = MemberSerializer(
22 admin=True, detailed=False, read_only=True, source="payment_payer"
23 )
24 topic = CharField(source="payment_topic")
25 notes = CharField(source="payment_notes")
26 payment = PaymentAdminSerializer(read_only=True)