U
    n׷h,
                     @   s   d dl mZ d dlmZmZmZmZmZ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G dd dej	ZdS )    )serializers)SuratSuratfSuratd	DisposisiSuratVersionAttachmentSuratVersionc                   @   s   e Zd ZG dd dZdS ) SuratVersionAttachmentSerializerc                   @   s    e Zd ZeZddddddgZdS )z%SuratVersionAttachmentSerializer.Meta_pknamepath_typesizecreatedN)__name__
__module____qualname__r   modelfields r   r   JD:\Project\Mfile_Papteng_new\mfile-papteng\webapp\api\surat\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G dd dZdd ZdS )SuratVersionSerializerc                   @   s*   e Zd ZeZddddddddd	d
dgZdS )zSuratVersionSerializer.Metar
   nomortanggalpengirim_namapenerima_namaperihalsifatjenisstatus_suratr   attachmentsN)r   r   r   r   r   r   r   r   r   r   r      s           r   c                 C   s   t jj|jd}t|ddjS )N)
pk_versionT)many)r   objectsfilterr
   r	   data)selfobjqsr   r   r   get_attachments   s    z&SuratVersionSerializer.get_attachmentsN)r   r   r   r   SerializerMethodFieldr!   r   r*   r   r   r   r   r   
   s   r   c                   @   s.   e Zd ZdZe ZG dd dZdd ZdS )SuratfSerializerzLampiran suratc                   @   s   e Zd ZeZdddddgZdS )zSuratfSerializer.Metar
   r   urlr   r   N)r   r   r   r   r   r   r   r   r   r   r      s   r   c                 C   s(   | j d}|r"|d|j S |jS )Nrequestz/assets/upload/surat/)contextgetbuild_absolute_urir   )r'   r(   r.   r   r   r   get_url!   s    zSuratfSerializer.get_urlN)	r   r   r   __doc__r   r+   r-   r   r2   r   r   r   r   r,      s   r,   c                   @   s   e Zd ZdZG dd dZdS )SuratdSerializerzTujuan surat (kepada + catatan)c                   @   s   e Zd ZeZdddddgZdS )zSuratdSerializer.Metar
   kepadacatatanr   updatedN)r   r   r   r   r   r   r   r   r   r   r   *   s   r   Nr   r   r   r3   r   r   r   r   r   r4   (   s   r4   c                   @   s   e Zd ZdZG dd dZdS )DisposisiSerializerzDisposisi suratc                   @   s    e Zd ZeZddddddgZdS )zDisposisiSerializer.Metar
   r   r   r5   r6   
user_inputN)r   r   r   r   r   r   r   r   r   r   r   1   s   r   Nr8   r   r   r   r   r9   /   s   r9   c                   @   sH   e Zd ZdZeddddZeddddZeddddZ	G dd dZ
d	S )
SuratSerializerzData utama surat + relasi
suratf_setT)sourcer#   	read_only
suratd_setdisposisi_setc                   @   sF   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ddgZdS )zSuratSerializer.Metar
   r   r   r   pengirimr   pengirim_instansipenerimar   penerima_instansir   r   r   r:   r    r   r7   lampirantujuan	disposisiN)r   r   r   r   r   r   read_only_fieldsr   r   r   r   r   <   s.                	r   N)r   r   r   r3   r,   rE   r4   rF   r9   rG   r   r   r   r   r   r;   6   s
   r;   N)rest_frameworkr   webapp.models.koleksir   r   r   r   r   r   ModelSerializerr	   r   r,   r4   r9   r;   r   r   r   r   <module>   s    