
     h`                    6   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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Zd dlmZ ddlT d dlmZmZmZ d dlmZ d dlmZ d dlT d dlmZ d d
l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' d d
l(m)Z) d d
l*Z*d d
l+Z+d d
l,Z,d dl-m.Z. d dl m/Z/ d dl0T d dl1T  G d de          Z2 G d de          Z3 G d de          Z4 G d d e          Z5 G d! d"e          Z6 G d# d$e          Z7 G d% d&e          Z8 G d' d(e          Z9 G d) d*e          Z: G d+ d,e          Z; G d- d.e          Z< e+j=        d/d0d1d2           d d3lmZ  G d4 d5e          Z> G d6 d7e          Z? G d8 d9e          Z@ G d: d;e          ZA G d< d=e          ZB G d> d?e          ZC G d@ dAe          ZD G dB dCe          ZE G dD dEe          ZF G dF dGe          ZG G dH dIe          ZH G dJ dKe          ZI G dL dMe          ZJ G dN dOe          ZK G dP dQe          ZL G dR dSe          ZM G dT dUe          ZN G dV dWe          ZO G dX dYe          ZP G dZ d[e          ZQ G d\ d]e          ZR G d^ d_e          ZS G d` dae          ZTd d
lZ G db dce          ZU G dd dee          ZV G df dge          ZW G dh die          ZX G dj dke          ZY G dl dme          ZZ G dn doe          Z[ G dp dqe          Z\d
S )r    )render)APIView)Responsestatus)datetime	timedelta)settings)RefreshToken)TokenBackend)get_authorization_headerN)
exceptions   )*)	PaginatorPageNotAnInteger	EmptyPage)Q)authenticated)date)render_to_string)mail)get_template)HttpResponse)EmailMessage)JsonResponse)redirectc                       e Zd Zd ZdS )addPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|                    d          }
|                    d	          }|                    d
          }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |
s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |	s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S t          j
                            |                                          }|r(t          t          j        ddt          j                  S t          j
                            |          }|
|_        ||_        ||_        |	|_        ||_        ||_        ||_        ||_        ||_        ||_        ||_        ||_        |                                 t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nmessager   	plan_nameplan_descriptionpricediscountpackage_typeplan_validitydigital_rental_contractnotifications_stakeholdersvisibility_among_adsvisibility_at_topinformation_of_local_areaproperty_count	tier_typeplan name is requiredstatus_codestatus_messageplan description is requiredprice is requiredplan validity is requiredtyre type is requiredzPackage type is requiredproperty count is requiredplanNamePlan name already in usePlan created successfully)r   	Exceptionr   strr   HTTP_401_UNAUTHORIZEDdatagetHTTP_400_BAD_REQUESTSubscriptionPlanobjectsfilterfirstcreateplanDurationDaysr$   r%   r&   descriptionr(   r)   r*   r+   r,   	tyre_typer-   saveHTTP_200_OKHTTP_500_INTERNAL_SERVER_ERROR)selfrequestuider?   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   rI   ifExistplanObjs                       5/var/www/html/Sam_Eipo/Eipo/subscription_api/views.pypostzaddPlan.post%   s   @	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D--I"hh'9::HHW%%E,,H88N33L HH_55M&*hh/H&I&I#)-2N)O)O&#'88,B#C#C  $)< = =(,1L(M(M%!XX&677N--I Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ] Yv/J\s t t  }C  }X  Y  Y  Y  Y \v/J\v w w  @F  @[  \  \  \  \! _ 0K]y!z!z  CI  C^  _  _  _  _ '.55y5IIOOQQG \v/J\v w w  @F  @[  \  \  \  \&.55y5IIG'4G$!GM'G#/G "2G.EG+1KG.+?G((9G%0IG- )G%3G"LLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xsv    N 
A)AAN AEN )N  )N *)N )N >)N ()N AN .B#N 
O4OOON__name__
__module____qualname__rT        rS   r   r   $   s-        AX AX AX AX AXrZ   r   c                       e Zd Zd ZdS )editPlanc                 p   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|                    d          }
|                    d	          }|                    d
          }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |
s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S t          j
                            |                              |          }|r(t          t          j        ddt          j                  S t          j
                            |                                          }||_        ||_        ||_        |	|_        |
|_        ||_        ||_        ||_        ||_        ||_        ||_        ||_        ||_        |                                 t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   idr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r.   r-   plan id is requiredr0   r/   r3   r4   r5   r6   zpackage type is requiredr7   r8   r^   r:   Plan updated successfully)r   r<   r   r=   r   r>   r?   r@   rA   rB   rC   rD   excluderE   r9   rG   r$   r%   r&   rH   r(   r)   r*   r+   r,   rI   r-   rJ   rK   rL   )rM   rN   rO   rP   r?   plan_idr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   rI   r-   rQ   rR   s                        rS   rT   zeditPlan.posti   s
   F	XX#G,, X X X3q66 2&:VWWWWWWWWWX<DhhtnnG--I"hh'9::HHW%%E,,H88N33L HH_55M&*hh/H&I&I#)-2N)O)O&#'88,B#C#C  $)< = =(,1L(M(M%--I!XX&677N Wv/J\q r r  {A  {V  W  W  W  W Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ] Yv/J\s t t  }C  }X  Y  Y  Y  Y \v/J\v w w  @F  @[  \  \  \  \! _ 0K]y!z!z  CI  C^  _  _  _  _ '.55y5IIQQU\Q]]G \v/J\v w w  @F  @[  \  \  \  \&.555AAGGIIG&G'4G$!GM'G#/G "2G.EG+1KG.+?G((9G%0IG- )G%3G"LLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xs|    O, 
A)AAO, AEO, +)O, )O, ?)O, ))O, )O, =)O, ')O, AO, /B<O, ,
P564P0*P50P5NrU   rY   rZ   rS   r\   r\   h   s-        GX GX GX GX GXrZ   r\   c                       e Zd Zd ZdS )changePlanStatusc                 "   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S t          j
                            |                                          }|r*|dk    rd|_        nd	|_        |                                 nt          t          j        d
d          S t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r^   r   r_   r0   r`   TFzInvalid plan idSuccess)r   r<   r   r=   r   r>   r?   r@   rA   rB   rC   rD   rE   rJ   rK   rL   rM   rN   rO   rP   r?   rc   status_datathePlans           rS   rT   zchangePlanStatus.post   s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<DhhtnnG((8,,K Wv/J\q r r  {A  {V  W  W  W  W %,33w3??EEGGG g$&&#'GNN#(GNv/ASd e efff6+=yYYZZZ 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XQ    E 
A)AAE AAE /A9E )E 
F4F	F	FNrU   rY   rZ   rS   re   re      (        X X X X XrZ   re   c                       e Zd Zd ZdS )planListingc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY wt          j                            d          }g }|D ]t}|j	        |j
        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        d}|                    |           ut          t          j        d|d          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)	Nr!   r   Tend_date__isnull)r^   r"   r'   r$   r#   r&   r   r.   r%   r(   r)   r*   r+   r,   r-   successr1   r2   r?   r0   )r   r<   r   r=   r   r>   rB   rC   rD   r^   r9   rG   r$   rH   r&   rI   r%   r(   r)   r*   r+   r,   r-   appendrK   rL   rM   rN   rO   rP   plan_objallDataplanall_datas           rS   r@   zplanListing.get   s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX'/666MMHG  ) )!%$($9 J'+'7#'#4![ $#}.2.J151P+/+D(,(>040N%)%8 " x((((6+=y`ghhiii 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsD    D
 
A)AAD
 AB8D
 

