B
    bb                 @   s   d dl mZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZ G dd deZee	G dd dejZdS )    )gettext_lazy)	ModelForm)adminconfig)	ManualLog)AddManualLogManualLogApproveManualLogRevoke)PUNCH_STATES)forms)Employee)Q)
C_ATT_RULE)STATUS_VALIDSTATUS_RESIGN_PENDINGc                   s   e Zd ZejedddZejeddZej	ede
dZejedd	d
Zejedd	d
Z fddZG dd dZ  ZS )ManualLogChangeFormZmanualLog_field_employeeT)labelZdisabledZmanualLog_field_punchTime)r   ZmanualLog_field_punchState)r   choicesZmanualLog_field_workCodeF)r   requiredZmanualLog_field_applyReasonc                sD   t t| j|| d| jd jjd< | jjr@t| jj	| jd _
d S )NTempreadonly)superr   __init__fieldsZwidgetZattrsinstanceZpkstrZemployeeinitial)selfargskwargs)	__class__ 9G:\easytimepro\master/mysite/att\admin\manuallog_admin.pyr      s    zManualLogChangeForm.__init__c               @   s   e Zd ZeZdZdS )zManualLogChangeForm.Meta)
punch_timepunch_state	work_codeapply_reasonN)__name__
__module____qualname__r   Zmodelr   r!   r!   r!   r"   Meta"   s   r*   )r'   r(   r)   r   Z	CharField_r   ZDateTimeFieldr#   ZChoiceFieldr
   r$   r%   Z	TextFieldr&   r   r*   __classcell__r!   r!   )r    r"   r      s   r   c                   sD   e Zd ZdZejd ZdZeZ	e
eegZdd Z fddZ  ZS )ManualLogAdmin)idZget_emp_codeZget_emp_first_nameZget_emp_last_nameZget_emp_deptZget_emp_jobr#   r$   r%   r&   Z
apply_timeaudit_statusZget_audit_reasonZ
audit_timeZlast_approver)r#   r$   r/   )z-idc             C   s   dS )NFr!   )r   requestr!   r!   r"   has_add_permission2   s    z!ManualLogAdmin.has_add_permissionc       	         s   |j j}|j j}|j j}|j j}tt| |j|d}|j j	s|
 rX|j| d}|
 r~tjj| d}|j|d}|
 r|j| d}tt|d}|dkr|ttdtd dB ttdB }|S )	N)Z employee__department__company_id)Zemployee__department__in)Zarea__in)Zemployee__in)Zemployee__position__in
resign_emp0)Zemployee__status)userZcurrent_companyZget_auth_deptZget_auth_areaZget_auth_posr   r-   get_querysetfilterZis_superuserexistsallr   Zobjectsr   r   getr   r   r   )	r   r0   Z
company_idZ	auth_deptZ	auth_areaZauth_posZqsZemp_list_by_arear2   )r    r!   r"   r5   5   s&     zManualLogAdmin.get_queryset)r'   r(   r)   Zlist_displayr   ZEMPLOYEE_LIST_FILTERZlist_filterZorderingr   Zformr   r   r	   Zactionsr1   r5   r,   r!   r!   )r    r"   r-   '   s   

r-   N)Zdjango.utils.translationr   r+   Zdjango.formsr   mysiter   r   Zmysite.att.modelsr   Zmysite.att.actionsr   r   r	   Zmysite.att.models_choicesr
   Zmysite.adminr   Z&mysite.personnel.models.model_employeer   Zdjango.db.modelsr   Zmysite.att.global_cacher   Zmysite.admin.modelsr   r   r   registerZZKModelAdminr-   r!   r!   r!   r"   <module>   s   