o
    Fg                     @   sp   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	 d dl
mZ edgdd	 Zedgd
d ZdS )    )api_view)Responsestatus)timezone)ReactivationRequest)ReactivationRequestSerializerPOSTc                 C   s   | j dkrAt| jd}| r9|jd }|jr0|jt  k r0t	j
j|d tdditjdS tdditjdS t|jtjdS d S )	Nr	   )datacustomer)r   message,Reactivation request submitted successfully.r   z2Customer account is not expired or already active.)methodr   r
   is_validvalidated_data
valid_uptor   nowdater   objectscreater   r   HTTP_201_CREATEDHTTP_400_BAD_REQUESTerrors)request
serializerr    r   A/var/www/rescue_company/customer_api/views/ractivation_request.pyreactivation_request
   s   

r   c                 C   s  | j dkr| jd}zWtjj|d}| jd|j}|jjjj	| j
j	krad|_t |_| j
|_| jd|j|_|j|jj| j
j| |j  | j
 j	t| j
j	j|j 7  _	| j
j	  W n tjyu   tdditjd	 Y S w tdd
itjd	S tdditjd	S )Nr	   reactivation_request_id)id	for_yearsTtransaction_idr   zReactivation request not found.r   r   zInvalid request.)r   r
   getr   r   r    r   batch
created_bycompanyuser	processedr   r   processed_dateprocessed_byr!   reactivate_userr   savefloatcost_per_qr_codeDoesNotExistr   r   HTTP_404_NOT_FOUNDr   r   )r   r   r   reactivate_for_yearsr   r   r   reactivate_account   s4   


 r1   N)rest_framework.decoratorsr   rest_framework.responser   rest_frameworkr   django.utilsr   customer_api.modelsr   6customer_api.serializers.ReactivationRequestSerializerr   r   r1   r   r   r   r   <module>   s    
