B
    DDb                 @   s   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G dd dejZdS )    )serializers)Employee)Transaction)util_serializersc               @   s   e Zd ZG dd dZdS )TransactionSerializerc               @   s   e Zd ZeZdZdS )zTransactionSerializer.Meta__all__N)__name__
__module____qualname__r   modelfields r   r   NG:\easytimepro\master/mysite/iclock\api\serializers\transaction_serializers.pyMeta   s   r   N)r   r	   r
   r   r   r   r   r   r      s   r   c               @   s   e Zd Ze ZejdddZe Ze Z	e Z
e ZejdddZdd Zdd Zd	d
 Zdd Zdd ZG dd dZdS )TransactionExportSerializerZget_punch_state_displayT)sourceZ
allow_nullZget_verify_type_displayc             C   sj   t jj|jd}| rbg }|d jr:|t|d j |d jrX|t|d j d	|S dS d S )N)emp_coder     )
r   objectsfilterr   existsZ
first_nameappendstr	last_namejoin)selfobjempZ	name_listr   r   r   get_employee_name   s    


z-TransactionExportSerializer.get_employee_namec             C   s6   t jj|jd}| r2|d jr2t|d jjS dS )N)r   r   r   )r   r   r   r   r   Z
departmentr   Z	dept_name)r   r   r   r   r   r   get_employee_department*   s
    
z3TransactionExportSerializer.get_employee_departmentc             C   s6   t jj|jd}| r2|d jr2t|d jjS dS )N)r   r   r   )r   r   r   r   r   Zpositionr   Zposition_name)r   r   r   r   r   r   get_employee_position1   s
    
z1TransactionExportSerializer.get_employee_positionc             C   s
   |j  S )N)
punch_timedate)r   r   r   r   r   get_transaction_punch_date8   s    z6TransactionExportSerializer.get_transaction_punch_datec             C   s
   |j  S )N)r"   time)r   r   r   r   r   get_transaction_punch_time;   s    z6TransactionExportSerializer.get_transaction_punch_timec               @   s2   e Zd ZeZddddddddd	d
dddddgZdS )z TransactionExportSerializer.Metaidr   employee_nameemployee_departmentemployee_positiontransaction_punch_datepunch_statetransaction_punch_timeverify_typeZ	work_codeZgps_locationZ
area_aliasZterminal_snZterminal_aliasZupload_timeN)r   r	   r
   r   r   r   r   r   r   r   r   >   s   r   N)r   r	   r
   r   ZSerializerMethodFieldr(   Z	CharFieldr,   r)   r*   r+   r-   r.   r   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 )TransactionEditSerializerc               @   s   e Zd ZeZdZdS )zTransactionEditSerializer.Metar   N)r   r	   r
   r   r   r   r   r   r   r   r   I   s   r   N)r   r	   r
   r   r   r   r   r   r/   G   s   r/   c               @   s   e Zd ZG dd dZdS )TransactionCreateSerializerc               @   s   e Zd ZeZdZdS )z TransactionCreateSerializer.Metar   N)r   r	   r
   r   r   r   r   r   r   r   r   P   s   r   N)r   r	   r
   r   r   r   r   r   r0   N   s   r0   c               @   s   e Zd ZG dd dZdS )TransactionActionSerializerc               @   s   e Zd ZeZdZdS )z TransactionActionSerializer.Meta))deleter2   N)r   r	   r
   r   r   Zaction_type_choicesr   r   r   r   r   W   s   r   N)r   r	   r
   r   r   r   r   r   r1   U   s   r1   N)Zrest_frameworkr   Z&mysite.personnel.models.model_employeer   Z&mysite.iclock.models.model_transactionr   Z mysite.personnel.api.serializersr   ZModelSerializerr   r   r/   r0   ZObjectActionSerializerr1   r   r   r   r   <module>   s   5