o
    h                     @   s   d dl mZ d dlmZ ddlmZmZmZmZm	Z	m
Z
 eeG dd dejZeeG dd dejZeeG d	d
 d
ejZeeG dd dejZee	G dd dejZee
G dd dejZdS )    )admin)Group   )
DepartmentEmployee	DeductionBonusPayslipEmployeeInvitationc                       s<   e Zd Zg dZddgZddgZddgZ fddZ  ZS )	DepartmentAdmin)namemanager
user_group	is_active
created_atr   r   r   description
updated_atc                    s.   |j dkrtj |d< t j||fi |S )Nr   queryset)r   r   objectsallsuperformfield_for_foreignkey)selfdb_fieldrequestkwargs	__class__ (/var/www/html/optinet_system/hr/admin.pyr      s   
z(DepartmentAdmin.formfield_for_foreignkey)	__name__
__module____qualname__list_displaylist_filtersearch_fieldsreadonly_fieldsr   __classcell__r   r   r   r   r          r   c                   @   s   e Zd Zg dZg dZg dZg 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ifdddifdddifddddff	ZdS )EmployeeAdmin)employee_id	full_name
department	job_titleemployment_status	hire_date)r,   employment_typer.   r/   )r*   
first_name	last_nameemail	id_number)r*   r   r   zEmployee Informationfields)r*   userr1   r2   r3   phoneIdentification)r4   kra_pinnssf_numbernhif_numberAddress)physical_addresspostal_addresszEmployment Details)r,   r-   r0   r.   zImportant Dates)r/   probation_end_datetermination_datezSalary & Banking)basic_salary	bank_namebank_account_numberbank_branchzEmergency Contact)emergency_contact_nameemergency_contact_phoneemergency_contact_relationshipzAdditional Information)profile_picturenotes
Timestampsr   r   collapser5   classesN)r    r!   r"   r#   r$   r%   r&   	fieldsetsr   r   r   r   r)      sD    r)   c                       <   e Zd Zg dZg dZg dZddgZ fddZ  ZS )DeductionAdmin)employeededuction_typeamountis_recurringr   
start_date)rT   rV   r   rW   employee__first_nameemployee__last_nameemployee__employee_idreasonr   r   c                    "   |s|j |_t |||| d S Nr6   
created_byr   
save_modelr   r   objformchanger   r   r   ra   ?      zDeductionAdmin.save_model	r    r!   r"   r#   r$   r%   r&   ra   r'   r   r   r   r   rR   8   r(   rR   c                       rQ   )
BonusAdmin)rS   
bonus_typerU   rV   r   date_earned)ri   rV   r   rj   rX   r   r   c                    r]   r^   r_   rb   r   r   r   ra   K   rf   zBonusAdmin.save_modelrg   r   r   r   r   rh   D   r(   rh   c                
       s   e Zd Zg dZg dZg dZg 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ifddddffZ fddZ  Z	S )PayslipAdmin)payslip_numberrS   pay_period_startpay_period_end
net_salaryis_paid)is_generatedrp   pay_daterm   )rl   rY   rZ   r[   )rl   gross_salaryro   r   r   zPayslip Informationr5   )rl   rS   generated_byz
Pay Period)rm   rn   rr   zSalary Components)rA   total_bonusesrs   
Deductions)total_deductionspaye_taxnhif_deductionnssf_deductionzFinal Amount)ro   Status)rq   rp   rI   rJ   rK   rL   rN   c                    r]   r^   )r6   rt   r   ra   rb   r   r   r   ra   p   rf   zPayslipAdmin.save_model)
r    r!   r"   r#   r$   r%   r&   rP   ra   r'   r   r   r   r   rk   P   s:    rk   c                   @   s,   e Zd Zg dZddgZg dZg dZdS )EmployeeInvitationAdmin)rS   is_used
is_expiredr   
expires_atr}   r   )rY   rZ   employee__email)tokenr   used_atN)r    r!   r"   r#   r$   r%   r&   r   r   r   r   r|   u   s
    r|   N)django.contribr   django.contrib.auth.modelsr   modelsr   r   r   r   r	   r
   register
ModelAdminr   r)   rR   rh   rk   r|   r   r   r   r   <module>   s    %$