a
    EΌh                     @   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m	Z	m
Z
mZmZmZ d dlmZmZ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G dd deZG dd dejZG dd dejZ G dd deZ!G dd deZ"G dd deZ#dS )    )datetime)JRPUser)BaseUserSerializer)serializers)ProjectProjectMemberProjectModuleProjectTaskProjectTaskAttachmentTaskMessage)ModeReceiptCategoryReceiptCounterReceiptDetails)timezone)transaction)swagger_auto_schema)openapic                   @   s   e Zd ZG dd dZdS )ProjectSerializerc                   @   s   e Zd ZeZg dZdS )zProjectSerializer.Meta
created_by
updated_by
created_at
updated_atN)__name__
__module____qualname__r   modelexclude r   r   FE:\Server_2_sachin\app\JRP\backend_erp\prj_mgt\serializers\projects.pyMeta   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 )ProjectMemberSerializerc                   @   s   e Zd ZeZg dZdS )zProjectMemberSerializer.Metar   N)r   r   r   r   r   r   r   r   r   r    r!      s   r!   Nr"   r   r   r   r    r#      s   r#   c                   @   s   e Zd ZG dd dZdS )ProjectModuleSerializerc                   @   s   e Zd ZeZg dZdS )zProjectModuleSerializer.Metar   N)r   r   r   r   r   r   r   r   r   r    r!      s   r!   Nr"   r   r   r   r    r$      s   r$   c                   @   s   e Zd ZG dd dZdS )ProjectTaskAttachmentSerializerc                   @   s   e Zd ZeZdgZdS )z$ProjectTaskAttachmentSerializer.MetafileN)r   r   r   r
   r   fieldsr   r   r   r    r!   #   s   r!   Nr"   r   r   r   r    r%   "   s   r%   c                   @   s*   e Zd Ze ZG dd dZdd ZdS )AssignedMemberSerializerc                   @   s   e Zd ZeZddgZdS )zAssignedMemberSerializer.MetaidnameN)r   r   r   r   r   r'   r   r   r   r    r!   )   s   r!   c                 C   s   |  S )N)get_full_name)selfobjr   r   r    get_name-   s    z!AssignedMemberSerializer.get_nameN)r   r   r   r   SerializerMethodFieldr*   r!   r.   r   r   r   r    r(   &   s   r(   c                   @   sD   e Zd ZedddZeddZeje	 dddZ
G dd dZd	S )
ProjectTaskRetriveSerializermoduleTsource	read_only)manyFchild
write_onlyrequiredc                   @   s   e Zd ZeZg dZdS )z!ProjectTaskRetriveSerializer.Metar   Nr   r   r   r	   r   r   r   r   r   r    r!   =   s   r!   N)r   r   r   r$   module_infor(   assigned_membersr   	ListField	FileFieldattachmentsr!   r   r   r   r    r0   0   s   
r0   c                   @   sB   e Zd ZedddZeje dddZG dd dZ	dd	 Z
d
S )ProjectTaskSerializerr1   Tr2   Fr6   c                   @   s   e Zd ZeZg dZdS )zProjectTaskSerializer.Metar   Nr:   r   r   r   r    r!   L   s   r!   c                 C   s^   t d| |dg }|dg }tjjf i |}|j| |D ]}tjj||d qD|S )Nvalidated_datar?   r<   )taskr&   )printpopr	   objectscreater<   setr
   )r,   rA   r?   r<   rB   r&   r   r   r    rF   Q   s    
zProjectTaskSerializer.createN)r   r   r   r$   r;   r   r=   r>   r?   r!   rF   r   r   r   r    r@   @   s   r@   c                   @   s   e Zd ZG dd dZdS )TaskMessageSerializerc                   @   s   e Zd ZeZg dZdS )zTaskMessageSerializer.Metar   N)r   r   r   r   r   r   r   r   r   r    r!   g   s   r!   Nr"   r   r   r   r    rH   d   s   rH   N)$r   hrms.models.userr   masters.serializers.baseuserr   rest_frameworkr   prj_mgt.models.projectsr   r   r   r	   r
   r   receipt.models.receipt_mastersr   r   r   r   django.utilsr   	django.dbr   drf_yasg.utilsr   drf_yasgr   r   r#   r$   ModelSerializerr%   r(   r0   r@   rH   r   r   r   r    <module>   s"    
$