
    Ki                     F    d dl mZ d dlmZ  G d dej                        Zy)    )models)Memberc                       e Zd ZdZg dZg dZ ej                  eej                  d      Z
 ej                  ddd	      Z ej                  d
ed      Z ej                  ddd      Z ej                  dedd      Z ej"                  dd      Z ej&                  ddd      Z ej*                  d      Z ej*                  d      Z G d d      Zd Z fdZ xZS )Paymentz7
    Model representing a payment made by a member
    ))UPIr   )Bank Transferr   )Cashr	   )Chequer
   )CardzDebit/Credit Card))pendingPending)	completed	Completed)failedFailed)	cancelled	Cancelledpayments)	on_deleterelated_name
      zPayment Amount)
max_digitsdecimal_placesverbose_name2   zPayment Method)
max_lengthchoicesr   d   TzTransaction Reference)r   uniquer      r   zPayment Status)r   r   defaultr   zPayment Date)auto_now_addr   Notes)blanknullr   )r#   )auto_nowc                       e Zd ZddgZdZdZy)Payment.Metaz-payment_datez-created_atr   PaymentsN)__name__
__module____qualname__orderingr   verbose_name_plural     9/var/www/kalinger_portal/trust-backend/payments/models.pyMetar)   %   s    #]3 (r1   r3   c                 h    d| j                    d| j                  j                   d| j                   S )Nu   ₹z by z on )amountmembernamepayment_date)selfs    r2   __str__zPayment.__str__*   s1    T[[Mdkk&6&6%7tD<M<M;NOOr1   c                     | j                   du }t        |   |i | | j                  dk(  rF|r)| j                  xj
                  | j                  z  c_        | j                  j                          yy)z4Update member's payment totals when payment is savedNr   )pksupersavestatusr6   amount_paidr5   )r9   argskwargsis_new	__class__s       r2   r>   zPayment.save-   s`    Dd%f% ;;+%''4;;6'KK &r1   )r+   r,   r-   __doc__PAYMENT_METHOD_CHOICESSTATUS_CHOICESr   
ForeignKeyr   CASCADEr6   DecimalFieldr5   	CharFieldpayment_methodreference_numberr?   	DateFieldr8   	TextFieldnotesDateTimeField
created_at
updated_atr3   r:   r>   __classcell__)rD   s   @r2   r   r      s    N VvjYF V  BqO_`F%V%%=SbrsN'v''3tRijV^[gwxF#6##NSLF4dIE &%%48J%%%t4J) )
P	 	r1   r   N)	django.dbr   members.modelsr   Modelr   r0   r1   r2   <module>rX      s     !1fll 1r1   