a
    
ьc	                     @   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	 G dd dej
ZG dd	 d	ej
ZG d
d dej
Zeeeddd ZdS )    )models)	post_save)receiver)RichTextField)Userc                   @   s   e Zd ZejdddZejddZejddZeddZ	ej
dd	Zejd
d	Zej
dd	ZejddZejddZejdd	Zejd
d	Zdd ZdS )Plan   T)
max_lengthunique   )r	   Zawesome_ckeditor)Zconfig_name   defaultr      auto_now_addFc                 C   s   d| j  d| j S )Nzplan :z with paypal ID: )	plan_nameplan_idself r   YC:\Users\brahi\OneDrive\Desktop\New folder (10)\UseVoice\src\apps\subscriptions\models.py__str__   s    zPlan.__str__N)__name__
__module____qualname__r   	CharFieldr   	plan_typer   r   describeIntegerFieldduration_days
FloatFieldZpriceZvideos_per_dayZpaymentSourceDateTimeFieldcreatedBooleanFieldZyoutube_perm	file_sizer   r   r   r   r   r      s   
r   c                   @   s\   e Zd ZejddZejddZejddddZejddddZ	ejddddZ
dd Zd	S )
PaymentTr   auto_nowd   )r	   blanknull   c                 C   s
   t | jS N)strmodified_atr   r   r   r   r   "   s    zPayment.__str__N)r   r   r   r   r"   
created_atr/   r   ZtransactionIDZconversationIDZreference_nor   r   r   r   r   r&      s   r&   c                   @   s   e Zd ZejddZejddZejeej	dZ
ejeej	dZejddZejdddZejddZejddZejeejdZd	d
 Zdd ZdS )SubscriptionTr   r'   )	on_deleter)   )r	   r*   Fr   c                 C   s
   t | jS r-   )r.   r0   r   r   r   r   r   1   s    zSubscription.__str__c                 C   s   t | jjS r-   )r.   planr   r   r   r   r   get_plan_type3   s    zSubscription.get_plan_typeN)r   r   r   r   r"   r0   r/   
ForeignKeyr   PROTECTr3   OneToOneFieldr   user
start_timer   	ends_timer$   	is_activeZpaid_statusr&   CASCADEZpaymentr   r4   r   r   r   r   r1   &   s   r1   )senderc                 K   s>   |r:ddl m }m} t|j|t|jjd |_|  d S )Nr   )datetime	timedelta)days)	r>   r?   r.   r9   intr3   r    r:   save)r=   r#   instancekwargsr>   r?   r   r   r   set_endtime9   s    rE   N)	django.dbr   Zdjango.db.models.signalsr   django.dispatchr   Zckeditor.fieldsr   Zapps.accounts.modelsr   Modelr   r&   r1   rE   r   r   r   r   <module>   s   