E4EEENrV   rW   rX   r@   rY   rZ   rS   ro   ro      (        X X X X XrZ   ro   c                       e Zd Zd ZdS )getplanDetailc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w| j        j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }|s(t          t          j	        ddt          j	                  S |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        d}t          t          j        d	|d
          S # t          $ rN}t;          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r^   r_   r0   r`   No plan found)r^   r"   r'   r$   r#   r(   r)   r*   r+   r,   r.   r&   r%   r-   rs   rt   )r   r<   r   r=   r   r>   rN   query_paramsr@   rA   rB   rC   rD   rE   r^   r9   rG   r$   rH   r(   r)   r*   r+   r,   rI   r&   r%   r-   rK   printrL   rM   rN   rO   rP   rc   rw   alldatas          rS   r@   zgetplanDetail.get   s-   	XX#G,, X X X3q66 2&:VWWWWWWWWWXl/33D99G Wv/J\q r r  {A  {V  W  W  W  W'/66'6BBHHJJH Qv/J\k l ltz  uP  Q  Q  Q  Q['0 ( 9 #+#7*2*J-5-P'/'D$,$>,4,N$.'4#,!)!8 G" 6+=y`ghhiii 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsS    E- 
A)AAE- AAE- AE- 9A3E- -
G7AG :G GNr{   rY   rZ   rS   r~   r~      (         X  X  X  X  XrZ   r~   c                       e Zd Zd ZdS )purchaseSubscriptionPlanc           	      T	   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S |st          dd	it          j                  S t          j        	                    |
          
                                }	t          j                                        }
|	j        dk    rt%          |	j                  dz  }nt%          |	j                  dz  }|
t          j        t%          |                    z   }t*          j        t.          _        t.          j                            t%          |          dz  d|d          }|r#t6          j        	                    |d          
                                }|rd|_        |                                 t6          j                            ||	|
|d          }d|_        |                                 t>          t@          tB          tD          tF          tH          tJ          g}|D ]7}|j        	                    |d          &                    |	j'                   8t          |j(                  t          |j)                  z   |j*        |j+        |j,        t          j        -                                |j.        j/        |j.        j0        |j.        j1        d}te          d          }|3                    |          }ti          d          }d|d<   tk          j6        ||           d }d!}t*          j7        }d"g}tq          ||||#          }|9                    d$|:                                d%           |;                                 t          t          j<        d&d          S # t          $ rN}t{          |           t          t          j>        t          |          dt          j>                  cY d }~S d }~ww xY w)'Nr!   r   usersubscription_idpayment_tokenr$    Subscription plan id is requiredr0   payment_token is requiredr`   monthly   m  daysd   usdPurchase SubscriptionamountcurrencysourcerH   Tcustomer_id	is_activeFcustomerry   sub_start_datesub_expiry_dater   
customerIdrr   subscription_typecustomer_namecustomer_addresscustomer_number
invoice_idinvoice_dater   subscription_namerH   eipo-invoice.htmlapplication/pdfcontent_typeattachment; filename="file.pdf"Content-DispositiondestInvoiceNYour subscription is purchased successfully.Please find attached your invoice.test132@yopmail.comsubjectbody
from_emailtofile.pdffilenamecontentmimetype#Subscription purchased successfully)?r   r<   r   r=   r   r>   r?   CustomerrC   rD   rE   r@   rA   rB   r   r   todayr&   intrG   r	   r
   STRIPE_SECRET_KEYstripeapi_keyChargerF   CustomersSubscriptionsr   rJ   has_subscriptionBussinessForSaleHouseWantedForRentInvestmentMyProjectInvestmentMyCompanyPropertyProjectSalePropertyRentPropertyupdaterI   	firstNamelastNameaddressphoneNumberr^   nowry   r$   r9   rH   r   r   r   pisa	CreatePDFEMAIL_HOST_USERr   attachgetvaluesendrK   r   rL   )rM   rN   rO   rP   r?   customerObjr   r   r$   sub_objr   expiry_datenew_datechargesub_datanew_dataadsadtemplatehtmlpdf_filer   r!   r   recipient_listemail_messages                             rS   rT   zpurchaseSubscriptionPlan.post  s?   K	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O HH_55MHHW%%E" dv/J\~    HN  Hc  d  d  d  d  l+F GvOjkkkk&.555IIOOQQGM''))E#y00!'":;;b@!'":;;cAx1s;7G7GHHHHH$6FN]))5zzC'$3	 *  F  (%19@@{ei@jjpprr $).H&MMOOO19@@+[bsx  JR  ]a@  b  b/3,  """');=PRegv  yE  GS  T A ABJ%%t%TT[[nun[  A  A  A  A *-[-B)C)Cc+J^F_F_)_s~  tG  Ze  Zq  G  J  [c  [l  [p  [p  [r  [r  }E  }J  }P  em  er  e{  JR  JW  Jc  d  d'(;<<t,, (5FGGG2S./t(3333#j%5
"7!8 ,# )%	! ! ! $$j(BSBSBUBU`q$rrr ""$$$6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsR    Q 
A)AAQ AB$Q 6Q L9Q 
R'AR"R'"R'NrU   rY   rZ   rS   r   r     s-        LX LX LX LX LXrZ   r   c                       e Zd Zd ZdS )mySubscriptionPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }t          j        	                    |                              d          }|s(t          t          j        ddt          j                  S g }|D ]}i d|j        d	|j        j        d
|j        j        d|j        d|j        d|j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        d|j        j        i}	|                    |	           t          t          j         d|d          S # t          $ rN}tC          |           t          t          j"        t          |          dt          j"                  cY d }~S d }~ww xY w)Nr!   r   r   r   -idNo active subscription found.r0   r^   rc   r"   r   r   r   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   rs   rt   )#r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r   order_byrA   r^   ry   r9   r   r   r   rH   r$   r%   r&   rG   r(   r)   r*   r+   r,   r-   ru   rK   r   rL   
rM   rN   rO   rP   r?   r   r   all_Datairz   s
             rS   r@   zmySubscriptionPlan.geta  s   %	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK,4;;[;QQZZ[`aaG av/J\{ | |  EK  E`  a  a  a  aH * *!$afi   %Q%5	
 &a&7   'qv'9 AFL qv #16#6 $AF$; .af.L 11R +16+F ((@  00P!" QV]#$ %QV%:% * ))))6+=y`hiijjj 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsL    G< 
A)AAG< ABG< *DG< <
IAI	IINr{   rY   rZ   rS   r   r   `  s(        &X &X &X &X &XrZ   r   c                       e Zd Zd ZdS )mySubscriptionPlanDetailsc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|s(t          t          j        ddt          j                  S |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        d	}t          t          j        d
|d          S # t          $ rN}t9          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   r   Subscription Id is requiredr0   r`   No subscription plan found)r^   r"   r'   r$   r#   r(   r)   r*   r+   r,   r   r%   r&   r-   rs   rt   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rB   r^   r9   rG   r$   rH   r(   r)   r*   r+   r,   r%   r&   r-   rK   r   rL   	rM   rN   rO   rP   r?   r   r   r   rz   s	            rS   r@   zmySubscriptionPlanDetails.get  sV   !	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D"*11s1;;AACCK"hh'899O" _v/J\y z z  CI  C^  _  _  _  _&.55/5JJPPRRG ^v/J\x y y  BH  B]  ^  ^  ^  ^Z$- ' 8#*#6*1*I-4-O'.'C$+$=,3,M "+&3!(!7 H" 6+=y`hiijjj 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsS    F 
A)AAF AA:F AF (A3F 
G4&AG/)G4/G4Nr{   rY   rZ   rS   r   r     s(        "X "X "X "X "XrZ   r   c                       e Zd Zd ZdS )subscriptionRenewc                 v   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|j        dk    r7t          j                                        }|t          j        d	
          z   }	nx|j        dk    r7t          j                                        }|t          j        d
          z   }	n6t          j                                        }|t          j        d
          z   }	|s(t          t          j        ddt          j                  S t&          j        	                    |          
                                }
