B
    CDb                 @   sL   d dl mZ d dlmZ d dlmZ G dd dejZG dd dejZdS )	    )serializers)timezone)Discountc                   sB   e Zd Ze Zdd Zdd ZG dd dZ fddZ	  Z
S )	DiscountSerializerc             C   s   |j j}|S )N)create_userZusername)selfinstanceZcreate_user_name r	   JG:\easytimepro\master/mysite/cloud\api\serializers\discount_serializers.pyget_create_user_username
   s    z+DiscountSerializer.get_create_user_usernamec             C   sL   | d}| jj}|jj|d r.td|dks>|dk rHtd|S )Ndiscount_ratio)r   z$Discount ratio value already exists.g      ?g        z(Discount ratio must be in the range 0-1.)getMetamodelobjectsfilterexistsr   ValidationError)r   Zattrsr   model_classr	   r	   r
   validate   s    


zDiscountSerializer.validatec               @   s&   e Zd ZeZdddddgZddgZdS )zDiscountSerializer.MetaidZeffective_statusr   create_timecreate_user_usernamer   N)__name__
__module____qualname__r   r   fieldsread_only_fieldsr	   r	   r	   r
   r      s   r   c                sJ   d }| j d}|r$t|dr$|j}tj}||d< ||d< tt| |S )Nrequestuserr   r   )	contextr   hasattrr   r   Znowsuperr   create)r   Zvalidated_datar   r   r   )	__class__r	   r
   r#   !   s    zDiscountSerializer.create)r   r   r   r   ZSerializerMethodFieldr   r   r   r   r#   __classcell__r	   r	   )r$   r
   r      s
   r   c               @   s"   e Zd Zdd ZG dd dZdS )DiscountEditSerializerc             C   sN   || j jkrJ| jj}|jj|d r0td|dks@|dk rJtd|S )N)r   z$Discount ratio value already exists.g      ?g        z(Discount ratio must be in the range 0-1.)	r   r   r   r   r   r   r   r   r   )r   r   r   r	   r	   r
   validate_discount_ratio.   s    

z.DiscountEditSerializer.validate_discount_ratioc               @   s   e Zd ZeZdZddgZdS )zDiscountEditSerializer.Meta__all__r   r   N)r   r   r   r   r   r   r   r	   r	   r	   r
   r   8   s   r   N)r   r   r   r'   r   r	   r	   r	   r
   r&   ,   s   
r&   N)	Zrest_frameworkr   Zdjango.utilsr   Zmysite.cloud.modelsr   ZModelSerializerr   r&   r	   r	   r	   r
   <module>   s   %