o
    miD                     @   sd   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
 G dd deZG dd	 d	eZd
S )    )ModelSerializer
Serializer)serializers)format_amount_with_currency)Decimal)Activityc                   @   sX   e Zd ZejddZejddZejdddZe Z	e
 ZG dd dZd	d
 ZdS )SummaryActivitySerializerzproject.name)sourcezactivity_type.namezuser.get_full_nameT)r	   	read_onlyc                   @   s   e Zd ZeZdZdS )zSummaryActivitySerializer.Meta)id
project_idproject_nameactivity_type_idactivity_typeis_resumable_activitystart_date_timeend_date_timetotal_durationtotal_amountdescriptionemployee_name
deleted_atN)__name__
__module____qualname__r   modelfields r   r   S/var/www/html/kuke-dev/django-kuke/apps/employee/serializers/summary_serializers.pyMeta   s    r   c                 C   s    t dd |fD }t|}|S )Nc                 s   s4    | ]}|j r|jr|j  d  |j ndV  qdS )i  r   N)r   pay_per_hourtotal_seconds).0objr   r   r   	<genexpr>   s   2 z=SummaryActivitySerializer.get_total_amount.<locals>.<genexpr>)sumr   )selfr#   r   formatted_total_amountr   r   r   get_total_amount   s   z*SummaryActivitySerializer.get_total_amountN)r   r   r   r   	CharFieldr   r   r   BooleanFieldr   SerializerMethodFieldr   r   r(   r   r   r   r   r      s    r   c                   @   s   e Zd Ze Ze ZdS )!SummaryActivityDurationSerializerN)r   r   r   r   	DateFielddateDurationFieldtotal_duration_sumr   r   r   r   r,      s    r,   N)rest_framework.serializersr   r   rest_frameworkr   core.utils.helperr   decimalr   apps.employee.modelsr   r   r,   r   r   r   r   <module>   s    