
    -nj                        d dl mZ d dlmZ ddlmZmZmZmZ  G d dej                        Z
 ej                  e       G d de             Z ej                  e       G d	 d
ej                               Z ej                  e       G d dej                               Z ej                  e       G d dej                               Zy)    )admin)ImportExportModelAdmin   )Member	TaxMaster	MemberTaxTransactionc                        e Zd ZdZeZdZdZdZy)ChildInlinezInline admin for childrenfatherr   )namename_tadate_of_birthgendermarital_statusis_family_headN)	__name__
__module____qualname____doc__r   modelfk_nameextrafields     7/var/www/kalinger_portal/trust-backend/members/admin.pyr   r      s    #EGE_Fr   r   c            	       p    e Zd ZdZdZdZdZdZdddifd	dd
ifdddifdddifdddifddddffZe	fZ
ddZy)MemberAdminz3Admin interface for Member model with import/export)
r   r   phonepayment_status
annual_taxamount_paid
amount_due	tax_countold_balance	is_activer'   
created_at)r   r   r    father_namefather_name_ta)r$   r!   r)   
updated_atzUser Accountr   )userzPersonal Information)r   r   r    r   address
address_taaddress_cityaddress_city_tazFamily Information)r*   r+   mother_namemother_name_taspouse_namespouse_name_tazFinancial Information)r"   r#   r$   r!   r%   r&   Status)r'   Metadata)r)   r,   )collapse)r   classesNc                 @    |rg | j                   dS | j                   S )z'Make user field readonly after creationr-   )readonly_fields)selfrequestobjs      r   get_readonly_fieldszMemberAdmin.get_readonly_fields5   s'    2T))2622###r   )N)r   r   r   r   list_displaylist_filtersearch_fieldsr;   	fieldsetsr   inlinesr?   r   r   r   r   r      s    =L
 .KQMRO 
i
 	 
 "
 	 
y 
 	 
!o#
 	 
n
 	 
2$
 	!I, nG$r   r   c                   P    e Zd ZdZdZdZdgZ ej                  d      d        Z	y)	TaxMasterAdmin)r   base_amountr'   r)   r(   )r   generate_taxesz*Generate taxes for all active family heads)descriptionc           	      F   ddl m} |D ]  }t        j                  j	                  dd      }d}|D ]I  } ||      }||j
                  z  }	t        j                  j                  ||||	d      \  }
}|sE|dz  }K | j                  |d| d	|j                   d
        y )Nr   )calculate_member_tax_countT)r   r'   r   )r%   	total_tax)membertaxdefaultsz
Generated z new taxes for 'z'.)
utilsrK   r   objectsfilterrG   r   update_or_createmessage_userr   )r<   r=   querysetrK   
tax_mastermemberscreated_countrM   r%   rL   r>   createds               r   rH   zTaxMasterAdmin.generate_taxesC   s    5" 	hJnn++44+PGM! '6v>	%
(>(>>	  )00AA!"%.%.  B  W !Q&M' gM?BRS]SbSbRcce'fg%	hr   N)
r   r   r   r@   rA   rB   actionsr   actionrH   r   r   r   rF   rF   <   s:    EL-KM GU\\JKh Lhr   rF   c                       e Zd ZdZdZdZdZy)MemberTaxAdmin)rM   rN   r%   rL   r$   r!   )rN   r)   )member__namemember__phone)r$   Nr   r   r   r@   rA   rB   r;   r   r   r   r]   r]   Z   s    ^L'K5M%Or   r]   c                       e Zd ZdZdZdZdZy)TransactionAdmin)receipt_numberrM   amounttransaction_typepayment_date)re   rf   )rc   r^   r_   )rc   Nr`   r   r   r   rb   rb   a   s    ]L6KGM)Or   rb   N)django.contribr   import_export.adminr   modelsr   r   r   r	   TabularInliner   registerr   
ModelAdminrF   r]   rb   r   r   r   <module>rm      s      6 = =`%%% ` *$( *$ *$Z 	hU%% h h: 	&U%% & & *u'' * *r   