||
_        ||
_        |	|
_        d|
_        |
                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r   r   r   r0   r`   30r   r   60<   Z   zNo subscription package foundr   Tz!Subscription renewed successfully)r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rB   rG   r   r   r   r	   r   ry   r   r   r   rJ   rK   r   rL   rM   rN   rO   rP   r?   r   r   subscription_objr   r   cust_subs              rS   rT   zsubscriptionRenew.post  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" _v/J\y z z  CI  C^  _  _  _  _/7>>/>RRXXZZ0D88 ++-- 8#52#>#>#>>!2d:: ++-- 8#52#>#>#>> ++-- 8#52#>#>#>># av/J\{ | |  EK  E`  a  a  a  a-5<<k<SSYY[[H,HM&+H#'/H$!%HMMOOO6+=Orssttt 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XS    I  
A)AAI  AA:I  DI  "A=I   
J8*AJ3-J83J8NrU   rY   rZ   rS   r   r     r   rZ   r   c                       e Zd Zd ZdS )deleteSubscriptionc                 >   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }d|_        |                                 t          t          j        dd          S # t          $ rN}t          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r   Frs   r0   r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r   rJ   rK   r   rL   rM   rN   rO   rP   r?   r   s         rS   rT   zdeleteSubscription.post  W   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK+0K(6+=yYYZZZ 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XE    C 
A)AAC AA2C 
DADDDNrU   rY   rZ   rS   r
  r
    (        X X X X XrZ   r
  c                       e Zd Zd ZdS )BuyBasicUserPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |d          
                                }t          j        	                    |	          
                                }t          j                                        }	|j        }
|	t          j        t)          |
          
          z   }|rd|_        |                                 t          j                            |||	|d          }d|_        |                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r   r   r   r0   Tr   r`   r   Fr   r   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r   rB   r   r   r   rG   r	   r   r   rJ   rF   r   rK   r   rL   rM   rN   rO   rP   r?   r   r   r   r   r   r   r   r   s                rS   rT   zBuyBasicUserPlan.post  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" dv/J\~    HN  Hc  d  d  d  d-5<<;ae<ffllnnH&.555IIOOQQGM''))E!2Kx1s;7G7GHHHHH  %*"-5<<kW^ot  FN  Y]<  ^  ^H+/K(6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XL    G3 
A)AAG3 AA:G3 D&G3 3
I=AI IINrU   rY   rZ   rS   r  r    (        X X X X XrZ   r  sandboxPAc7hv0w6SpPe3CDXaIVxk1pEwRL8b558GstnRM5IC43_tk7h9TFCKLkobbUXc2udA8Vblhy8AoYUlDxNzPEJNK3-Ur7oHlCiT7kY5BdMSLT1pvLKjG3BO2cTDJIp-VgFIQKq3ZBvknnncjejbKGySb4p5DLkD__tCA)mode	client_idclient_secret)r   c                       e Zd Zd ZdS )MakePaymentc           	      H   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|                    d          }|                    d          }|                    d          }	|                    d          }
t          j                    }t          |           |	r.t          j        	                    |		          
                                }t!          j        d
ddidt          |	          z   dz   t          |          z   dz   t          |          z   dt          |          z   dt%          |          ddddgd          }	 t%          |j                  }n# t(          $ r t%          d          }Y nw xY wt          j                    t+          |          z   }|                                rt.          j                            |||||d          }|dk    r]t0          j        	                    |	          
                                }d|_        ||_        ||_        |                                 nP|dk    r]t:          j        	                    |	          
                                }d|_        ||_        ||_        |                                 n|dk    r]t<          j        	                    |	          
                                }d|_        ||_        ||_        |                                 n|dk    r]t>          j        	                    |	          
                                }d|_        ||_        ||_        |                                 n'|dk    r\t@          j        	                    |	          
                                }d|_        ||_        ||_        |                                 n|d k    r\tB          j        	                    |	          
                                }d|_        ||_        ||_        |                                 nc|d!k    r\tD          j        	                    |	          
                                }d|_        ||_        ||_        |                                 n	 t          d"|j#        d#         j$        i          S t          d$d%it          j%                  S |
rtL          j        	                    |
	          
                                }t!          j        d
ddidt          |
          z   dz   t          |          z   dz   t          |          z   dt          |          z   dt%          |          ddddgd          }|                                r!t          d"|j#        d#         j$        i          S t          d$d%it          j%                  S d S # t          $ rN}t          |           t          t          j'        t          |          d&t          j'                  cY d }~S d }~ww xY w)'Nr!   r   r   r$   property_typeproperty_idrc   r   r`   salepayment_methodpaypalzFhttps://reeipo-new.vipankumar.in/user/payment-success?subscription_id=&customer_id=z&amount=z<https://reeipo-new.vipankumar.in/user/payment-failed?amount=
