B
    bq                 @   s   d dl mZ d dl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mZ d dlmZ G d	d
 d
ejZG dd deeje
jZdS )    )gettext_lazy)mixinsstatus)serializers)Response)viewsets)PayloadBase)stamp2datetimethis_week_period)APPCustomizeResponseModelMixinc               @   s*   e Zd ZejddddZG dd dZdS )WorkTimeSummarySerializerzovertime.total_otT )sourceZ
allow_nulldefaultc               @   s   e Zd ZeZdZdS )zWorkTimeSummarySerializer.Meta)Zatt_dateZtotal_workedZ	remainingtotal_otN)__name__
__module____qualname__r   ZmodelZfields r   r   LG:\easytimepro\master/mysite/mobile\api_rest\views\view_work_time_summary.pyMeta   s   r   N)r   r   r   r   Z	CharFieldr   r   r   r   r   r   r      s   r   c               @   s"   e Zd ZeZej Zdd Z	dS )WorkTimeSummmaryViewSetc             O   s   |j d}|s,dtd}t|tjdS t|}t|\}}| 	| 
 }|d|jj}	|j|	||fd}| |}
|
d k	r| j|
dd}| |jS | j|dd}t|jS )	Ncurrent_dayz{0}zcurrent_day is required.)r   Zemployee_pk)Zemp_idZatt_date__rangeT)Zmany)Zquery_paramsgetformat_r   r   ZHTTP_406_NOT_ACCEPTABLEr	   r
   Zfilter_querysetZget_querysetuserZpkfilterZpaginate_querysetZget_serializerZget_paginated_responsedata)selfZrequestargskwargsr   ZdescribestartendquerysetZempZpageZ
serializerr   r   r   list   s    
zWorkTimeSummmaryViewSet.listN)
r   r   r   r   Zserializer_classr   Zobjectsallr$   r%   r   r   r   r   r      s   
r   N)Zdjango.utils.translationr   r   Zrest_frameworkr   r   r   Zrest_framework.responser   Zmysite.mobile.api_restr   Zmysite.att.modelsr   Zmysite.mobile.utilsr	   r
   Z(mysite.mobile.api_rest.app_customize_mixr   ZModelSerializerr   ZListModelMixinZGenericViewSetr   r   r   r   r   <module>   s   