B
    b|
                 @   s   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 d dlmZ G dd	 d	ejZG d
d dejZG dd dejZG dd dejZdS )    )	force_str)serializers)gettext_lazy)	ManualLog)PUNCH_STATES)util_serializers)Employeec               @   s   e Zd ZejedddZejedddZejedddZej	edd	Z
e Zejed
d	ZejeddddZdd ZG dd dZdS )ManualLogSerializerZemp_field_employeeCodezemployee.emp_code)labelsourceZemp_field_firstNamezemployee.first_nameZemp_field_lastNamezemployee.last_nameZstaff_manualLog_punchState)r
   workflow_current_state_nameZstaff_approval_approvalStateZget_audit_status_displayT)r
   r   Z
allow_nullc             C   s.   x&t D ]}|d |jkrt|d S qW |jS )Nr      )r   punch_stater   )selfobjs r   KG:\easytimepro\master/mysite/staff\api\serializers\manuallog_serializers.pyget_punch_state_name   s    
z(ManualLogSerializer.get_punch_state_namec               @   s<   e Zd ZeZddddddddd	d
ddddddddddgZdS )zManualLogSerializer.Metaidemployee	work_codeZ
apply_timeapply_reason
punch_timepunch_state_namer   Z
audit_timeZapproval_levelZaudit_user_idlast_approverr   Zapproveremp_code
first_name	last_nameZaudit_statusaudit_status_stringZaudit_reasonN)__name__
__module____qualname__r   modelfieldsr   r   r   r   Meta   s   
r%   N)r    r!   r"   r   Z	CharField_r   r   r   ZSerializerMethodFieldr   ZReadOnlyFieldr   r   r   r   r%   r   r   r   r   r	      s   

r	   c               @   s"   e Zd Zdd ZG dd dZdS )ManualLogCreateSerializerc             C   s4   | j d j}t|ts(tdtdi||d< |S )NZrequestZdetailZuser_not_a_employeer   )contextuser
isinstancer   r   ZValidationErrorr&   )r   Zattrsr)   r   r   r   validate)   s    
z"ManualLogCreateSerializer.validatec               @   s   e Zd ZeZddddgZdS )zManualLogCreateSerializer.Metar   r   r   r   N)r    r!   r"   r   r#   r$   r   r   r   r   r%   2   s   r%   N)r    r!   r"   r+   r%   r   r   r   r   r'   '   s   	r'   c               @   s   e Zd ZG dd dZdS )ManualLogEditSerializerc               @   s   e Zd ZeZddddgZdS )zManualLogEditSerializer.Metar   r   r   r   N)r    r!   r"   r   r#   r$   r   r   r   r   r%   9   s   r%   N)r    r!   r"   r%   r   r   r   r   r,   7   s   r,   c               @   s   e Zd ZG dd dZdS )ManualLogActionSerializerc               @   s   e Zd ZeZdZdS )zManualLogActionSerializer.Meta))deleter.   N)r    r!   r"   r   r#   Zaction_type_choicesr   r   r   r   r%   @   s   r%   N)r    r!   r"   r%   r   r   r   r   r-   >   s   r-   N)Zdjango.utils.encodingr   Zrest_frameworkr   Zdjango.utils.translationr   r&   Z!mysite.att.models.model_manuallogr   Zmysite.att.models_choicesr   Zmysite.staff.api.serializersr   Zmysite.personnel.modelsr   ZModelSerializerr	   r'   r,   ZObjectActionSerializerr-   r   r   r   r   <module>   s   