return_url
cancel_urlUSDtotalr   Payment for Subscriptionr   rH   intentpayerredirect_urlstransactionsr   r   T)r   ry   payment_dater!  r"  r   property_projectsale_propertyrent_propertyhouse_for_rentcompany_seeking_equitybussiness_for_saleproperty_developerpayment_urlr   errorPayment creation failedr0   )(r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   r   r   r   FeatureAddPricingpaypalrestsdkPaymentr   r   
ValueErrorr	   rF   CustomersFeatureAdsHistoryr   is_featuredfeature_planfeatured_end_daterJ   r   r   r   CompanySeekingEquityr   PropertyDeveloperslinkshrefrA   rB   rL   )rM   rN   rO   rP   r?   r   r$   r!  r"  rc   r   r   rw   paymentdays_to_add	last_dater   property_objs                     rS   rT   zMakePayment.post	  s   B	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAKHHW%%E88O44M-00KXXi((G!XX&788ON$$E%LLL  kn,4;;;IIOOQQ'/$(( &nnqrynznz%z  |K  &K  LO  PS  LT  LT  &T  U_  &_  `c  di  `j  `j  &j&dehineoeo&o& & ,/u::,1' ' ,F %1 1  &)"%hm"4"4KK! ) ) )"%a&&KKK)$N,,yk/J/J/JJ	>>## 4n9AHHR]ckz  O\  it  CH   D   DH$(:::'6'>'E'E;'E'W'W']']'_'_3704<19B6$))++++&/99'3';'B'B'B'T'T'Z'Z'\'\3704<19B6$))++++&/99'3';'B'B'B'T'T'Z'Z'\'\3704<19B6$))++++&*:::'9'A'H'Hk'H'Z'Z'`'`'b'b3704<19B6$))++++&*BBB';'C'J'JP['J'\'\'b'b'd'd3704<19B6$))++++&*>>>'7'?'F'FK'F'X'X'^'^'`'`3704<19B6$))++++&*>>>'9'A'H'Hk'H'Z'Z'`'`'b'b3704<19B6$))++++#]GM!4D4I$JKKK#W.G$HQWQlmmmm  n+3::o:NNTTVV'/$(( &nnq  sB  oC  oC  &C  DS  &S  TW  X[  T\  T\  &\  ]g  &g  hk  lq  hr  hr  &r&dehineoeo&o& & ,/u::,1' ' ,F %1 1  ( >>## n#]GM!4D4I$JKKK#W.G$HQWQlmmmm5n n:  	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xs}    Y	 
A)AAY	 AE4Y	 G Y	 G74Y	 6G77L4Y	 ,Y	 	C Y	 *Y	 	
Z!AZZ!Z!NrU   rY   rZ   rS   r  r    s-        CX CX CX CX CXrZ   r  c                       e Zd Zd ZdS )paymentSuccessPaypalc           	         	 | j         j                            d          }t          j                            |                                          }| j         j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }t          j                                        }|j        dk    rt          |j                  d	z  }nt          |j                  d
z  }|t          j        t          |                    z   }t$          j                            |d                                          }	|	rd|	_        |	                                 t$          j                            ||||d          }
d|_        |                                 t.          t0          t2          t4          t6          t8          t:          g}|D ]7}|j                            |d                              |j                   8tA          |j!                  tA          |j"                  z   |j#        |j$        |
j%        t          j        &                                |
j'        j(        |
j'        j)        |
j'        j*        d}tW          d          }|,                    |          }t[          d          }d|d<   t]          j/        ||           d}d}t`          j1        }dg}te          ||||          }|3                    d|4                                d           |5                                 tm          d          S # tn          $ rN}tq          |           t          t          j9        tA          |          dt          j9                  cY d }~S d }~ww xY w) Nr   r   r   r   r0   r   r`   r   r   r   r   Tr   Fr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   z<https://reeipo-new.vipankumar.in/user?paymentpalsuccess=true):rN   r   r@   r   rC   rD   rE   r   r   rA   rB   r   r   r   r&   r   rG   r	   r   r   rJ   rF   r   r   r   r   r   r   r   r   r   rI   r=   r   r   r   r   r^   r   ry   r$   r9   rH   r   r   r   r   r   r
   r   r   r   r   r   r   r<   r   rL   )rM   rN   r   r   r   r   r   r   r   r   r   r   r   r?   r   r   r   r   r!   r   r   r   rP   s                          rS   r@   zpaymentSuccessPaypal.get  sE   4	X,377FFK (//[/AAGGIIK"l7;;<MNNO" dv/J\~    HN  Hc  d  d  d  d&.555IIOOQQGM''))E#y00!'":;;b@!'":;;cAx1s;7G7GHHHHH-5<<;ae<ffllnnH  %*"-5<<kW^ot  FN  Y]<  ^  ^H+/K(#%79LNacr  uA  CO  PC } }
!![4!PPWWjqj{W||||%()>%?%?#kFZB[B[%[oz  pC  Va  Vm  {C  {F  W_  Wh  Wl  Wl  Wn  Wn  yA  yF  yL  ai  an  aw  FN  FS  F_  `  `D#$788H??4((D#1BCCCH.OH*+N4h////GfG!1J34N(%!	  M   *h>O>O>Q>Q\m nnn   [\\\  	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xs&   BM= K M= =
OAO
OONr{   rY   rZ   rS   rP  rP    s(        5X 5X 5X 5X 5XrZ   rP  c                       e Zd Zd ZdS )makePaymentVipsc           	         	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }t          j                                        }|j        }	|t          j        t'          |	                    z   }
t(          j        	                    |d	
          
                                }|rd|_        |                                 t(          j                            ||||
d	          }d	|_        |                                 t2          t4          t6          t8          t:          t<          t>          g}|D ]7}|j        	                    |d	                               |j!                   8t          |j"                  t          |j#                  z   |j$        |j%        |j&        t          j        '                                |j(        j)        |j(        j*        |j(        j+        d}tY          d          }|-                    |          }t]          d          }d|d<   t_          j0        ||           d}d}tb          j2        }dg}tg          ||||          }|4                    d|5                                d           |6                                 t          t          j7        dd          S # t          $ rN}tq          |           t          t          j9        t          |          dt          j9                  cY d }~S d }~ww xY w)Nr!   r   r   r   r   r0   r`   r   Tr   Fr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ):r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rB   r   r   r   rG   r	   r   r   r   rJ   rF   r   r   r   r   r   r   r   r   r   rI   r   r   r   r   r^   r   ry   r$   r9   rH   r   r   r   r   r   r
   r   r   r   r   r   rK   r   rL   )rM   rN   rO   rP   r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   s                          rS   rT   zmakePaymentVips.post)  sr   7	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" dv/J\~    HN  Hc  d  d  d  d&.555IIOOQQG M''))E!2Kx1s;7G7GHHHHH .5<<;ae<ffllnnH  %*"-5<<kW^ot  FN  Y]<  ^  ^H ,0K(#%79LNacr  uA  CO  PC } }
!![4!PPWWjqj{W||||%()>%?%?#kFZB[B[%[oz  pC  Va  Vm  {C  {F  W_  Wh  Wl  Wl  Wn  Wn  yA  yF  yL  ai  an  aw  FN  FS  F_  `  `D#$788H??4((D#1BCCCH.OH*+N4h////GfG!1J34N(%!	  M   *h>O>O>Q>Q\m nnn   6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsL    N 
A)AAN AA:N J:N 
OAOOONrU   rY   rZ   rS   rS  rS  (  s(        8X 8X 8X 8X 8XrZ   rS  c                       e Zd Zd ZdS )InitatePaymentc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|j                            d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|j        }|                    d          }	d	}
d
}d|
iddi|	|ddd}t          j        d||
|f          }|                                }|                    d          }t          t          j        |d          S # t          $ rN}t'          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r   r   r   r0   r`   orderIdYOUR_CLIENT_IDYOUR_CLIENT_SECRETmerchantSerialNumbermobileNumber12345678zPayment description)rY  r   transactionText)merchantInfocustomerInfotransactionz*https://api.vipps.no/paymentapi/v2/payment)jsonauthurl)r1   r?   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rB   r$   requestsrT   rc  rK   r   rL   rM   rN   rO   rP   r?   r   r   r   r   order_idvipps_client_idvipps_client_secretvipps_payment_requestvipps_response
vipps_data	vipps_urls                   rS   rT   zInitatePayment.poste  sm   )	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D"*11s1;;AACCK%l../@AAO" dv/J\~    HN  Hc  d  d  d  d&.555IIOOQQG]Fxx	**H.O"6 +O! #J!  ($'<   % %! &]+W^s  |K  M`  {a  b  b  bN',,..J"u--I6+=YOOPPP 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XL    F 
A)AAF AA?F B=F 
G'AG"G'"G'NrU   rY   rZ   rS   rV  rV  d  (        *X *X *X *X *XrZ   rV  c                       e Zd Zd ZdS )addAgencyPlanc                 T   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|s(t          t          j        dd	t          j                  S |s(t          t          j        d
d	t          j                  S |s(t          t          j        dd	t          j                  S |s(t          t          j        dd	t          j                  S |	s(t          t          j        dd	t          j                  S t          j
                            |                                          }
|
r(t          t          j        dd	t          j                  S t          j
                            |          }||_        ||_        ||_        |	|_        |                                 t          t          j        dd	          S # t          $ r?}t          t          j        t          |          d	t          j                  cY d }~S d }~ww xY w)Nr!   r   r"   r#   r$   r'   r.   r/   r0   r3   r4   r5   r6   r8   r:   r;   )r   r<   r   r=   r   r>   r?   r@   rA   AgencySubscriptionPlanrC   rD   rE   rF   rG   r$   rH   rI   rJ   rK   rL   )rM   rN   rO   rP   r?   r"   r#   r$   r'   rI   rQ   rR   s               rS   rT   zaddAgencyPlan.post  sM   $	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D--I"hh'9::HHW%%E HH_55M--I Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ] Yv/J\s t t  }C  }X  Y  Y  Y  Y -4;;Y;OOUUWWG \v/J\v w w  @F  @[  \  \  \  \,4;;Y;OOG'4G$!GM"2G )GLLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xj    I 
A)AAI ABI .)I )I )I ,)I AI 2A+I 
J'(4J"J'"J'NrU   rY   rZ   rS   rr  rr    s(        %X %X %X %X %XrZ   rr  c                       e Zd Zd ZdS )editAgencyPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|                    d          }
|                    d	          }|s(t          t          j        d
dt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S |	s(t          t          j        ddt          j                  S |
s(t          t          j        ddt          j                  S |s(t          t          j        ddt          j                  S t          j
                            |                              |          }|r(t          t          j        ddt          j                  S t          j
                            |                                          }|s(t          t          j        ddt          j                  S ||_        |	|_        ||_        ||_        |
|_        ||_        |                                 t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r^   r"   r#   r$   r'   r.   r-   r_   r0   r/   r3   r4   r5   r6   r7   r8   r`   r:   zPlan not foundra   )r   r<   r   r=   r   r>   r?   r@   rA   rt  rC   rD   rb   rE   HTTP_404_NOT_FOUNDr9   rG   r$   rH   rI   property_numberrJ   rK   rL   )rM   rN   rO   rP   r?   rc   r"   r#   r$   r'   rI   r-   rQ   rR   s                 rS   rT   zeditAgencyPlan.post  sL   1	XX#G,, X X X3q66 2&:VWWWWWWWWWX<DhhtnnG--I"hh'9::HHW%%E HH_55M--I!XX&677N Wv/J\q r r  {A  {V  W  W  W  W Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ] Yv/J\s t t  }C  }X  Y  Y  Y  Y! ^v/J\x y y  BH  B]  ^  ^  ^  ^ -4;;Y;OOWW[bWccG \v/J\v w w  @F  @[  \  \  \  \,4;;w;GGMMOOG 5#)#<&6! ! !35 5 5 5 'G'4G$!GM"2G )G&4G#LLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xs}    L( 
A)AAL( ACL( )L( )L( ,)L( )L(  )L( *)L( AL( 2AL( AL( (
M124M,&M1,M1NrU   rY   rZ   rS   rw  rw    s(        2X 2X 2X 2X 2XrZ   rw  c                       e Zd Zd ZdS )agencyChangePlanStatusc                 "   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S t          j
                            |                                          }|r*|dk    rd|_        nd	|_        |                                 nt          t          j        d
d          S t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wrg   )r   r<   r   r=   r   r>   r?   r@   rA   rt  rC   rD   rE   rJ   rK   rL   ri   s           rS   rT   zagencyChangePlanStatus.post     	XX#G,, X X X3q66 2&:VWWWWWWWWWX<DhhtnnG((8,,K Wv/J\q r r  {A  {V  W  W  W  W*299W9EEKKMMG g$&&#'GNN#(GNv/ASd e efff6+=yYYZZZ 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xrl   NrU   rY   rZ   rS   r|  r|    (        X X X X XrZ   r|  c                       e Zd Zd ZdS )agencyPlanListingc           
      X   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY wt          j                            d          }g }|D ]J}|j	        |j
        |j        |j        |j        |j        |j        |j        d}|                    |           Kt          t          j        d|d          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)	Nr!   r   Trq   )r^   r"   r'   r$   r#   r   r.   r-   rs   rt   r0   )r   r<   r   r=   r   r>   rt  rC   rD   r^   r9   rG   r$   rH   rI   rz  ru   rK   rL   rv   s           rS   r@   zagencyPlanListing.get  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX-5<<d<SSHG  ) )!%$($9 J'+'7![ $%)%9  x((((6+=y`ghhiii 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsD    C  
