
    Li                         d dl mZ ddlmZ d dlmZ  G d dej                        Z G d dej                        Z G d	 d
ej                        Z	 G d dej                        Zy)    )serializers   )Payment)Memberc                   t    e Zd ZdZ ej
                  dd      Z ej
                  dd      Z G d d      Zy)	PaymentSerializerzSerializer for Payment modelmember.nameTsource	read_onlyzmember.phonec                        e Zd ZeZg dZg dZy)PaymentSerializer.Meta)idmembermember_namemember_phoneamountpayment_methodreference_numberstatuspayment_datenotes
created_at
updated_at)r   r   r   N)__name__
__module____qualname__r   modelfieldsread_only_fields     >/var/www/kalinger_portal/trust-backend/payments/serializers.pyMetar      s    

 Hr"   r$   N)	r   r   r   __doc__r   	CharFieldr   r   r$   r!   r"   r#   r   r      s9    &'+''}MK(;(($OLH Hr"   r   c                   *    e Zd ZdZ G d d      Zd Zy)PaymentCreateSerializerz%Serializer for creating a new paymentc                       e Zd ZeZg dZy)PaymentCreateSerializer.Meta)r   r   r   r   r   Nr   r   r   r   r   r   r!   r"   r#   r$   r*      s    Tr"   r$   c                 N    d|d<   t        j                  j                  di |}|S )z(Create payment and update member balance	completedr   r!   )r   objectscreate)selfvalidated_datapayments      r#   r/   zPaymentCreateSerializer.create   s(    #.x //((:>:r"   N)r   r   r   r%   r$   r/   r!   r"   r#   r(   r(      s    /U Ur"   r(   c                   L    e Zd ZdZ ej
                  dd      Z G d d      Zy)PaymentListSerializerz+Simplified serializer for payment list viewr	   Tr
   c                       e Zd ZeZg dZy)PaymentListSerializer.Meta)r   r   r   r   r   r   r   Nr+   r!   r"   r#   r$   r6   '   s    
r"   r$   N)r   r   r   r%   r   r&   r   r$   r!   r"   r#   r4   r4   #   s#    5'+''}MK
 
r"   r4   c                       e Zd ZdZ ej
                         Z ej                  dd      Z ej                  dd      Z	 ej
                         Z
 ej                  dd      Zy)PaymentStatisticsSerializerz!Serializer for payment statistics      )
max_digitsdecimal_placesN)r   r   r   r%   r   IntegerFieldtotal_paymentsDecimalFieldtotal_amount_collectedtotal_pendingpayments_this_monthamount_this_monthr!   r"   r#   r8   r8   /   se    +-[--/N5[55TUV,K,,1MM2+224000BqQr"   r8   N)rest_frameworkr   modelsr   members.modelsr   ModelSerializerr   r(   r4   
Serializerr8   r!   r"   r#   <module>rI      sZ    &  !H33 Hk99 	
K77 	
R+"8"8 Rr"   