o
    "g                     @   sv   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jZG d
d de
ZdS )    )DistrictSubDistrict)serializers)JRPUser)State)BaseUserSerializerc                   @   (   e Zd ZejdddZG dd dZdS )DistrictSerializer
state.nameTsource	read_onlyc                   @      e Zd ZeZg dZdS )zDistrictSerializer.Meta)
created_by
updated_by
created_at
updated_atN)__name__
__module____qualname__r   modelexclude r   r   9/var/www/html/backend_erp/masters/serializers/district.pyMeta       r   Nr   r   r   r   	CharField
state_namer   r   r   r   r   r	          r	   c                   @   r   )DistrictLimitedSerializerr
   Tr   c                   @   r   )zDistrictLimitedSerializer.Meta)idnamecoder   N)r   r   r   r   r   fieldsr   r   r   r   r      r   r   Nr   r   r   r   r   r       r   r    c                   @   s:   e Zd ZejddddZG dd dZdd Zd	d
 ZdS )SubDistrictSerializerdistrictr"   T)r   
slug_fieldr   c                   @   r   )zSubDistrictSerializer.Meta)r!   r"   
name_localr#   r&   district_namecensusN)r   r   r   r   r   r$   r   r   r   r   r      r   r   c                 C   sX   | j d}|r|jjr|jnd }| jj}t|dr!|r!|j|d< |jj	di |}|S )Nrequestr   r   )
contextgetuseris_authenticatedr   r   hasattrr!   objectscreate)selfvalidated_datar+   current_usermodel_classinstancer   r   r   r2   "   s   
zSubDistrictSerializer.createc                 C   sv   | j d}|j}|d|j|_|d|j|_|d|j|_|d|j|_|d|j|_|j|_	|
  |S )Nr+   r"   r(   r#   r&   r*   )r,   r-   r.   r"   r(   r#   r&   r*   r!   r   save)r3   r7   r4   r+   r5   r   r   r   update.   s   zSubDistrictSerializer.updateN)	r   r   r   r   SlugRelatedFieldr)   r   r2   r9   r   r   r   r   r%      s
    r%   N)masters.models.districtr   r   rest_frameworkr   hrms.models.userr   masters.models.stater   masters.serializers.baseuserr   r	   ModelSerializerr    r%   r   r   r   r   <module>   s    