A)AAC  ABC   
D)*4D$D)$D)Nr{   rY   rZ   rS   r  r  
  rm   rZ   r  c                       e Zd Zd ZdS )agencyPlanDetailsc                 <   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w| j        j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }|s(t          t          j	        ddt          j	                  S |j        |j        |j        |j        |j        |j        |j        d}t          t          j        d	|d
          S # t          $ rN}t-          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r^   r_   r0   r`   r   )r^   r"   r'   r$   r#   r.   r-   rs   rt   )r   r<   r   r=   r   r>   rN   r   r@   rA   rt  rC   rD   rE   r^   r9   rG   r$   rH   rI   rz  rK   r   rL   r   s          rS   r@   zagencyPlanDetails.get&  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWXl/33D99G Wv/J\q r r  {A  {V  W  W  W  W-5<<<HHNNPPH Qv/J\k l ltz  uP  Q  Q  Q  Q[$- ( 9 #+#7$.!)!9 G 6+=y`ghhiii 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsS    E 
A)AAE AAE AE 9A	E 
FAFFFNr{   rY   rZ   rS   r  r  %  rm   rZ   r  c                       e Zd Zd ZdS )purchaseAgencySubscriptionPlanc           	         	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S |st          ddit          j                  S t          j        	                    |	          
                                }t          j                                        }	|j        }
|	t          j        t'          |
          
          z   }t(          j        t,          _        t,          j                            t'          |j                  dz  d|d          }|rt6          j        	                    |d          
                                }|rd|_        |                                 t6          j                            |||	|d          }d|_        |j        |_        |                                 t          |j                   t          |j!                  z   |j"        |j#        |j$        t          j        %                                |j&        j        |j&        j'        |j&        j(        d}tS          d          }|*                    |          }tW          d          }d|d<   tY          j-        ||           d}d}t(          j.        }dg}t_          ||||          }|0                    d|1                                d           |2                                 t          t          j3        d d          S # t          $ rN}ti          |           t          t          j5        t          |          dt          j5                  cY d }~S d }~ww xY w!Nr!   r   r   r   r   r   r0   r   r`   r   r   r   r   r   Tr   Fr   r   zeipo-agency-invoice.htmlr   r   r   r   r   r   r   r   r   r   r   r   )6r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rt  r   r   r   rG   r	   r   r
   r   r   r   r   rF   r$   AgencySubscriptionsr   rJ   r   can_add_property_countr   r   r   r   r^   r   ry   r9   rH   r   r   r   r   r   r   r   r   r   r   rK   r   rL   )rM   rN   rO   rP   r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   s                          rS   rT   z#purchaseAgencySubscriptionPlan.postA  s   A	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O HH_55M" dv/J\~    HN  Hc  d  d  d  d  l+F GvOjkkkk,4;;;OOUUWWGM''))E!2Kx1s;7G7GHHHHH$6FN]))7=))C/$3	 *  F  #%.6==Kbf=ggmmoo $).H&MMOOO.6=={X_pu  GO  Z^=  _  _/3,5<5S2  """ *-[-B)C)Cc+J^F_F_)_s~  tG  Ze  Zq  G  J  [c  [l  [p  [p  [r  [r  }E  }J  }P  em  er  e{  JR  JW  Jc  d  d'(BCCt,,'5FGGG2S./t(3333#j%5
"7!8 ,# )%	! ! ! $$j(BSBSBUBU`q$rrr""$$$6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XR    N2 
A)AAN2 ABN2 !N2  J1N2 2
P
<AP?P
P
NrU   rY   rZ   rS   r  r  @  s-        BX BX BX BX BXrZ   r  c                       e Zd Zd ZdS )agencyMySubscriptionPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }t          j        	                    |d                              d          }|s)t          t          j        dg dt          j                  S g }|D ]t}|j        |j        j        |j        j        |j        |j        |j        |j        j        |j        j        |j        j        |j        j        d	
}	|                    |	           ut          t          j        d
|d          S # t          $ rN}t1          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   True)r   r   r   r   rt   
r^   rc   r"   r   r   r   r#   r$   r'   r   rs   r0   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r  r   rK   r^   ry   r9   r   r   r   rH   r$   rG   ru   r   rL   r   s
             rS   r@   zagencyMySubscriptionPlan.get  s'   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK)188+X^8__hhinooG Yv/ASrz| } }  FL  FX  Y  Y  Y  YH * *$fi !%&%5&'&7 !'(v'9FL$%F$;V]  ))))6+=y`hiijjj 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsL    F 
A)AAF ABF ,BF 
GAGGGNr{   rY   rZ   rS   r  r    r|   rZ   r  c                       e Zd Zd ZdS )agencyMySubscriptionPlanDetailsc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|s(t          t          j        ddt          j                  S |j        |j        |j        |j        |j        |j        d	}t          t          j        d
|d          S # t          $ rN}t)          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   r   r   r0   r`   r   )r^   r"   r'   r$   r#   r   rs   rt   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  r^   r9   rG   r$   rH   rK   r   rL   r   s	            rS   r@   z#agencyMySubscriptionPlanDetails.get  s&   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D"*11s1;;AACCK"hh'899O" _v/J\y z z  CI  C^  _  _  _  _)188_8MMSSUUG ^v/J\x y y  BH  B]  ^  ^  ^  ^Z$- ' 8#*#6  H 6+=y`hiijjj 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsS    E, 
A)AAE, AA:E, AE, (AE, ,
G6AF?9G?GNr{   rY   rZ   rS   r  r    s(        X X X X XrZ   r  c                       e Zd Zd ZdS )agencySubscriptionRenewc                 v   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|j        dk    r7t          j                                        }|t          j        d	
          z   }	nx|j        dk    r7t          j                                        }|t          j        d
          z   }	n6t          j                                        }|t          j        d
          z   }	|s(t          t          j        ddt          j                  S t&          j        	                    |          
                                }
