B
    bX	                 @   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
 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 )    )serializers)gettext_lazy)Training)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	d
dZ	e
 Ze
 Zejeddd
dZG dd dZdS )TrainingSerializerZemp_field_employeeCodezemployee.emp_code)labelsourceZemp_field_firstNamezemployee.first_nameZemp_field_lastNamezemployee.last_nameZstaff_training_trainingCategoryzcategory.category_nameT)r   r	   Z
allow_nullZstaff_approval_approvalStateZget_audit_status_displayc               @   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TrainingSerializer.Metaidemployeecategory
start_timeend_timeapply_reasonZ
apply_timeZaudit_reasonZ
audit_timeZapproval_levelZaudit_user_idlast_approverZaudit_statusworkflow_current_state_nameZapproveremp_code
first_name	last_namecategory_nameaudit_status_stringN)__name__
__module____qualname__r   modelfields r   r   JG:\easytimepro\master/mysite/staff\api\serializers\training_serializers.pyMeta   s
   r   N)r   r   r   r   Z	CharField_r   r   r   r   ZReadOnlyFieldr   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 )TrainingCreateSerializerc             C   s0   | j d j}t|ts$tddi||d< |S )NZrequestZdetailzUser not a Employeer   )contextuser
isinstancer   r   ZValidationError)selfZattrsr"   r   r   r   validate!   s    

z!TrainingCreateSerializer.validatec               @   s   e Zd ZeZddddgZdS )zTrainingCreateSerializer.Metar   r   r   r   N)r   r   r   r   r   r   r   r   r   r   r   *   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 )TrainingEditSerializerc               @   s   e Zd ZeZddddgZdS )zTrainingEditSerializer.Metar   r   r   r   N)r   r   r   r   r   r   r   r   r   r   r   0   s   r   N)r   r   r   r   r   r   r   r   r&   /   s   r&   c               @   s   e Zd ZG dd dZdS )TrainingActionSerializerc               @   s   e Zd ZeZdZdS )zTrainingActionSerializer.Meta))deleter(   N)r   r   r   r   r   Zaction_type_choicesr   r   r   r   r   6   s   r   N)r   r   r   r   r   r   r   r   r'   5   s   r'   N)Zrest_frameworkr   Zdjango.utils.translationr   r   Z mysite.att.models.model_trainingr   Zmysite.staff.api.serializersr   Zmysite.personnel.modelsr   ZModelSerializerr   r    r&   ZObjectActionSerializerr'   r   r   r   r   <module>   s   