||
_        ||
_        |	|
_        d|
_        |
                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rt  rG   r   r   r   r	   r  ry   r   r   r   rJ   rK   r   rL   r  s              rS   rT   zagencySubscriptionRenew.post     	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" _v/J\y z z  CI  C^  _  _  _  _5=DDDXX^^``0D88 ++-- 8#52#>#>#>>!2d:: ++-- 8#52#>#>#>> ++-- 8#52#>#>#>># av/J\{ | |  EK  E`  a  a  a  a*299;9PPVVXXH,HM&+H#'/H$!%HMMOOO6+=Orssttt 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xr  NrU   rY   rZ   rS   r  r    r   rZ   r  c                       e Zd Zd ZdS )agencyDeleteSubscriptionc                 >   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }d|_        |                                 t          t          j        dd          S # t          $ rN}t          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr  r  r  s         rS   rT   zagencyDeleteSubscription.post  r  r  NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )BuyBasicAgencyPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |d          
                                }t          j        	                    |	          
                                }t          j                                        }	|j        }
|	t          j        t)          |
          
          z   }|rd|_        |                                 t          j                            |||	|d          }d|_        |                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr  )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  rt  r   r   r   rG   r	   r   r   rJ   rF   r   rK   r   rL   r  s                rS   rT   zBuyBasicAgencyPlan.post     	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" dv/J\~    HN  Hc  d  d  d  d*299^b9cciikkH,4;;;OOUUWWGM''))E!2Kx1s;7G7GHHHHH  %*"*299;T[lq  CK  VZ9  [  [H+/K(6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xr  NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )agencyMakePaymentc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }t          j        dd	d
idt          |          z   dz   t          |          z   dd|j        ddddgd          }|                                r!t          d|j        d         j        i          S t          ddit          j                  S # t          $ rN}t)          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   r   r   r0   r`   r#  r$  r%  zZhttp://54.225.243.254:9007/subscription-api/agency-payment-success-paypal?subscription_id=r&  http://vipankumar.in:4016/r'  r*  r+  r-  r.  r/  r<  r   r=  r>  )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rt  r@  rA  r$   rF   rI  rJ  r   rL   	rM   rN   rO   rP   r?   r   r   r   rK  s	            rS   rT   zagencyMakePayment.post     &	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O" dv/J\~    HN  Hc  d  d  d  d,4;;;OOUUWWG#+ $h "~  B  CR  S  S  "S  Tc  "c  dg  hk  dl  dl  "l">" " &-](-# # (B !- -  G( ~~ ja0@0E FGGG*C DVMhiiii 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XR    F 
A)AAF AA:F B3F  F 
G5'AG0*G50G5NrU   rY   rZ   rS   r  r    (        'X 'X 'X 'X 'XrZ   r  c                       e Zd Zd ZdS )agencyPaymentSuccessPaypalc           	      ~   	 | j         j                            d          }t          j                            |                                          }| j         j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }t          j                                        }|j        }|t          j        t!          |                    z   }t"          j                            |d	
                                          }	|	rd|	_        |	                                 t"          j                            ||||d	          }
d	|_        |                                 t-          |j                  t-          |j                  z   |j        |j        |
j        t          j                                        |
j        j        |
j        j        |
j        j         d}tC          d          }|"                    |          }tG          d          }d|d<   tI          j%        ||           d}d}tL          j'        }dg}tQ          ||||          }|)                    d|*                                d           |+                                 tY          d          S # tZ          $ rN}t]          |           t          t          j/        t-          |          dt          j/                  cY d }~S d }~ww xY wNr   r   r   r   r0   r   r`   r   Tr   Fr   r   r   r   r   r   r   r   r   r   r   r   r   r   z0http://vipankumar.in:4016?paymentpalsuccess=true)0rN   r   r@   r   rC   rD   rE   r   r   rA   rt  r   r   r   rG   r	   r   r  r   rJ   rF   r   r=   r   r   r   r   r^   r   ry   r$   r9   rH   r   r   r   r   r   r
   r   r   r   r   r   r   r<   r   rL   rM   rN   r   r   r   r   r   r   r   r   r   r?   r   r   r   r   r!   r   r   r   rP   s                        rS   r@   zagencyPaymentSuccessPaypal.get?  s   .	X,377FFK (//[/AAGGIIK"l7;;<MNNO" dv/J\~    HN  Hc  d  d  d  d,4;;;OOUUWWGM''))E!2Kx1s;7G7GHHHHH*299^b9cciikkH  %*"*299;T[lq  CK  VZ9  [  [H+/K(%()>%?%?#kFZB[B[%[oz  pC  Va  Vm  {C  {F  W_  Wh  Wl  Wl  Wn  Wn  yA  yF  yL  ai  an  aw  FN  FS  F_  `  `D#$788H??4((D#1BCCCH.OH*+N4h////GfG!1J34N(%!	  M   *h>O>O>Q>Q\m nnn   OPPP  	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	X&   BK$ IK$ $
L<.AL71L<7L<Nr{   rY   rZ   rS   r  r  >  s(        /X /X /X /X /XrZ   r  c                       e Zd Zd ZdS )agencyInitatePaymentc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|j                            d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|j        }|                    d          }	d	}
d
}d|
iddi|	|ddd}t          j        d||
|f          }|                                }|                    d          }t          t          j        |d          S # t          $ rN}t'          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wrX  )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   rt  r$   rf  rT   rc  rK   r   rL   rg  s                   rS   rT   zagencyInitatePayment.postr  sm   )	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D"*11s1;;AACCK%l../@AAO" dv/J\~    HN  Hc  d  d  d  d,4;;;OOUUWWG]Fxx	**H.O"6 +O! #J!  ($'<   % %! &]+W^s  |K  M`  {a  b  b  bN',,..J"u--I6+=YOOPPP 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xro  NrU   rY   rZ   rS   r  r  q  rp  rZ   r  c                       e Zd Zd ZdS )addLawyerPlanc                 T   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|s(t          t          j        dd	t          j                  S |s(t          t          j        d
d	t          j                  S |s(t          t          j        dd	t          j                  S |s(t          t          j        dd	t          j                  S |	s(t          t          j        dd	t          j                  S t          j
                            |                                          }
|
r(t          t          j        dd	t          j                  S t          j
                            |          }||_        ||_        ||_        |	|_        |                                 t          t          j        dd	          S # t          $ r?}t          t          j        t          |          d	t          j                  cY d }~S d }~ww xY w)Nr!   r   r"   r#   r$   r'   total_contractr/   r0   r3   r4   r5   total contract is requiredr8   r:   r;   )r   r<   r   r=   r   r>   r?   r@   rA   LawyerSubscriptionPlanrC   rD   rE   rF   rG   r$   rH   r  rJ   rK   rL   )rM   rN   rO   rP   r?   r"   r#   r$   r'   r  rQ   rR   s               rS   rT   zaddLawyerPlan.post  sL   #	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D--I"hh'9::HHW%%E HH_55M!XX&677N Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ]! ^v/J\x y y  BH  B]  ^  ^  ^  ^,4;;Y;OOUUWWG \v/J\v w w  @F  @[  \  \  \  \,4;;Y;OOG'4G$!GM"2G%3G"LLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xru  NrU   rY   rZ   rS   r  r    s(        $X $X $X $X $XrZ   r  c                       e Zd Zd ZdS )editLawyerPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|                    d          }|                    d          }|                    d          }	|                    d          }
|s(t          t          j        d	d
t          j                  S |s(t          t          j        dd
t          j                  S |s(t          t          j        dd
t          j                  S |s(t          t          j        dd
t          j                  S |	s(t          t          j        dd
t          j                  S |
s(t          t          j        dd
t          j                  S t          j
                            |                              |          }|r(t          t          j        dd
t          j                  S t          j
                            |                                          }||_        |	|_        ||_        ||_        |
|_        |                                 t          t          j        dd
          S # t          $ r?}t          t          j        t          |          d
t          j                  cY d }~S d }~ww xY w)Nr!   r   r^   r"   r#   r$   r'   r  r_   r0   r/   r3   r4   r5   r  r8   r`   r:   ra   )r   r<   r   r=   r   r>   r?   r@   rA   r  rC   rD   rb   rE   r9   rG   r$   rH   r  rJ   rK   rL   )rM   rN   rO   rP   r?   rc   r"   r#   r$   r'   r  rQ   rR   s                rS   rT   zeditLawyerPlan.post  s   '	XX#G,, X X X3q66 2&:VWWWWWWWWWX<DhhtnnG--I"hh'9::HHW%%E HH_55M!XX&677N Wv/J\q r r  {A  {V  W  W  W  W Yv/J\s t t  }C  }X  Y  Y  Y  Y# `v/J\z { {  DJ  D_  `  `  `  ` Uv/J\o p px~  yT  U  U  U  U  ]v/J\w x x  AG  A\  ]  ]  ]  ]! ^v/J\x y y  BH  B]  ^  ^  ^  ^,4;;Y;OOWW[bWccG \v/J\v w w  @F  @[  \  \  \  \,4;;w;GGMMOOG&G'4G$!GM"2G%3G"LLNNN6+=Ojkklll 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xsp    J8 
A)AAJ8 AB1J8 )J8 -)J8 )J8 )J8 +)J8 AJ8 3BJ8 8
L4K<6L<LNrU   rY   rZ   rS   r  r    s(        (X (X (X (X (XrZ   r  c                       e Zd Zd ZdS )lawyerChangePlanStatusc                 "   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S t          j
                            |                                          }|r*|dk    rd|_        nd	|_        |                                 nt          t          j        d
d          S t          t          j        dd          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wrg   )r   r<   r   r=   r   r>   r?   r@   rA   r  rC   rD   rE   rJ   rK   rL   ri   s           rS   rT   zlawyerChangePlanStatus.post  r~  rl   NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )lawyerPlanListingc           	      L   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY wt          j                            d          }g }|D ]D}|j	        |j
        |j        |j        |j        |j        |j        d}|                    |           Et          t          j        d|d          S # t          $ r?}t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)	Nr!   r   Trq   )r^   r"   r'   r$   r#   r   r  rs   rt   r0   )r   r<   r   r=   r   r>   r  rC   rD   r^   r9   rG   r$   rH   r  ru   rK   rL   rv   s           rS   r@   zlawyerPlanListing.get  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWX-5<<d<SSHG  
) 
)!%$($9 J'+'7![%)%8  x((((6+=y`ghhiii 	X 	X 	X6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsD    C 
A)AAC ABC 
D#$4DD#D#Nr{   rY   rZ   rS   r  r    s(        X X X X XrZ   r  c                       e Zd Zd ZdS )lawyerPlanDetailsc                 0   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w| j        j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }|s(t          t          j	        ddt          j	                  S |j        |j        |j        |j        |j        |j        d}t          t          j        d	|d
          S # t          $ rN}t+          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wNr!   r   r^   r_   r0   r`   r   )r^   r"   r'   r$   r#   r  rs   rt   )r   r<   r   r=   r   r>   rN   r   r@   rA   r  rC   rD   rE   r^   r9   rG   r$   rH   r  rK   r   rL   r   s          rS   r@   zlawyerPlanDetails.get'  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWXl/33D99G Wv/J\q r r  {A  {V  W  W  W  W-5<<<HHNNPPH Qv/J\k l ltz  uP  Q  Q  Q  Q['0 ( 9 #+#7!)!8 G 6+=y`ghhiii 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XS    D= 
A)AAD= AAD= AD= 9AD= =
FAF
FFNr{   rY   rZ   rS   r  r  &  (        X X X X XrZ   r  c                       e Zd Zd ZdS )purchaselawyerSubscriptionPlanc           	         	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|                    d          }|s(t          t          j        ddt          j                  S |st          ddit          j                  S t          j        	                    |	          
                                }t          j                                        }	t!          |j                  }
|	t          j        |

          z   }t&          j        t*          _        t*          j                            t!          |j                  dz  d|d          }|rt4          j        	                    |d          
                                }|rd|_        |                                 t4          j                            |||	|d          }d|_        |j        |_        |                                 t          |j                   t          |j!                  z   |j"        |j#        |j$        t          j        %                                |j&        j        |j&        j'        |j&        j(        d}tS          d          }|*                    |          }tW          d          }d|d<   tY          j-        ||           d}d}t&          j.        }dg}t_          ||||          }|0                    d|1                                d           |2                                 t          t          j3        d d          S # t          $ rN}ti          |           t          t          j5        t          |          dt          j5                  cY d }~S d }~ww xY wr  )6r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  r   r   r   rG   r	   r
   r   r   r   r   rF   r$   LawyerSubscriptionsr   rJ   r   total_hiring_requeststotal_hire_countr   r   r   r   r^   r   ry   r9   rH   r   r   r   r   r   r   r   r   r   r   rK   r   rL   )rM   rN   rO   rP   r?   r   r   r   r   r   expiry_daysr   r   r   r   r   r   r   r   r!   r   r   r   s                          rS   rT   z#purchaselawyerSubscriptionPlan.postC  s   <	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK"hh'899O HH_55M" dv/J\~    HN  Hc  d  d  d  d  l+F GvOjkkkk,4;;;OOUUWWG"+1133Eg677K("4+"F"F"FFH$6FN]))7=))C/$3	 *  F  %.6==Kbf=ggmmoo $).H&MMOOO.6=={X_pu  GO  Z^=  _  _/3,/7/M,  """),[-B)C)Cc+J^F_F_)_s~  tG  Ze  Zq  G  J  [c  [l  [p  [p  [r  [r  }E  }J  }P  em  er  e{  JR  JW  Jc  d  d'(BCCt,,'5FGGG2S./t(3333#j%5
"7!8 ,# )%	! ! ! $$j(BSBSBUBU`q$rrr""$$$6+=Otuuvvv 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xr  NrU   rY   rZ   rS   r  r  B  s(        =X =X =X =X =XrZ   r  c                       e Zd Zd ZdS )lawyerMySubscriptionPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }t          j        	                    |                              d          }|s(t          t          j        ddt          j                  S g }|D ]t}|j        |j        j        |j        j        |j        |j        |j        |j        j        |j        j        |j        j        |j        j        d
}	|                    |	           ut          t          j        d	|d
          S # t          $ rN}t3          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   r   r   r   r0   r  rs   rt   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r  r   rA   r^   ry   r9   r   r   r   rH   r$   rG   ru   rK   r   rL   r   s
             rS   r@   zlawyerMySubscriptionPlan.get  s!   	XX#G,, X X X3q66 2&:VWWWWWWWWWX<D (//S/99??AAK)188+8NNWWX]^^G av/J\{ | |  EK  E`  a  a  a  aH * *$fi !%&%5&'&7 !'(v'9FL$%F$;V]  ))))6+=y`hiijjj 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	XsL    F  
A)AAF  ABF  *BF   
G
AGGGNr{   rY   rZ   rS   r  r    r|   rZ   r  c                       e Zd Zd ZdS )lawyerMySubscriptionPlanDetailsc                 0   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w| j        j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }|s(t          t          j	        ddt          j	                  S |j        |j        |j        |j        |j        |j        d}t          t          j        d	|d
          S # t          $ rN}t+          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr  )r   r<   r   r=   r   r>   rN   r   r@   rA   r  rC   rD   rE   r^   r9   rG   r$   rH   r  rK   r   rL   r   s          rS   r@   z#lawyerMySubscriptionPlanDetails.get  s   	XX#G,, X X X3q66 2&:VWWWWWWWWWXl/33D99G Wv/J\q r r  {A  {V  W  W  W  W*299W9EEKKMMH Qv/J\k l ltz  uP  Q  Q  Q  Q['0 ( 9 #+#7!)!8 G 6+=y`ghhiii 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xr  Nr{   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )lawyerSubscriptionRenewc                 v   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }|j        dk    r7t          j                                        }|t          j        d	
          z   }	nx|j        dk    r7t          j                                        }|t          j        d
          z   }	n6t          j                                        }|t          j        d
          z   }	|s(t          t          j        ddt          j                  S t&          j        	                    |          
                                }
||
_        ||
_        |	|
_        d|
_        |
                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr   )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  rG   r   r   r   r	   r  ry   r   r   r   rJ   rK   r   rL   r  s              rS   rT   zlawyerSubscriptionRenew.post  r  r  NrU   rY   rZ   rS   r  r    r   rZ   r  c                       e Zd Zd ZdS )lawyerDeleteSubscriptionc                 >   	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }d|_        |                                 t          t          j        dd          S # t          $ rN}t          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr  r  r  s         rS   rT   zlawyerDeleteSubscription.post  r  r  NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )BuyBasicLawyerPlanc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |d          
                                }t          j        	                    |	          
                                }t          j                                        }	|j        }
|	t          j        t)          |
          
          z   }|rd|_        |                                 t          j                            |||	|d          }d|_        |                                 t          t          j        dd          S # t          $ rN}t5          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY wr  )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  r  r   r   r   rG   r	   r   r   rJ   rF   r   rK   r   rL   r  s                rS   rT   zBuyBasicLawyerPlan.post  r  r  NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )lawyerMakePaymentc                    	 	 t          |          }nA# t          $ r4}t          dt          |          it          j                  cY d }~S d }~ww xY w|j        }t          j        	                    |          
                                }|                    d          }|s(t          t          j        ddt          j                  S t          j        	                    |          
                                }t          j        dd	d
idt          |          z   dz   t          |          z   dd|j        ddddgd          }|                                r!t          d|j        d         j        i          S t          ddit          j                  S # t          $ rN}t)          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)Nr!   r   r   r   r   r0   r`   r#  r$  r%  zZhttp://54.225.243.254:9007/subscription-api/lawyer-payment-success-paypal?subscription_id=r&  r  r'  r*  r+  r-  r.  r/  r<  r   r=  r>  )r   r<   r   r=   r   r>   r?   r   rC   rD   rE   r@   rA   r  r@  rA  r$   rF   rI  rJ  r   rL   r  s	            rS   rT   zlawyerMakePayment.post  r  r  NrU   rY   rZ   rS   r  r    r  rZ   r  c                       e Zd Zd ZdS )lawyerPaymentSuccessPaypalc           	      ~   	 | j         j                            d          }t          j                            |                                          }| j         j                            d          }|s(t          t          j	        ddt          j	                  S t          j                            |                                          }t          j                                        }|j        }|t          j        t!          |                    z   }t"          j                            |d	
                                          }	|	rd|	_        |	                                 t"          j                            ||||d	          }
d	|_        |                                 t-          |j                  t-          |j                  z   |j        |j        |
j        t          j                                        |
j        j        |
j        j        |
j        j         d}tC          d          }|"                    |          }tG          d          }d|d<   tI          j%        ||           d}d}tL          j'        }dg}tQ          ||||          }|)                    d|*                                d           |+                                 tY          d          S # tZ          $ rN}t]          |           t          t          j/        t-          |          dt          j/                  cY d }~S d }~ww xY wr  )0rN   r   r@   r   rC   rD   rE   r   r   rA   r  r   r   r   rG   r	   r   r  r   rJ   rF   r   r=   r   r   r   r   r^   r   ry   r$   r9   rH   r   r   r   r   r   r
   r   r   r   r   r   r   r<   r   rL   r  s                        rS   r@   zlawyerPaymentSuccessPaypal.get?  s   ,	X,377FFK (//[/AAGGIIK"l7;;<MNNO" dv/J\~    HN  Hc  d  d  d  d,4;;;OOUUWWGM''))E!2Kx1s;7G7GHHHHH*299^b9cciikkH  %*"*299;T[lq  CK  VZ9  [  [H+/K(%()>%?%?#kFZB[B[%[oz  pC  Va  Vm  {C  {F  W_  Wh  Wl  Wl  Wn  Wn  yA  yF  yL  ai  an  aw  FN  FS  F_  `  `D#$788H??4((D#1BCCCH.OH*+N4h////GfG!1J34N(%!	  M   *h>O>O>Q>Q\m nnn   OPPP 	X 	X 	X!HHH6+Pbefgbhbhiiqw  rW  X  X  X  X  X  X  X  X  X	Xr  Nr{   rY   rZ   rS   r  r  >  s(        -X -X -X -X -XrZ   r  )]django.shortcutsr   rest_framework.viewsr   rest_framework.responser   rest_frameworkr   r   r	   django.confr
   rest_framework_simplejwt.tokensr   !rest_framework_simplejwt.backendsr   rest_framework.authenticationr   jwtr   modelsdjango.core.paginatorr   r   r   django.db.modelsr   customer_api.authenticationr   customer_api.modelsr   django.template.loaderr   django.corer   r   django.http.responser   django.core.mailr   xhtml2pdf.pisar   r   r@  rf  django.httpr   r   agency_panel.modelslawyer_panel.modelsr   r\   re   ro   r~   r   r   r   r   r
  r  	configurer  rP  rS  rV  rr  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rY   rZ   rS   <module>r     s
   # # # # # # ( ( ( ( ( ( , , , , , , ! ! ! ! ! ! ' ' ' ' ' ' ' '             8 8 8 8 8 8 : : : : : : B B B B B B 



 % % % % % %     H H H H H H H H H H       5 5 5 5 5 5 ! ! ! !        3 3 3 3 3 3       / / / / / / - - - - - - ) ) ) ) ) )             $ $ $ $ $ $ % % % % % % ! ! ! ! ! ! ! !
BX BX BX BX BXg BX BX BXHHX HX HX HX HXw HX HX HXTX X X X Xw X X X6X X X X X' X X X@!X !X !X !X !XG !X !X !XHMX MX MX MX MXw MX MX MX^'X 'X 'X 'X 'X 'X 'X 'XR#X #X #X #X #X #X #X #XJ!X !X !X !X !X !X !X !XFX X X X X X X X"X X X X Xw X X X<  cg          DX DX DX DX DX' DX DX DXL6X 6X 6X 6X 6X7 6X 6X 6Xt9X 9X 9X 9X 9Xg 9X 9X 9Xx+X +X +X +X +XW +X +X +X^&X &X &X &X &XG &X &X &XR3X 3X 3X 3X 3XW 3X 3X 3XjX X X X XW X X X2X X X X X X X X6X X X X X X X X6CX CX CX CX CXW CX CX CXJX X X X Xw X X X@X X X X Xg X X X8!X !X !X !X !Xg !X !X !XFX X X X Xw X X X X X X X X X X X<(X (X (X (X (X (X (X (XX0X 0X 0X 0X 0X 0X 0X 0Xf+X +X +X +X +X7 +X +X +X\%X %X %X %X %XG %X %X %XR)X )X )X )X )XW )X )X )XVX X X X XW X X X4X X X X X X X X2X X X X X X X X4 >X >X >X >X >XW >X >X >XBX X X X Xw X X XBX X X X Xg X X X6!X !X !X !X !Xg !X !X !XHX X X X Xw X X X&X X X X X X X X<(X (X (X (X (X (X (X (XT.X .X .X .X .X .X .X .X .X .XrZ   