
    Lh                    F   d dl mZ d dlmZ d dlmZ d dlZddlT d dlZd dl	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Zd dl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Zd dl m!Z! d dl T d dl"m#Z#m$Z$m%Z% d dl&T d dl'm(Z( d dl)Z)d dl*m+Z+ d dl,T d dl*m-Z- d dl.Z.d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dlm5Z5 d dl*m6Z6  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< G d& d'e          Z= G d( d)e          Z> G d* d+e          Z? G d, d-e          Z@ G d. d/e          ZA G d0 d1e          ZB G d2 d3e          ZC G d4 d5e          ZD G d6 d7e          ZE G d8 d9e          ZF G d: d;e          ZG G d< d=e          ZH G d> d?e          ZI G d@ dAe          ZJ G dB dCe          ZK G dD dEe          ZL G dF dGe          ZM G dH dIe          ZN G dJ dKe          ZO G dL dMe          ZP G dN dOe          ZQ G dP dQe          ZR G dR dSe          ZS G dT dUe          ZT G dV dWe          ZU G dX dYe          ZV G dZ d[e          ZW G d\ d]e          ZXd dl*m6Z6  G d^ d_e          ZY G d` dae          ZZ G db dce          Z[ G dd dee          Z\ G df dge          Z] G dh die          Z^ G dj dke          Z_ G dl dme          Z` G dn doe          ZadS )p    )APIView)ResponsestatusN   )*)datetime)settings)django_pbkdf2_sha256)authenticate)render_to_string)mail)EmailMultiAlternatives)User)RefreshToken)
Categories)	PaginatorPageNotAnInteger	EmptyPage)get_authorization_header)Q)Count)authenticated)IsAuthenticated)now)serializers)Sumc                       e Zd Zd ZdS )getPropertyProjectc                 z   	 	 t          |          }n# t          $ r}d }Y d }~nd }~ww xY wt          j                            |                                          }| j        j                            d          }| j        j                            d          }| j        j                            d          }|j	                            d          }| j        j                            d          }	| j        j                            d          }
| j        j                            d          }| j        j                            d	          }| j        j                            d
          }| j        j                            d          }|j	                            d          }|j	                            d          }|j	                            d          |j	                            d          }|dk    rt                      }|r.|                    t          |          t          j                   |
r0|                    t          |	|
f          t          j                   |r0|                    t          ||f          t          j                   |r.|                    t          |          t          j                   |dk    rJt          j                            |dd                              d                              |          }n|dk    rJt          j                            |dd                              d                              |          }nt          j                            |dd                              d                              |          }nPt          j                            dd                              d                              |          d d         }g }|D ]7}t           j                            |j        |                                          }|rd}nd}|j        dk    rd }n|j        dk    rd!}nd"}i d|j        d#|j        j        d$|j        j        d%z   |j        j        z   d&|j        d'|j        d(|j        d)|j        d*|j        d+|j        d,|j        d-|j        rD|j                                        r+t?          j         |j                                                  ng d.|j!        d/|j"        d|j#        d0|j$        d1|j%        d2|j&        i d3|j'        d4|j(        d5|j)        d6|j*        d7|j+        d|j,        d8|j-        d9|j.        d:|j/        rD|j/                                        r+t?          j         |j/                                                  ng d;|j0        rD|j0                                        r+t?          j         |j0                                                  ng d<|j1        d=|j2        d>|j3        d?|j4        d@|j5        dA|j6        dB|j7        |j8        |j9        |j:        |j;        |j<        |j=        |j>        |j?        |j9        |j@        |jA        ||dC}|B                    |           |dk    rurfdD|D             }|dEk    rt          |dF G          }n|dHk    rt          |dI dJ          }|dk    rt          |dK G          }|dLk    rt          |dM dJ          }9t          t$          jE        dN|dOt$          jE        P          S # t          $ r?}t          t$          jF        t          |          dQt$          jF        P          cY d }~S d }~ww xY w)RNuser	sort_datafilter_datalocationidreturn_on_investment_startreturn_on_investment_endcashflow_pcm_startcashflow_pcm_endfinder_fees_startfinder_fees_end
sort_pricesort_upload_datesubscription_tyrecategorytrue)town__icontains)return_on_investment__range)cashflow_pcm__range)category__icontainsNewestTr   end_date__isnullr   -idr&   oldest
   )property
customerIdFr   PendingApprovedDisapprovedcustomer_idfullname spend_too_much_timemost_useless_skillfun_act	biographyshort_titleproperty_overviewproperty_description
image_datavideosproperty_documentproperty_nameproperty_dimensioncountrystatecitypostal_codelandmarkhouse_numberlatitude	longitudefacilitybenefitsreturn_on_investment
finder_feegross_incomepricecashflow_pcmtotal_termination_feepurchase_price)potential_cashflow_pcminvestment_finder_fee#investment_return_on_investment_feerental
the_visioncost_to_considercapital_requiredcashflow_forecastrc   rent_to_landlordbill_utilitiesr   	favouritec                 F    g | ]}|d          t                    k    |S subscription_typeint.0datar/   s     ./var/www/html/Sam_Eipo/Eipo/panel_api/views.py
<listcomp>z*getPropertyProject.get.<locals>.<listcomp>   2    aaa$T2E-F#N_J`J`-`-`-`-`-`    	ascendingc                     | d         S Nfilter_price xs    ru   <lambda>z(getPropertyProject.get.<locals>.<lambda>       a.? rx   key	desendingc                     | d         S r{   r}   r~   s    ru   r   z(getPropertyProject.get.<locals>.<lambda>   r   rx   r   reversec                     | d         S Ncreated_dater}   r~   s    ru   r   z(getPropertyProject.get.<locals>.<lambda>   r   rx   latestc                     | d         S r   r}   r~   s    ru   r   z(getPropertyProject.get.<locals>.<lambda>   r   rx   Fetched successfullystatus_codestatus_messagert   r   r   message)Hr   	ExceptionCustomerobjectsfilterfirstrequestquery_paramsgetGETr   addANDPropertyProjectorder_byexcludePropertyProjectFavouriter&   r   r>   	firstNamelastNamerE   rF   rG   rH   rI   rJ   rK   rL   stripastliteral_evalrM   rN   r0   rO   rP   rQ   rR   rS   rT   rU   rV   r%   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   appendsortedr   HTTP_200_OKHTTP_500_INTERNAL_SERVER_ERRORstr)selfr   uidecustomerObjr#   r$   r%   property_idr'   r(   r)   r*   r+   r,   r-   r.   r0   lookupsproperty_objallDatafavourite_objrl   status_infoalldatar/   s                            @ru   r   zgetPropertyProject.get&   s7	   GC

 
 CC
   
CCCCCC!((c(2288::;|(,,[999<,00??; l'++J778{t$$; "&!:!>!>?[!\!\#|8<<=WXX2667KLL|0445GHH1556IJJl/334EFF?--:koo&899{':;; kooj))8VccG  5[[8,,,ae444   n[[0JKc/deeeghglmmm V[[(:;K'LMMMquUUU  9[[x000!%888 H#+227d[\2]]ffglmmuu  zEu  F  F\\	h		#+227d[\2]]ffgklltt  yDt  E  E\\#+227d[\2]]ffglmmuu  zEu  F  F\\"*11TRS1TT]]^cddllp{l||  ~A  A  ~A  BL7# KO KO|,4;;\_`k;llrrttM YYYa[[			!	![[ [0,/0,),0 '1#5|7N7WW0 ,:	0
 80 l"0 &0 ,*0 60 <<0 lF]  Jbnbybb  cB  cB  J!,"9"?"?"A"ABBB  HJ0 \ 0 60 |$0 L.0  8!0" l"#0 0$ L%0& <'0( ,*)0* |$+0, <,-0. |$/00 |$102 &304 ,BW  B\h\q\w\w\y\y  Bs 5 ; ; = =>>>  @B506 ,BW  B\h\q\w\w\y\y  Bs 5 ; ; = =>>>  @B708 <<90: (;0< <,=0> L?0@ <,A0B L>C0D \0E0 0F *@(>*6*Z (#4#4$6(>#4!0_0 0 0Gd NN7f baaaa'aaagk!!w$?$?@@@gg

#
#w$?$?NNNgH$$w$?$?@@@gg
h
&
&w$?$?NNNg
&"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs8    ]1 
*%]1 *]]1 1
^:;4^5/^:5^:N__name__
__module____qualname__r   r}   rx   ru   r   r   %   s-        HC HC HC HC HCrx   r   c                       e Zd Zd ZdS )getPropertyProjectDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S |j        dk    rd}n|j        d	k    rd
}nd}t          j        |j                  }g }|D ]q}t          j                            |          	                                }|r#|                    |j        |j        d           Y|                    |d d           ri d|j        d|j        j        d|j        j        dz   |j        j        z   d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        rD|j                                        r+t          j        |j                                                  ng d|j        d|j        d|j         d|j!        d|j"        d|j#        i d|j$        d |j%        d!|j&        d"|j'        d#|j(        d$|j)        d%|j*        d&|j+        d'|j        rD|j                                        r+t          j        |j                                                  ng d(|j,        rD|j,                                        r+t          j        |j,                                                  ng d)|j-        d*|j.        d+|j/        d,|j0        d-|j1        d.|j2        d/|j3        |j4        |j5        |j6        |j7        |j8        |j9        |j:        |j;        |j5        |j<        |j=        |d0}	t          t          j>        d1|	d2t          j>                  S # t~          $ r?}
t          t          j@        t          |
          d3t          j@                  cY d }
~
S d }
~
ww xY w)4Nr&   zProperty Id is requiredr   r   r   r:   zProperty project not foundr   r?   r   r@   rA   namer   iconrB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r0   rO   rP   rQ   rR   rS   rT   rU   rV   r%   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   )rb   rc   rd   re   rf   rg   rh   ri   rc   rj   rk   r   z-Property project details fetched successfullyr   r   rt   r   )Br   r   r   r   r   HTTP_400_BAD_REQUESTr   r   r   r   r   r   rY   
Facilitiesr   r   r   r&   r>   r   r   rE   rF   rG   rH   rI   rJ   rK   rL   r   rM   rN   r0   rO   rP   rQ   rR   rS   rT   rU   rV   r%   rW   rX   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r   r   r   r   )r   r   r   r   r   facilities_listfacility_detailsfacility_namerY   r   r   s              ru   r   zgetPropertyProjectDetails.get   s   TC*..t44;
 O6#>Pijjrx  sN  O  O  O  O!)00K0@@FFHH<
 R6#>Plmmu{  vQ  R  R  R  RQKKq  KKK%l&;<<? '  }!((m(<<BBDDH 	mm     
      
2,/2 ,),2 '1#5|7N7WW	2
 ,:2 82 l"2 &2 ,*2 62 <<2 lF]  Jbnbybb  cB  cB  J!,"9"?"?"A"ABBB  HJ2 \ 2 62 |$2  L.!2" 8#2$ l"%2 2& L'2( <)2* ,*+2, |$-2. <,/20 |$122 |$324 &526 ,BW  B\h\q\w\w\y\y  Bs 5 ; ; = =>>>  @B728 ,BW  B\h\q\w\w\y\y  Bs 5 ; ; = =>>>  @B92: <<;2< (=2> <,?2@ LA2B <,C2D L>E2F \0G2 2H *@(>*6*Z (#4#4$6(>#4!0_2 2 27f &"4?nv}~~  GM  GY  Z  Z  Z  Z	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AO AO 'LO 
P4PPPNr   r}   rx   ru   r   r      s-        UC UC UC UC UCrx   r   c                       e Zd Zd ZdS )favUnfavPropertyProjectc                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nnull ;Authorization Header or Token is missing on Request HeadersHS256
algorithmsuser_idr!   property_project_idzProperty project id is requiredr   r   r:   zNo property project foundr   )r=   r>   is_favouriteRemoved from favourite listAdded to favourite list.r   )r   r   
exceptionsAuthenticationFailedjwtdecoder
   
SECRET_KEYr   r   r   r   rt   r   r   r   r   r   r   get_or_createdeleter   saver   r   r   )r   r   tokendecodedr   r   r   pro_objfavourite_postcreatedr   s              ru   postzfavUnfavPropertyProject.post	  st   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<; ))*?@@
 W6#>Pqrr  {A  {V  W  W  W  W$++/B+CCIIKK7
 Q6#>Pklltz  uP  Q  Q  Q  Q5=KKU\hs  BCK  D  D>7
 ~6#5Gdeemsm  A  A  A  A6#5Gabbjpj|}}}}	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CC2   C(G& +AG& A"G& *;G& &
H/04H*$H/*H/Nr   r   r   r   r}   rx   ru   r   r     (        C C C C Crx   r   c                       e Zd Zd ZdS )getBussinessForSalec                    	 t          |          }|rZt          j        |t          j                  }|d         }t
          j                            |                                          }n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                            d          }|j                            d          }|j                            d          |dk    rIt                      }|	r0|                    t          ||	f          t          j                   |r0|                    t          |
|f          t          j                   |r0|                    t          ||f          t          j                   |dk    r3t           j                            |                              d          }n|dk    r3t           j                            |                              d          }nft           j                            |                              d          }n3t           j                            d                              d          }g }|D ]Y}t$          j                            |j        |                                          }|rd}nd}i d|j        d|j        j        dz   |j        j        z   d|j        d|j        d t3          j        |j                  d!|j        d"|j        d|j        d#|j        d$|j        d%|j         d&|j!        d'|j"        d(|j#        d)|j$        d*|j%        d+|j&        i d,|j'        d-|j(        d.|j)        d/|j*        d0|j+        d1|j,        d-|j(        d2|j-        d3|j.        d4t3          j        |j/                  d5|j0        d6|j1        d7|j2        d8|j3        d9|j4        d:|j5        d;|j6        |j7        |j8        |j9        |j:        |j;        |j<        |j=        |j>        |j?        |d<
}|@                    |           |dk    rurfd=|D             }|d>k    rt          |d? @          }n|dAk    rt          |dB dC          }|dk    rt          |dD @          }@|dEk    rt          |dF dC          }[t          t          jD        dG|dHt          jD        I          S # t          $ r?}t          t          jF        t          |          dJt          jF        I          cY d }~S d }~ww xY w)KNr   r!   r   r$   r#   suggested_price_startsuggested_price_endtotal_turnover_starttotal_turnover_endoperating_profit_startoperating_profit_endr-   r.   r/   r1   )cost__range)total_turnover__range)other_operating_cost__ranger6   r9   r;   r&   Tr8   -subscription_type)	bussinessr>   Fcustomer_namerD   company_namerI   rL   rM   videos_thumbnaildescriptiontotal_turnoverrentestablished_yearpremisesyears_of_workoperation_conceptoperation_opening_hoursturnover_last_yearsalary_percentageother_operating_costcostreason_for_salewebsite_linknumber_of_employesareaterm_of_leasedocumentdetailsservice
operationsmarket_initativesadvantage_and_oppurtunity	valuation
owner_name)
phone	telephoneemailcompanypublic_orderavaiable_attachmentr%   rW   rX   r   c                 F    g | ]}|d          t                    k    |S rn   rp   rr   s     ru   rv   z+getBussinessForSale.get.<locals>.<listcomp>  rw   rx   ry   c                     | d         S r{   r}   r~   s    ru   r   z)getBussinessForSale.get.<locals>.<lambda>  r   rx   r   r   c                     | d         S r{   r}   r~   s    ru   r   z)getBussinessForSale.get.<locals>.<lambda>  r   rx   r   c                     | d         S r   r}   r~   s    ru   r   z)getBussinessForSale.get.<locals>.<lambda>  r   rx   r   c                     | d         S r   r}   r~   s    ru   r   z)getBussinessForSale.get.<locals>.<lambda>  r   rx   r   r   r   r   )Hr   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   BussinessForSaler   BussinessForSaleFavouriter&   r>   r   r   r   rI   r   r   rL   rM   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  r  r  r  r  r  r  r  r%   rW   rX   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   bussiness_objr   r   r   rl   r   r   r/   s                           @ru   r   zgetBussinessForSale.get"  s&   jC#G,,5 j 344Gi G ''W'55;;==KKK*..}==;|(,,[999<4889PQQ2667LMM,3778NOO1556JKK L599:RSS,3778NOO--:koo&899{':;;VccG T[[ 56IJKKKQUSSS \[[*>?Q)RSSSUVUZ[[[ f[[0FG[/\]]]_`_deee H%-44W==FFuMM]]	h		%-44W==FFtLL]]%-44W==FFuMM]] %,33t3LLUUVjkkM7! @O @Oy-5<<y|_j<kkqqssM YYY.
IL.	,6;Y=Q=ZZ. i,. Y*	.
 C$Y%9::. 	 . )4. i,. Y*. 	0. in. )4. )$. y.. 96.   !B!." I8#. .$ 96%.& i<'.( in).* 	1+., Y+-.. 97/.0 Y;1.2 Y^3.4 y.5.6 !)"4557.8 "9.: 	!;.< 9'=.> )5?.@ ")"EA.B )%C.D 9'E. .F o%o!+%9##%Y. . .G^ NN7f baaaa'aaagk!!w$?$?@@@gg

#
#w$?$?NNNgH$$w$?$?@@@gg
h
&
&w$?$?NNNg
&"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs   V=W 
X
4X?X
X
Nr   r}   rx   ru   r   r   !  s-        kC kC kC kC kCrx   r   c                       e Zd Zd ZdS )getBussinessForSaleDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S t          |j        d           t          j                            d|j        d	
                              t          d                    }|d         pd}	 t          |j                  }n# t"          t$          f$ r d}Y nw xY w|dk    r	||z  dz  }nd}|dk    }|r|dz  }	nd}	i d|j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        j        d|j        d|j        dt5          j        |j                  d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d |j#        d!|j$        i d"|j%        d#|j&        d$|j'        d%|j(        d&|j)        d'|j*        d(|j        d|d)tW          |d*          d+|d,|j,        d-|	d.|j-        d/|j.        d0|j/        d'|j*        d1|j0        i d2|j1        d3t5          j        |j2                  d4|j3        d5|j4        d6|j5        d7|j6        d8|j7        d9|j8        d:|j9        d;|j!        d<|j:        d=|j;        d>|j<        d?|j=        d@|j>        dA|j?        dB|j@        |jA        |jB        |jC        |jD        |jE        |jF        |jG        |jH        |jI        |jJ        |jK        dC}
t          t          jL        dD|
dEt          jL                  S # t          $ r?}t          t          jN        t          |          dFt          jN                  cY d }~S d }~ww xY w)GNr&   Bussiness Id is requiredr   r   r:   zNo bussiness for sale foundz   bussiness_obj.idBusinessSaleDeal-Completed)property_typebussiness_for_sale_idcontract_statusinvestment_amounttotal_investmentr,          r   d   皙?r   rD   rB   customerPhoneNumbercustomerImager   rI   rL   rM   r   r   r   phone_numberr   r   r   r   r   r  r  r  r  r  percentage_invested   can_stop_investmentpayment_done	admin_cutr  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%   rW   )rX   is_draftrQ   rR   rS   floorrT   rU   shareholder_nameshareholder_shareshareholder_descriptionr   r   r   )Pr   r   r   r   r   r   r  r   r   r   printr&   inquirePropertyProject	aggregater   floatr  
ValueError	TypeErrorr>   r   r   phoneNumberprofileImager   rI   r   r   rL   rM   r   r   r   r  r   r   r   r   r   r  r  r  r  roundr6  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r%   rW   rX   r8  rQ   rR   rS   r9  rT   rU   r:  r;  r<  r   r   r   r   )r   r   bussiness_idr   investmentsr,  max_drawingr3  r5  five_percent_of_investmentr   r   s               ru   r   zgetBussinessForSaleDetails.get  si   dC,+//55<
 P6#>Pjkksy  tO  P  P  P  P#+22l2CCIIKK=
 S6#>Pmnnv|  wR  S  S  S  S	0111'/66 '*$ 7   Y$7 8 8Y99	  ""45<*++KKy
!   KKK Aoo+k9S@)C/ %!1D!8!$@-
@m.8#=}?W?``@ M,/@ M4@	@
 m.;@ M.@ =,@ #"=#;<<@ m"@ 6@ M.@ =,@ m2@ =&@ M@  6!@" &#@ @$ ]0%@& 8'@( }D)@* -:+@, 8-@. M>/@0 M1@2 (3@4 5!4a885@6 .7@8 M.9@: *;@< m3=@> =-?@@ 9A@B ==C@D =E@ @ @F ]0G@H s 677I@J }$K@L m#M@N )O@P 7Q@R   GS@T 'U@V )W@X MY@Z '[@\ M]@^ m#_@` =-a@b -;c@d }%e@f }%g@ @h '&$   ,&%6&8,D}@ @ @7B &"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCsQ   AN, AN, 'A'N, D$ #N, $D:7N, 9D::I1N, ,
O564O0*O50O5Nr   r}   rx   ru   r"  r"    s-        eC eC eC eC eCrx   r"  c                       e Zd Zd ZdS )inquireBussinessSalec           	         	 |j                             d          }|s(t          t          j        ddt          j                  S t
          j                            |d                                          }|s(t          t          j        ddt          j                  S |j                             d          }|j                             d	          }|j                             d
          }|j                             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 d}t          |t          j        dg| d|j         d          }	|	                    d           t          t          j        ddt          j                  S # t          $ r?}
t          t          j        t#          |
          dt          j                  cY d }
~
S d }
~
ww xY w)NrF  r$  r   r   r   r&   r   z$No bussiness sale found for this id.r   r  r  r   Email is requiredName is requiredTelephone is requiredMessage is requiredzBussiness sale inquireadmin123@yopmail.com wants to inquire about the z bussiness sale.subject
from_emailtobodyFfail_silentlySend successfullyr   )rt   r   r   r   r   r  r   r   r   r   r
   EMAIL_HOST_USERr   sendr   r   r   r   )r   r   rF  r   r   r  r  r   rU  message_sendr   s              ru   r   zinquireBussinessSale.post  s   C,"">22<
 P6#>Pjkksy  tO  P  P  P  P#+22l!2LLRRTT=
 \6#>Pvww  @F  @[  \  \  \  \
,

6
"
"4<G$$5|,,9\i((7
 I6#>Pcddlr  mH  I  I  I  I
 H6#>Pbcckq  lG  H  H  H  H
 M6#>Pghhpv  qL  M  M  M  M
 K6#>Peffnt  oJ  K  K  K  K%7(XE]cybz  DM  AW  AW  kx  kE  AW  AW  AW  X  X  X<5)))
&"4FYZZbhbt
u
u
uu	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCE   AH AH #BH 5)H )H 	)H 3A(H 
I%&4I I% I%Nr   r}   rx   ru   rK  rK    (        C C C C Crx   rK  c                       e Zd Zd ZdS )getHousingForRentc                    	 t          |          }|rZt          j        |t          j                  }|d         }t
          j                            |                                          }nd}t          j                            d          
                    d          }g }|D ]}t          j                            |j        |                                          }	|	rd}
nd}
|j        |j        |j        d	z   |j        z   |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |
d
}|                    |           t9          t:          j        d|dt:          j                  S # t>          $ r?}t9          t:          j         tC          |          dt:          j                   cY d }~S d }~ww xY w)Nr   r!   r   Tr   r   )
house_rentr>   FrD   )r&   rI   	full_nameimagegenderaddressnationalitymax_month_pricerental_perioddesired_start_datepetr%   ro   r   r   r   r   r   r   )"r   r   r   r
   r   r   r   r   r   HouseWantedForRentr   HouseRentFavouriter&   rI   
first_name	last_namerf  rg  rh  ri  rj  rk  rl  rm  r%   ro   
start_dater   r   r   r   r   r   r   )r   r   r   r   r   r   rent_objr   r   r   rl   r   r   s                ru   r   zgetHousingForRent.get  s   AC#G,,5 j 344Gi G ''W'55;;==KKK$ !(//4/HHQQRfgg87  t&.55T_5``ffhhM YYY
'#$T^3Zk|#+'18/O! G$ NN7 &"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs   FF	 	
G4GGGNr   r}   rx   ru   rb  rb    s-        BC BC BC BC BCrx   rb  c                       e Zd Zd ZdS )getHousingForRentDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        d	|j        j
        d
|j        dz   |j        z   d|j        d|j        dt#          j        |j                  d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d |j#        d!|j$        d"|j%        d#|j&        d$|j'        d%|j(        d&|j)        d'|j*        d(|j+        d)|j,        |j-        |j*        |j.        |j/        |j0        |j1        |j2        |j3        |j4        d*	}t          t          j5        d+|d,t          j5                  S # tl          $ r?}t          t          j7        tq          |          d-t          j7                  cY d }~S d }~ww xY w).Nrent_idRent Id is requiredr   r   r:   z No housing wanted for rent foundr&   rI   rB   rC   rD   profile_visiblityprofile_hiddenrf  rp  rq  rg  dobri  r2  r  quantityrk  max_rent	from_datehousing_typenumber_of_peoplerj  rl  desired_arearW   rX   r%   about	educationmartial_statuscleanlinessparty_habitsworkinterestro   )	r8  r  rQ   rR   rS   rT   rU   r9  r   r   r   r   )9r   r   r   r   r   r   rn  r   r   r   r&   rI   r>   rp  rq  ry  rz  r   r   rf  rg  r{  ri  r2  r  r|  rk  r}  r~  r  r  rj  rl  r  rW   rX   r%   r  r  r  r  r  r  r  ro   r8  rQ   rR   rS   rT   rU   r9  r   r   r   r   r   r   r   rw  rs  r   r   s         ru   r   zgetHousingForRentDetails.geta  s   ;Cl'++I667
 K6#>Peffnt  oJ  K  K  K  K (//7/;;AACC8
 X6#>Prss  |B  |W  X  X  X  X0	8;0(&0 (%(0 #C');;	0 20 X,0 Shn--0 (%0 #0 ho0 
8<0 8'0 8(0 X^0  !!0" X+#0$ !%0 0& #'0( 8()0* x0+0, x/-0. 4/00 H)102 x 304 "506 x 708 HN90: ";0< X,=0> (&?0@ 8(A0B 8=C0D x E0F 2G0 0H  = N=& N&Y0 0 07d &"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AH? AH? 'FH? ?
J	4J=JJNr   r}   rx   ru   ru  ru  `  s(        <C <C <C <C <Crx   ru  c                       e Zd Zd ZdS )sentMessageForRentc                    	 |j                             d          }|s(t          t          j        ddt          j                  S t
          j                            |d                                          }|s(t          t          j        ddt          j                  S |j                             d          }|j                             d	          }|j                             d
          }|j                             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 d}t          |t          j        |j        gd| d| d| d|           }	|	                    d           t          t          j        ddt          j                  S # t          $ r?}
t          t          j        t#          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nrw  rx  r   r   r   rM  z No result found for this rent idr   r  r  r   rO  ztelephone is requiredzemail is requiredzmessage is requiredzHouse wanted for RentzHello this side z.Please contact us at z or z
. Message:rT  FrY  r[  r   )rt   r   r   r   r   rn  r   r   r   r   r
   r\  r  r]  r   r   r   r   )r   r   rw  rs  r   r  r  r   rU  r^  r   s              ru   r   zsentMessageForRent.post  sC   C\i((7
 K6#>Peffnt  oJ  K  K  K  K (//7!/DDJJLL8
 X6#>Prss  |B  |W  X  X  X  X
,

6
"
"4|,,9<G$$5\i((7
  Txv/J\n o ow}  xS  T  T  T  T
  ^HF4Oax%y%y  BH  B]  ^  ^  ^  ^
  V0K]p!q!qy  zU  V  V  V  V
  Z(&2M_t#u#u  ~D  ~Y  Z  Z  Z  Z$7(XE]ckcqbr  yQ  LP  yQ  yQ  hq  yQ  yQ  w|  yQ  yQ  HO  yQ  yQ  R  R  R<5)))
&"4FYZZbhbt
u
u
uu	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCsE   AH" AH" #BH" 5)H" )H" 	)H" 3A.H" "
I+,4I& I+&I+Nr   r}   rx   ru   r  r    s(        C C C C Crx   r  c                       e Zd Zd ZdS )favouriteUnfavouriteHouseRentc                 4   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s0|                                 t          t          j        dd
          S |                                 t          t          j        dd
          S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   house_rent_idzHouse Rent ID is requiredr   r   r:   No product foundr   )rd  r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   rn  ro  r   r   r   r   r   r   r   )r   r   r   r   r   r   r  rs  r   r   r   s              ru   r   z"favouriteUnfavouriteHouseRent.post  sK   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<;<##O44=
 Q6#>Pklltz  uP  Q  Q  Q  Q (//=/AAGGII8
 H6#>Pbcckq  lG  H  H  H  H/7EEQYep~E  A  A>7
 d6#5Gdeefff6#5Gabbccc	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs2   C(G +AG AG /G 
H4HHHNr   r}   rx   ru   r  r    r   rx   r  c                       e Zd Zd ZdS )(favouriteUnfavouriteCompanySeekingEquityc                    t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s0|                                 t          t          j        dd
          S |                                 t          t          j        dd
          S )Nr   r   r   r   r   r   r!   company_seeking_idzSeeking ID is requiredr   r   r:   zNo Customer seeking  foundr   )company_seekr>   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   CompanySeekingEquityCompanySeekingEquityFavouriter   r   r   r   )
r   r   r   r   r   r   customer_seeking_idcustomer_seeking_objr   r   s
             ru   r   z-favouriteUnfavouriteCompanySeekingEquity.post  s   
"7
+
+%
]evoo")<)<		(	()f	g	ggJuh1gYGGG'I'%%7%3399;;+(()=>>	 M
&"=Oghhpv  qL  M  M  M  M-5<<@S<TTZZ\\	 Q
&"=Oklltz  uP  Q  Q  Q  Q9AOO]q  ~I  WXO  Y  Y.'	 c
&"4Fcdd
e
ee
&"4F`aa
b
bbrx   Nr   r}   rx   ru   r  r    s(        c c c c crx   r  c                       e Zd Zd ZdS )getInvestmentMyCompanyc                 (   	 t          |          }|rZt          j        |t          j                  }|d         }t
          j                            |                                          }nd}| j	        j
                            d          }|j                            d          }|j                            d          }|j                            d          t          j                            dd	          }	g }
|	D ]}t          j                            |j        |
                                          }|rd}nd}|j        |j        |j        |j        |j        |j        |j        |j        |j        ||j        |j        |j        d}|
                    |           |dk    rtrfd|
D             }
|dk    rt9          |
d           }
n|dk    rt9          |
d d          }
|dk    rt9          |
d           }
n|dk    rt9          |
d d          }
t;          t<          j        d|
dt<          j                  S # t@          $ r?}t;          t<          j!        tE          |          dt<          j!                  cY d }~S d }~ww xY w)Nr   r!   r   r$   r-   r.   r/   T)r   r8   )invest_companyr>   F)r&   rL   r   the_valuationshares_for_saleprice_per_shareremaninig_sharesminimum_drawingrH  r   ro   r   r|   r1   c                 F    g | ]}|d          t                    k    |S rn   rp   rr   s     ru   rv   z.getInvestmentMyCompany.get.<locals>.<listcomp>  rw   rx   ry   c                     | d         S r{   r}   r~   s    ru   r   z,getInvestmentMyCompany.get.<locals>.<lambda>  r   rx   r   r   c                     | d         S r{   r}   r~   s    ru   r   z,getInvestmentMyCompany.get.<locals>.<lambda>  r   rx   r   r;   c                     | d         S r   r}   r~   s    ru   r   z,getInvestmentMyCompany.get.<locals>.<lambda>  r   rx   r   c                     | d         S r   r}   r~   s    ru   r   z,getInvestmentMyCompany.get.<locals>.<lambda>  r   rx   r   r   r   r   )#r   r   r   r
   r   r   r   r   r   r   r   r   r   InvestmentMyCompanyInvestmentMyCompanyFavouriter&   rL   rO   r  r  r  r  r  rH  ro   rr  nominal_share_pricer   r   r   r   r   r   r   r   r   r   r   r   r   r   r$   r-   r.   investment_objr   
investmentr   rl   r   r   r/   s                   @ru   r   zgetInvestmentMyCompany.get  s   3C#G,,5 j 344Gi G ''W'55;;==KKK*..}==;--:koo&899{':;;'/66dVZ6[[>7#  z08??z}hs?ttzz||M YYY
-'- ."2!1#4"2*#5)2 G NN7V baaaa'aaagk!!w$?$?@@@gg

#
#w$?$?NNNgH$$w$?$?@@@gg
h
&
&w$?$?NNNg
&"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs   II 
J4JJJNr   r}   rx   ru   r  r    s(        4C 4C 4C 4C 4Crx   r  c                       e Zd Zd ZdS )getInvestmentMyCompanyDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        d	|j        d
|j        j
        d|j        j        dz   |j        j        z   d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d |j#        d!|j$        d"|j%        d#|j&        d$|j'        d%|j(        d&|j        d'|j)        d(|j*        d)|j+        |j,        |j-        |j        d*}t          t          j.        d+|d,t          j.                  S # t^          $ r?}t          t          j0        tc          |          d-t          j0                  cY d }~S d }~ww xY w).Ninvestment_idInvestment Id is requiredr   r   r:   zInvestment my company not foundr&   company_logocompany_videorB   rC   rD   rO   documents_datar'  company_establishedcompany_emailcompany_phonenumbercompany_addressshareholderssharer   r  r  r  rT   bank_acc_createdissue_account_nopost_numberself_reportr  rH  r  no_share_bfr_issuer  company_websitero   r   r8  agencyr%   )rW   rX   r   r   r   )r   r   )2r   r   r   r   r   r   r  r   r   r   r&   r  r  r>   r   r   rO   r  r'  r  r  r  r  r  r  r   r  r  r  rT   r  r  r  r  r  rH  r  r  r  r  ro   r8  r  r%   rW   rX   r   r   r   r   r   r   r  r  r   r   s         ru   r   z!getInvestmentMyCompanyDetails.get$  s   2H<,00AA=
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66-6HHNNPP>
 W6#>Pqrr  {A  {V  W  W  W  W(.
( >.( N0	(
 .+.( )3C79R9[[( ^1( ^2( ^1( >=( ^1( .<( ~5( N/( ^!(  >-!(" ^1#($ ~5%( (& ~5'(( >-)(* 7+(, 7-(. >-/(0 >-1(2 ~53(4 >-5(6 77(8 .;9(: >=;(< ~5=(> 9?(@ n#A(B 'C(D n#E(F 'G( (H ')#M( ( (7R &"4F\dklltz  uG  H  H  H  H	 H H H
&"GRUVWRXRXYYag  bG  H  H  H  H  H  H  H  H  HHs,   AH AH 'E+H 
I4IIINr   r}   rx   ru   r  r  #  s(        3H 3H 3H 3H 3Hrx   r  c                       e Zd Zd Zd ZdS )buyShareInvestmentCompanyc                    	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j                  }|d         }t          j	        
                    |                                          }| 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        d}t          t           j        d|dt           j        	          S # t0          $ r?}	t          t           j        t5          |	          dt           j        	          cY d }	~	S d }	~	ww xY w)Nr   r   r   r   r!   investment_company_idr  r   r   r:   !Investment for company not found.)r  r  rH  share_for_saler   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r  r  r  rH  r  r   r   r   r   )
r   r   r   r   r   r   r  r  all_datar   s
             ru   r   zbuyShareInvestmentCompany.get]  s   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2337Y7&&G&44::<<;<4889PQQ
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66:O6PPVVXX>
 Y6#>Pstt  }C  }X  Y  Y  Y  Y$4$4 ,#3	 8 &"4F\dlmmu{  vH  I  I  I  I	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   C*F -AF 	AF 
G4GGGc                    	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j                  }|d         }t          j	        
                    |                                          }| j        j                            d          }|s(t          t           j        ddt           j        	          S t$          j	        
                    |
                                          }|s(t          t           j        ddt           j        	          S |j                            d          }|s(t          t           j        ddt           j        	          S |j                            d          }	|	s(t          t           j        ddt           j        	          S t(          j	                            ||||	           |xj        t/          |          z  c_        |                                 d}
d}ddddddgdddddddt/          |	          dddgdgd }t3          j        |
||!          }|j        d"k    r)t          t           j        d#|d$t           j        	          S t          |j        d%d|j        	          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:   r  total_shareztotal share is requiredamountzamount is required)invested_companyr>   r  r  z-https://api.escrow.com/2017-09-01/transaction)developer@esferasoft.comF16359_RCbQaGY8fVyZkgFGgW9HZ6blFl7wVpCTQ5Sq05HdNX2mvjWJyIsBdfmQ3b2cbbR0buyerr  )rolecustomersellerzamit@yopmail.comusdz#Buy share for investment my companyzBuy share investment companygeneral_merchandisei r   )r  payer_customerbeneficiary_customer)titler   typeinspection_periodr|  schedule)partiescurrencyr   items)authjson   Successr   z/Something went wrong.Please try after sometime.r   ) r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r  rt   MyInvestmentsForCompanycreater  rq   r   requestsr   r   r   r   r   r   )r   r   r   r   r   r   r  r  r  r  urlr  payloadresponser   s                  ru   r   zbuyShareInvestmentCompany.postu  s   >C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2337Y7&&G&44::<<;<4889PQQ
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66:O6PPVVXX>
 Y6#>Pstt  }C  }X  Y  Y  Y  Y!!-00;
 O6#>Pijjrx  sN  O  O  O  OLX&&6
 J6#>Pdeems  nI  J  J  J  J"))>U`mx  AG)  H  H  H""c+&6&66""	83
p4 , 
 $ 	 8 .3#! v;;3 2	 	  7> mCd9998c!!6#5yX`aaioi{||||8#7Iz{{  DL  DX  Y  Y  Y  Y	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs@   C*J; -AJ; 	AJ; AJ; CJ; J; ;
L4K?9L?LN)r   r   r   r   r   r}   rx   ru   r  r  \  s:        C C C0?C ?C ?C ?C ?Crx   r  c                       e Zd Zd ZdS )%getFavouriteUnfavouriteCompanyDetailsc                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   	invest_idr  r   r   r:   zNo investment my company foundr   )r  r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   r  r  r   r   r   r   r   r   r   )r   r   r   r   r   r   r  
invest_objr   r   r   s              ru   r   z*getFavouriteUnfavouriteCompanyDetails.post  sq   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<;|,,9
 Q6#>Pklltz  uP  Q  Q  Q  Q#+22i2@@FFHH:
 V6#>Ppqqy  zU  V  V  V  V9AOO_i  vA  OPO  Q  Q>7
 ~6#5Gdeemsm  A  A  A  A6#5Gabbjpj|}}}}	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr   Nr   r}   rx   ru   r  r    r   rx   r  c                       e Zd Zd ZdS )inquireInvestmentCompanyc           	         	 |j                             d          }|s(t          t          j        ddt          j                  S t
          j                            |d                                          }|s(t          t          j        ddt          j                  S |j                             d          }|j                             d	          }|j                             d
          }|j                             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 d}t          |t          j        dg| d|j         d          }	|	                    d           t          t          j        ddt          j                  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   rM  z,No investment for company found for this id.r   r  r  r   rN  rO  rP  rQ  zInvestment for company inquire rR  rS  z investment for company.rT  FrY  r[  r   )rt   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   rU  r^  r   s              ru   r   zinquireInvestmentCompany.post  s   C<##O44=
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66-q6QQWWYY>
 d6#>P~  HN  Hc  d  d  d  d
,

6
"
"4<G$$5|,,9\i((7
 I6#>Pcddlr  mH  I  I  I  I
 H6#>Pbcckq  lG  H  H  H  H
 M6#>Pghhpv  qL  M  M  M  M
 K6#>Peffnt  oJ  K  K  K  K.7(XE]cybz  DM  A`  A`  ky  kF  A`  A`  A`  a  a  a<5)))
&"4FYZZbhbt
u
u
uu	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr_  Nr   r}   rx   ru   r  r    r`  rx   r  c                       e Zd Zd ZdS )getInvestmentForProjectc                 L   	 t          |          }|rZt          j        |t          j                  }|d         }t
          j                            |                                          }nd}| j	        j
                            d          }|j                            d          }|j                            d          }|j                            d          t          j                            d	          }	g }
|	D ].}t          j                            |j        |
                                          }|rd}nd}i d|j        d|j        j        d|j        j        dz   |j        j        z   d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j         i d|j!        d|j"        d |j#        d!|j$        d"|j%        d#|j&        d|j        d$|j'        d%|j(        d&|j)        d'|j*        d(|j+        d)|j,        d*|j-        d+|j.        d,|j/        d-|j0        |j1        |j2        |j3        |j4        ||j!        |j5        |j6        d.}|
7                    |           |d/k    rurfd0|
D             }
|d1k    rtq          |
d2 3          }
n|d4k    rtq          |
d5 d6          }
|d7k    rtq          |
d8 3          }
|d9k    rtq          |
d: d6          }
0ts          tt          j;        d;|
d<tt          j;        =          S # tx          $ r?}ts          tt          j=        t}          |          d>tt          j=        =          cY d }~S d }~ww xY w)?Nr   r!   r   r$   r-   r.   r/   Tr   )invest_projectr>   Fr&   rB   rC   rD   rO   rL   rM   r  r'  assest_equalityinvestment_highlightequity_pricelp_equity_percentgp_equity_percentdebt_percentproperty_at_glance_titler   bussiness_planminimum_investmentinvestment_strategyexpected_attitude_pricefinancedtarget_return_on_cost
target_irr
offered_byestimated_first_distributiontype_of_investmentr2  measure_for_multiplierrh  location_detailsproperty_summaryproperty_detailsoverview)debt_assumptionr%   rW   rX   r   r|   ro   r   r1   c                 F    g | ]}|d          t                    k    |S rn   rp   rr   s     ru   rv   z/getInvestmentForProject.get.<locals>.<listcomp>9  rw   rx   ry   c                     | d         S r{   r}   r~   s    ru   r   z-getInvestmentForProject.get.<locals>.<lambda>;  r   rx   r   r   c                     | d         S r{   r}   r~   s    ru   r   z-getInvestmentForProject.get.<locals>.<lambda>=  r   rx   r   r;   c                     | d         S r   r}   r~   s    ru   r   z-getInvestmentForProject.get.<locals>.<lambda>?  r   rx   r   c                     | d         S r   r}   r~   s    ru   r   z-getInvestmentForProject.get.<locals>.<lambda>A  r   rx   r   r   r   r   )?r   r   r   r
   r   r   r   r   r   r   r   r   r   InvestmentMyProjectInvestmentMyProjectFavouriter&   r>   r   r   rO   rL   rM   r  r'  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r2  r	  rh  r
  r  r  r  r  r%   rW   rX   ro   rr  r   r   r   r   r   r   r   r   r  s                   @ru   r   zgetInvestmentForProject.get  s   PC#G,,5 j 344Gi G ''W'55;;==KKK*..}==;--:koo&899{':;;'/66$6OO>7# =O =Oz08??z}hs?ttzz||M YYY+	:=+:(++ &04j6K6TT+ Z-	+
 *'+ j+ j/+ Z-+ z1+ J;+ J++ 5+ 5+ J++  
 C+  :)!+" j/#+ +$ *7%+& :9'+( zA)+* 
#++, Z=-+. *'/+0 51+2 *'3+4 $J$K5+6 *77+8 J+9+: j?;+< z!=+> 
3?+@ 
3A+B 
3C+D 
#E+ +F "1##%1#5)U+ + +GX NN7f baaaa'aaagk!!w$?$?@@@gg

#
#w$?$?NNNgH$$w$?$?@@@gg
h
&
&w$?$?NNNg
&"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs   MM 
N#$4NN#N#Nr   r}   rx   ru   r  r    s-        QC QC QC QC QCrx   r  c                       e Zd Zd ZdS )getInvestmentForProjectDetailsc           	         	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        j
        d|j        j        d	z   |j        j        z   d
|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j         d|j!        d|j        d|j"        d|j#        d |j$        d!|j%        d"|j&        d#|j'        d$|j(        d%|j)        d&|j*        d'|j+        |j,        |j-        |j.        |j/        |j        |j0        |j1        d(}t          t          j2        d)|d*t          j2                  S # tf          $ r?}t          t          j4        tk          |          d+t          j4                  cY d }~S d }~ww xY w),Nr&   r  r   r   r:   zInvestment project not foundrB   rC   rD   rO   rL   rM   r  r'  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r2  r	  rh  r
  r  r  r  )r  r%   rW   rX   r|   ro   r   r   r   r   )6r   r   r   r   r   r   r  r   r   r   r&   r>   r   r   rO   rL   rM   r  r'  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r2  r	  rh  r
  r  r  r  r  r%   rW   rX   ro   rr  r   r   r   r   r  s         ru   r   z"getInvestmentForProjectDetails.getG  s   4C<,0066=
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66-6HHNNPP>
 T6#>Pnoow}  xS  T  T  T  T*	>*>,/* *4S8.:S:\\* ^1	*
 .+* n#* n3* ^1* ~5* N?* N/* 9* 9* N/*   G*  >-!*" n3#* *$ .;%*& >='*( ~E)** '+*, ^A-*. .+/*0 91*2 .+3*4 $N$O5*6 .;7*8 N/9*: nC;*< ~%=*> 7?*@ 7A*B 7C*D 'E* *F &5'')"5'9"-S* * *7V &"4F\dklltz  uG  H  H  H  H	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AH+ AH+ 'FH+ +
I454I/)I4/I4Nr   r}   rx   ru   r  r  F  s(        5C 5C 5C 5C 5Crx   r  c                       e Zd Zd ZdS )%getFavouriteUnfavouriteProjectDetailsc                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   r  r  r   r   r:   zNo Investment project foundr   )r  r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   r  r  r   r   r   r   r   r   r   )r   r   r   r   r   r   r  prop_objr   r   r   s              ru   r   z*getFavouriteUnfavouriteProjectDetails.post  sm   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<;|,,9
 Q6#>Pklltz  uP  Q  Q  Q  Q!)00I0>>DDFF8
 S6#>Pmnnv|  wR  S  S  S  S9AOO_gs~  MNO  O  O>7
 ~6#5Gdeemsm  A  A  A  A6#5Gabbjpj|}}}}	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr   Nr   r}   rx   ru   r  r  ~  r   rx   r  c                       e Zd Zd ZdS )inquireInvestmentProjectDetailsc           	         	 |j                             d          }|s(t          t          j        ddt          j                  S t
          j                            |d                                          }|s(t          t          j        ddt          j                  S |j                             d          }|j                             d	          }|j                             d
          }|j                             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 d}t          |t          j        dg| d|j         d          }	|	                    d           t          t          j        ddt          j                  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   rM  z,No investment for project found for this id.r   r  r  r   rN  rO  rP  rQ  zInvestment for project inquire rR  rS  z investment for property.rT  FrY  r[  r   )rt   r   r   r   r   r  r   r   r   r   r
   r\  rO   r]  r   r   r   r   r  s              ru   r   z$inquireInvestmentProjectDetails.post  s   C<##O44=
 Q6#>Pklltz  uP  Q  Q  Q  Q'/66-q6QQWWYY>
 d6#>P~  HN  Hc  d  d  d  d
,

6
"
"4<G$$5|,,9\i((7
 I6#>Pcddlr  mH  I  I  I  I
 H6#>Pbcckq  lG  H  H  H  H
 M6#>Pghhpv  qL  M  M  M  M
 K6#>Peffnt  oJ  K  K  K  K.7(XE]cybz  DM  Ab  Ab  ky  kG  Ab  Ab  Ab  c  c  c<5)))
&"4FYZZbhbt
u
u
uu	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr_  Nr   r}   rx   ru   r  r    r`  rx   r  c                       e Zd Zd ZdS )rentPropertyListc                    	 	 t          |          }n# t          $ r}d}Y d }~nd }~ww xY wt          j                            |                                          }|j                            d          }g }t          j                            dd          	                    d          
                    |          d d	         }|D ]}t          j                            |j        |
                                          }	|	rd}
nd}
i d|j        d|j        d|j        d|j        d|j        rD|j                                        r+t%          j        |j                                                  ng d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        |j         |j!        |j"        |j#        |j$        |j%        |j&        |j'        |j(        |j)        |j*        |j+        |j,        |j-        |
d}|.                    |           t_          t`          j1        d|dt`          j1                  S # t          $ r?}t_          t`          j2        tg          |          d t`          j2                  cY d }~S d }~ww xY w)!Nr   r!   r&   Tr   r7   r9   r:   r<   )r   r>   Fr  r0   sub_categoryrL   videor9  roomsbedroomssizerQ   rR   rS   rT   rV   rk  avaiable_from_date)monthly_rentmonthly_rent_includessecuritysecurity_amountheadingr   display_information
name_of_ad	visibiltyr%   rW   rX   ro   r   rl   r  r   r   rt   r   r   )4r   r   r   r   r   r   r   r   RentPropertyr   r   RentPropertyFavouriter&   r  r0   subCategoryrL   r   r   r   r$  r9  r%  r&  r'  rQ   rR   rS   rT   rV   rk  r(  r)  r*  r+  r,  r-  r   r.  r/  r0  r%   rW   rX   ro   
created_atr   r   r   r   r   r   )r   r   r   r   r   r   r   rentObjr   r   rl   r   s               ru   r   zrentPropertyList.get  se   DC

 
 CC
   
CCCCCC!((c(2288::;{t$$;7!((D(JJSSTYZZbbfqbrrsvtvsvw7 7 7t *188dgQ\8]]cceeM YYY"	$'"TZ" " T%	"
 sTXTcTiTiTkTks3#DO$9$9$;$;<<<qs" TZ" dj" dj" " TY" " tz" TY" T%"  d'!"" d(#"$ 42%"& &"8,$ 4?./OC" " "GF NN7
V/)7SS[a[m
n
n
nn	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs8    I6 
)$I6 )II6 6
J? 4J:4J?:J?Nr   r}   rx   ru   r!  r!    s-        EC EC EC EC ECrx   r!  c                       e Zd Zd ZdS )rentPropertyDetailsc                 |	   	 |j                             d          }|s(t          t          j        ddt          j                  S t
          j                            |                                          }|s(t          t          j        ddt          j                  S t          j
        |j                  }g }|D ]q}t          j                            |                                          }|r#|                    |j        |j        d           Y|                    |d d           ri d|j        d	|j        j        d
|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        d|j        d|j        d|j        rD|j                                        r+t          j
        |j                                                  ng d|j        d|j        d|j        d|j        d|j        d|j         d|j        rD|j                                        r+t          j
        |j                                                  ng d|j!        i d|j"        d|j#        d|j$        d|j%        d|j&        d|j'        d |j(        rD|j(                                        r+t          j
        |j(                                                  ng d!|j)        d"|j*        d#|j+        d$|j,        rD|j,                                        r+t          j
        |j,                                                  ng d%|j-        rD|j-                                        r+t          j
        |j-                                                  ng d&|j.        d'|j/        d(|j0        d)|j1        d*|j2        i d+|j3        d,|j4        d-|j5        d.|j6        d/|j7        d0|j8        d1|j9        d2|j:        d3|j;        d4|j<        d5|j=        d6|j>        d7|j?        d8|j@        d9|jA        d:|jB        }t          t          jC        d;|d<t          jC                  S # t          $ r?}	t          t          jE        t          |	          dt          jE                  cY d }	~	S d }	~	ww xY w)=Nr&   zRent id is requiredr   r   r:   zNo rent and sale foundr   r   rB   r   rD   customer_phone_numbercustomer_imagesr  r0   r#  rL   r$  r   r9  r%  r&  r'  	facilitesdepositrQ   rR   rS   rT   rV   rU   rZ   rk  r(  r)  r*  r+  r,  r-  r   r.  r/  r0  r%   rW   rX   ro   rJ   type_propertydescription_home
spend_timeuseless_skillrG   rH   primary_roomr  key_info_bedroomstoryr  r1  )Gr   r   r   r   r   r2  r   r   r   r   r   r<  r   r   r   r   r&   r>   r   r   rC  rD  r  r0   r4  rL   r   r$  r   r9  r%  r&  r'  r=  rQ   rR   rS   rT   rV   rU   rZ   rk  r(  r)  r*  r+  r,  r-  r   r.  r/  r0  r%   rW   rX   ro   rJ   r>  r?  r@  rA  rG   rH   rB  r  rC  rD  r   r   r   r   )
r   r   rw  r6  r   r   r   rY   r   r   s
             ru   r   zrentPropertyDetails.get  s   RC!%%d++7
 f9DYZZbhb}~~~~!((G(44::<<7
 Bf9D\]]ek  fA  B  B  B  B%g&788?'  }!((m(<<BBDDH 	mm     
      8	'*8g(+8 *4c97;M;VV8  2 >	8
 ',98 W]8 !8 W(8 7CU|ZaZlZrZrZtZt|3#G$6$<$<$>$>???z|8 W]8 18 gm8 gm8 !8  W\!8" 'BSyX_XiXoXoXqXqy3#G$5$;$;$=$=>>>wy#8$ %8 8& '8( w})8* W\+8, W(-8. g*/80 '"182 @PuU\UeUkUkUmUmu#"7#3#9#9#;#;<<<su386 g+788 7598: W);8< Y`Yv  i  |C  |Y  |_  |_  |a  |a  ic.w/L/R/R/T/TUUU  gi=8> w?OtT[TdTjTjTlTlt!'"2"8"8":":;;;rt?8@ /A8B C8D G'E8F G7G8H 7%I8 8 8J '#K8L !M8N !O8P "Q8R 2S8T '3U8V g+W8X 1Y8Z 7%[8\ g+]8^ _8` '#a8b W)c8d W)e8f 1g8h gmi8 87r V/)7SS[a[m
n
n
nn	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AQ2 AQ2 "OQ2 2
R;<4R60R;6R;Nr   r}   rx   ru   r8  r8    s-        SC SC SC SC SCrx   r8  c                       e Zd Zd ZdS ) favouriteUnfavouriteRentPropertyc                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   rw  rx  r   r   r:   zNo rent property found.r   )r   r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   r2  r3  r   r   r   r   r   r   r   )r   r   r   r   r   r   rw  rs  r   r   r   s              ru   r   z%favouriteUnfavouriteRentProperty.postX  b   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<;\i((7
 K6#>Peffnt  oJ  K  K  K  K"))W)55;;==8
 O6#>Pijjrx  sN  O  O  O  O2:HHhbm{|H}}>7
 ~6#5Gdeemsm  A  A  A  A6#5Gabbjpj|}}}}	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr   Nr   r}   rx   ru   rF  rF  W  r   rx   rF  c                       e Zd Zd ZdS )salePropertyc                 $   	 g }| 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                            d          | j         j                            d          }t                      }|r2|r0|                    t          ||f          t          j                   |r.|                    t          |          t          j                   |r2|r0|                    t          ||f          t          j                   |r.|                    t          |          t          j                   |r.|                    t          |          t          j                   |	rk|
rit          |	          }t          |
          }d}|                    t          ||dz  z
  ||dz  z   ||dz  z
  ||dz  z             t          j                   t          j        	                    |d          
                    d          }|D ]Z}|j        dk    rd}n|j        dk    rd}nd}t          j        |j                  }g }|D ]q}t          j        	                    |                                          }|r#|                    |j        |j        d           Y|                    |d d           ri d |j        d!|j        d"|j        d#|j        d$|j        rD|j                                        r+t          j        |j                                                  ng d%|j        d&|j        d'|j        d(|j        d)|j        d*|j        d+|j         d,|j!        rD|j!                                        r+t          j        |j!                                                  ng d-|j"        d.|j#        d/|j$        d0|j%        i d1|j&        d2|j'        d3|j(        d4|j)        d5|j*        d6|j+        d7|j,        d8|j-        d9|j.        d:|j/        d;|j0        d<|j1        d=|j2        d>|j3        d?|j4        d@|j5        dA|j6        |j7        |j8        |j        rD|j                                        r+t          j        |j                                                  ng |j9        |j:        |j;        |j<        |j=        |dB	}|                    |           |dCk    rurfdD|D             }|dEk    rt}          |dF G          }n|dHk    rt}          |dI dJ          }|dKk    rt}          |dL G          }A|dMk    rt}          |dN dJ          }\t          t          j@        dO|dPt          j@        Q          S # t          $ r?}t          t          jB        t          |          dRt          jB        Q          cY d }~S d }~ww xY w)SN	min_price	max_pricer%   bedroom_minbedroom_max	amenitiesrW   rX   r$   r-   r.   r/   r0   )price__range)location__icontains)bedrooms__range)amenities__contains)subCategory__icontains   gfffff[@)latitude__gtelatitude__ltelongitude__gtelongitude__lteTr   r   r   r?   r   r@   rA   r   r   r&   r  main_categoryr#  rL   r$  r   rO   rV   rQ   rR   rS   rZ   rT   
youtubeUrlrC  r^   property_demensionvisionre   descriptioon
closingFeer&  	bathroomsreadyBypropertyReferenceIdmaintenanceFeefinance_rentalfinance_total_closing_feefinance_maintaince_feefinance_bill_utilitesri   
disclaimerproperty_information)	required_capitalresidental_property_detailsrY   r%   rW   rX   ro   r8  r   r1   c                 F    g | ]}|d          t                    k    |S rn   rp   rr   s     ru   rv   z$saleProperty.get.<locals>.<listcomp>  rw   rx   ry   c                     | d         S r{   r}   r~   s    ru   r   z"saleProperty.get.<locals>.<lambda>  r   rx   r   r   c                     | d         S r{   r}   r~   s    ru   r   z"saleProperty.get.<locals>.<lambda>  r   rx   r   r;   c                     | d         S r   r}   r~   s    ru   r   z"saleProperty.get.<locals>.<lambda>  r   rx   r   c                     | d         S r   r}   r~   s    ru   r   z"saleProperty.get.<locals>.<lambda>  r   rx   r  r1  r   r   )Dr   r   r   r   r   r   r@  SalePropertyr   r   r   r   r   r   
facilitiesr   r   r   r   r   r&   r  r[  r4  rL   r   r$  r   rO   rV   rQ   rR   rS   benfitsrT   r\  rC  r^   r]  r^  re   r_  r`  r&  ra  rb  rc  rd  re  rf  rg  rh  ri   ri  rj  rk  rl  r%   rW   rX   ro   r8  r   r   r   r   r   r   )r   r   r   rL  rM  r%   rN  rO  rP  rW   rX   r$   r-   r.   r0   r   latlongkmrangerentAndsaler   r   r   r   rY   r   r   r/   s                              @ru   r   zsaleProperty.gets  s   gC7)--k::9)--k::9l'++J778*..}==;*..}==;|(,,[999l'++J778|(,,[999,+//>>;)--l;;:l/334FGG|0445HIIl'++J778 SS7 >I >KK	)4555qu=== 8KKh///777 Ek EKK;{";<<<aeDDD ;KK	222AE::: =KK8444ae<<<8  p9 p??S)TW[[3#6sWUZ]GZlpsz  |A  tA  mA  SW  Za  bg  Zg  Sg  i  i  i  jk  jo  p  p  p %,,W,MMVVWkll;! VO VO{Q[[		q	 	 [[ [&{'=>>O( 	 	"))})==CCEEX 		}}  	 	 	 	
   	 	 	 	
2	+.2[2 k/2 [,	2
 H^  Jcncycc  dB  dB  JC$[%;%A%A%C%CDDD  HJ2 k2 52 k/2 [-2 #2 k2 [2 AT|YdYlYrYrYtYt| !4!:!:!<!<===z|2  K+!2" ;)#2$ K+%2& k'2 2( ;9)2* {!+2, {!-2. [-/20 ;)122 %324 +'526 #728 K;92: {1;2> k0?2@ !!FA2B k@C2D [>E2H +7I2J +(K2L K<M2 2N $4#.#JEPE[  G`k`v`|`|`~`~  G!+"8">">"@"@AAA  EG$$&$6$a2 2 2Gf NN7f baaaa'aaagk!!w$?$?@@@gg

#
#w$?$?NNNgH$$w$?$?@@@gg
h
&
&w$?$?NNNg
V/)7SS[a[m
n
n
nn	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs   [[ 
\4\
\
\Nr   r}   rx   ru   rJ  rJ  r  s-        hC hC hC hC hCrx   rJ  c                       e Zd Zd ZdS )salePropertyDetailsc                 	   	 t          |          }|rZt          j        |t          j                  }|d         }t
          j                            |                                          }nd}|j	        
                    d          }|st          ddit          j                  S t          j                            |                                          }|st          dd	it          j                  S t          j                            |j        |
                                          }|rd}	nd}	|j        dk    rd}
n|j        dk    rd}
nd}
t#          j        |j                  }g }|D ]q}t(          j                            |                                          }|r#|                    |j        |j        d           Y|                    |d d           ri d|j        d|j        j        d|j        j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        dz   |j        j        z   d|j        j        d|j        d|j        d|j        d|j         rD|j         !                                r+t#          j        |j         !                                          ng d|j"        d|j#        d |j$        d!|j%        d"|j&        d#|j'        i d$|j(        d%|j)        rD|j)        !                                r+t#          j        |j)        !                                          ng d&|j*        d'|j+        d(|j        d)|j,        d*|j-        d+|j.        d,|j/        d-|j0        d.|j1        d/|j2        d0|j3        d1|j4        d2|j5        d3|j6        d4|j7        i d5|j8        d6|j9        d7|j:        d8|j;        d9|j<        d:|j=        d;|j>        d<|j?        d=|j        rD|j        !                                r+t#          j        |j        !                                          ng d>|j@        d?|jA        d@|jB        dA|jC        dB|jD        dC|	dD|
}t          t          jE        dE|dFt          jE                  S # t          $ r?}t          t          jG        t          |          dGt          jG                  cY d }~S d }~ww xY w)HNr   r!   r   r&   r   zproperty_id is requiredr   r:   zNo sale property found)saler>   TFr?   r   r@   rA   r   r   rB   zcustomerPhoneNumber zcustomerName rD   zcustomerImage rC   customer_imager  r[  r#  rL   r$  r   rO   rV   rQ   rR   rS   rZ   rT   r\  rC  r^   r]  r^  re   r_  r`  r&  ra  rb  rc  rd  re  rf  rg  rh  ri   ri  rj  rk  rl  rY   r%   rW   rX   ro   r8  r   r   z*sale property details fetched successfullyr   r   )Ir   r   r   r
   r   r   r   r   r   r   r   r   r   r   rr  SalePropertyFavouriter&   r   r   rs  r   r   r   r   r>   rC  r   r   rD  r  r[  r4  rL   r   r$  r   rO   rV   rQ   rR   rS   rt  rT   r\  r^   r]  r^  re   r_  r`  r&  ra  rb  rc  rd  re  rf  rg  rh  ri   ri  rj  rk  rl  r%   rW   rX   ro   r8  r   r   r   r   )r   r   r   r   r   r   r   rx  r   rl   r   r   r   r   rY   r  r   s                    ru   r   zsalePropertyDetails.get  s   hC#G,,5 j 344Gi G ''W'55;;==KKK%))$//;
 ^Y89A\]]]]%,,,<<BBDD;
 ]Y78@[\\\\(077[^Wb7cciikk= IIIAKKaKKK %k&<==?'  }!((m(<<BBDDH 	mm     
      
8	+.8;),8 K2>8 [+5c9;;Q;ZZ	8
 k,98 '1#5{7M7VV8 k,98 [8 k/8 [,8 H^  Jcncycc  dB  dB  JC$[%;%A%A%C%CDDD  HJ8 k8 58  k/!8" [-#8$ #%8& k'8 8( [)8* AT|YdYlYrYrYtYt| !4!:!:!<!<===z|+8. K+/80 ;)182 K+384 k586 ;9788 {!98: {!;8< [-=8> ;)?8@ %A8B +'C8D #E8F K;G8H {1I8L k0M8 8 8N !!FO8P k@Q8R [>S8V +7W8X +(Y8Z K<[8\ 4]8^ #;#J_8` KDZ  F_j_u_{_{_}_}  F !7!=!=!?!?@@@  DFa8b $c8d $e8f &g8h 6i8j $k8l Im8n ko8 88r &"4?ks{||  EK  EW  X  X  X  X	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   B%R* (AR* 9N0R* *
S344S.(S3.S3Nr   r}   rx   ru   rz  rz    s-        iC iC iC iC iCrx   rz  c                       e Zd Zd ZdS ) favouriteUnfavouriteSalePropertyc                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   sale_idzSale Id is requiredr   r   r:   zNo sale property found.r   )r|  r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   rr  r~  r   r   r   r   r   r   r   )r   r   r   r   r   r   r  sale_objr   r   r   s              ru   r   z%favouriteUnfavouriteSaleProperty.post  rH  r   Nr   r}   rx   ru   r  r    r   rx   r  c                       e Zd Zd ZdS )bussinessForSaleDetailc                 8   	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        j        dz   |j        j        z   d	|j        d
|j        d|j        dt#          j        |j                  d|j        d|j        d
|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j         d|j!        d|j"        d|j#        d|j$        d|j         d|j%        d|j&        d |j'        d!|j(        d"|j)        d#|j*        d$|j+        d%|j,        d&|j-        |j.        |j/        |j0        |j1        |j2        |j3        |j4        |j5        |j6        |j7        |j8        d'}t          t          j9        d(|d)t          j9                  S # tt          $ r?}t          t          j;        ty          |          dt          j;                  cY d }~S d }~ww xY w)*Nr&   zBussiness sale Id is requiredr   r   r:   zNo bussiness sale foundr   rD   r0  r   rI   rL   rM   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  revenue_growthr  r  r  r  r  r  )r  r  r  r  r  r  r  r%   rW   rX   r8  z.bussiness for sale detail fetched siccessfullyr1  )=r   r   r   r   r   r   r  r   r   r   r&   r>   r   r   rC  r   rI   r   r   rL   rM   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  r  r  r  r  r  r  r  r%   rW   rX   r8  r   r   r   r   )r   rF  r   r   r   s        ru   r   zbussinessForSaleDetail.get  s   8C,+//55<
 If9Dcddlr  mH  I  I  I  I#+22l2CCIIKK=
 Cf9D]^^fl  gB  C  C  C  C.	=.m.8#=}?W?``. M5. M.	.
 =,. #"=#;<<. m". 6. M.. =,. m2. M. 6. &. ]0.  8!." }D#. .$ -:%.& 8'.( M>).* M+., m3-.. =-/.0 91.2 ==3.4 =5.6 ]07.8 m29.: }$;.< m#=.> )?.@ 7A.B   GC.D 'E. .F )'# -';%%'&[. . .7^ V/:jryzz  CI  CU  W  W  W  W	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AI AI 'F(I 
J4JJJNr   r}   rx   ru   r  r    (        9C 9C 9C 9C 9Crx   r  c                       e Zd Zd ZdS )!favouriteUnfavouriteBussinessSalec                 d   	 t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s<|                                 t          t          j        dd
t          j                  S |                                 t          t          j        dd
t          j                  S # t.          $ r?}
t          t          j        t3          |
          dt          j                  cY d }
~
S d }
~
ww xY w)Nr   r   r   r   r   r   r!   rF  zBussiness ID is requiredr   r   r:   r  r   )r   r>   r   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   r  r  r   r   r   r   r   r   r   )r   r   r   r   r   r   rF  r   r   r   r   s              ru   r   z&favouriteUnfavouriteBussinessSale.post  sm   C#G,,5mu%++--2*=*=

)
)*g
h
hhZx2wiHHH7Y7&&G&44::<<;,"">22<
 P6#>Pjkksy  tO  P  P  P  P#+22l2CCIIKK=
 H6#>Pbcckq  lG  H  H  H  H6>LLWdp{  JKL  L  L>7
 ~6#5Gdeemsm  A  A  A  A6#5Gabbjpj|}}}}	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCr   Nr   r}   rx   ru   r  r    r   rx   r  c                       e Zd Zd ZdS )myHouseWantedForRentDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        d|j        j
        d	|j        j        d
|j        j        d|j        j        dz   |j        j        z   d|j        dz   |j        z   d|j        d|j        dt+          j        |j                  d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j         dt+          j        |j!                  d|j"        d|j#        d|j$        d |j%        d!|j&        d"|j'        d#|j(        d$|j)        d%|j*        d&|j+        d'|j,        d(|j-        |j.        |j/        |j0        |j1        |j2        |j3        |j4        |j5        |j6        |j7        |j8        |j9        d)}t          t          j:        d*|d+t          j:                  S # tv          $ r?}t          t          j<        t{          |          dt          j<                  cY d }~S d }~ww xY w),Nr&   Rent sale Id is requiredr   r   r:   No house for rent foundrI   rB   customerphoneNumberr1  customerNamerD   rC   ry  rz  rf  rp  rq  rg  r{  ri  r2  r  r|  rk  r}  r~  r  r  rj  rl  r  rW   r   rQ   rR   rS   rT   rU   r9  )rX   r%   r  r  r  r  r  r  r  ro   r8  r   Details fetched successfullyr1  )>r   r   r   r   r   r   rn  r   r   r   r&   rI   r>   rC  rD  r   r   rp  rq  ry  rz  r   r   rf  rg  r{  ri  r2  r  r|  rk  r}  r~  r  r  rj  rl  r  rW   r   rQ   rR   rS   rT   rU   r9  rX   r%   r  r  r  r  r  r  r  ro   r8  rr  r   r   r   r   r  s         ru   r   zmyHouseWantedForRentDetails.get  s   =C\&**4007
 Df9D^__gm  hC  D  D  D  D (//7/;;AACC8
 Cf9D]^^fl  gB  C  C  C  C0(+0(&0 (%(0 (-9	0
 H'40 8&04h6I6RR0 #C');;0 20 X,0 Shn--0 (%0 #0 ho0 
8<0 8'0  8(!0" X^#0 0$ !%0& X+'0( !)0* #+0, 3#H$9::-0. x0/00 x/102 4304 H)506 x 708 (&90: !;0< HN=0> 8=?0@ (&A0B x C0D HNE0 0F " N",&(=  2 &]0 0 07b V/:X`ghhpv  qC  D  D  D  D	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AJ AJ 'GJ 
K4K KKNr   r}   rx   ru   r  r    s(        >C >C >C >C >Crx   r  c                       e Zd Zd ZdS )myInvestmentMyProjectDetailsc           
         	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        j
        d|j        d	|j        j        d
z   |j        j        z   d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d|j        d|j#        d |j$        d!|j%        d"|j&        d#|j'        d$|j(        d%|j)        d&|j*        d'|j+        |j,        |j-        |j.        |j/        |j0        |j1        |j        |j2        d(}t          t          j3        d)|d*t          j3                  S # th          $ r?}t          t          j5        tm          |          dt          j5                  cY d }~S d }~ww xY w)+Nr&   r  r   r   r:   r  rB   r1  rC   rD   rO   rL   rM   r  r'  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r2  r	  rh  r
  r  r  )r  r  r%   rW   rX   ro   r   r8  zDeatils fetched successfullyr1  )7r   r   r   r   r   r   r  r   r   r   r&   r>   rD  r   r   rO   rL   rM   r  r'  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r2  r	  rh  r
  r  r  r  r  r%   rW   rX   ro   r8  r   r   r   r   r   r   
project_idr   r   r   s         ru   r   z myInvestmentMyProjectDetails.get:  s   8C)--d33:
 Df9D^__gm  hC  D  D  D  D (//:/>>DDFF7
 Cf9D]^^fl  gB  C  C  C  C+'*+'$'+ G(+ ",S0'2D2MM	+
 G)+ #+ W^+ W++ G)+ g-+ 77+ 7'+ 1+ 1+ 7'+  w?!+" '%#+ +$ W+%+& 3'+( '5)+* g=++, w-+. G9/+0 #1+2 13+4 #5+6 #7#G7+8 39+: 7';+< W;=+> go?+@ w/A+B w/C+D w/E+ +F -!1^U+ + +7X V/:X`ghhpv  qC  D  D  D  D	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AH1 AH1 'F	H1 1
I:;4I5/I:5I:Nr   r}   rx   ru   r  r  9  r  rx   r  c                       e Zd Zd ZdS )myInvestmentMyCompanyDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S i d|j
        d|j        d|j        d	|j        j
        d
|j        j        d|j        j        dz   |j        j        z   d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d|j#        d |j$        d!|j%        d"|j&        d#|j'        d$|j(        d%|j)        d&|j*        d'|j+        d(|j,        |j-        |j        d)}t          t          j.        d*|d+t          j.                  S # t^          $ r?}t          t          j0        tc          |          dt          j0                  cY d }~S d }~ww xY w),Nr&   r  r   r   r:   zNo investment company foundrL   r$  rB   r1  rC   rD   r   r  r  r  company_telephonecompany_postcodecompany_postal_coder  r  r  chairman_emailr  r  r  r  r  small_company_logor   r  r  r  r  rH  youtube_urlr  teamboardpartners)r8  r   r  r1  )2r   r   r   r   r   r   r  r   r   r   r&   rL   r$  r>   rD  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  rH  r  r  r  r  r  r8  r   r   r   r   r  s         ru   r   z myInvestmentMyCompanyDetails.getv  s   2C)--d33:
 Df9D^__gm  hC  D  D  D  D (//:/>>DDFF7
 Gf9Dabbjp  kF  G  G  G  G%'*%#% GM% '$'	%
 G&3% ",S0'2D2MM% G(% W+% 76% W*% 2% 0% 76% w.% 0%  0!%" g,#% %$ '4%%& 76'%( G()%* G(+%, '%-%. '4/%0 7&1%2 W*3%4 w.5%6 07%8 w.9%: 7&;%< 7&=%> w.?%@ GLA%B W]C%D  E% %F  nI% % %7L V/:X`ghhpv  qC  D  D  D  D	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AH AH 'E*H 
I4IIINr   r}   rx   ru   r  r  u  s(        3C 3C 3C 3C 3Crx   r  c                       e Zd Zd ZdS )myPropertyProjectDetailsc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S |j        dk    rd}n|j        d	k    rd
}nd}t          j        |j                  }g }|D ]q}t          j                            |          	                                }|r#|                    |j        |j        d           Y|                    |d d           ri d|j        d|j        j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        rD|j                                        r+t          j        |j                                                  ng d|j         d|j!        d|j"        d|j#        i d|j$        d |j%        d!|j&        d"|j'        d#|j(        d$|j)        d%|j*        d&|j+        d'|j,        d(|j-        d)|j.        d*|j        rD|j                                        r+t          j        |j                                                  ng d+|j/        rD|j/                                        r+t          j        |j/                                                  ng d,|j0        d-|j1        d.|j2        d/|j3        i d0|j4        d1|j5        d2|j6        d3|j7        d4|j8        d5|j9        d6|j:        d7|j;        d8|j<        d9|j=        d:|j>        d4|j8        d;|j?        d<|j@        d=|d>|jA        }	t          t          jB        d?|	d@t          jB                  S # t          $ r?}
t          t          jD        t          |
          dt          jD                  cY d }
~
S d }
~
ww xY w)ANr&   zProject Id is requiredr   r   r:   r  r   r?   r   r@   rA   r   r   rB   rC   rD   r1  r:  rE   rF   rG   rH   rI   rJ   rK   rL   rM   r   rN   r0   rO   rP   rQ   rR   rS   rT   rU   rV   r%   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r   r8  r  r1  )Fr   r   r   r   r   r   r   r   r   r   r   r   rY   r   r   r   r   r&   r>   r   r   rD  rC  rE   rF   rG   rH   rI   rJ   rK   rL   r   rM   r   rN   r0   rO   rP   rQ   rR   rS   rT   rU   rV   r%   rW   rX   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r8  r   r   r   r   )r   r   r  r   r   r   r   r   rY   r   r   s              ru   r   zmyPropertyProjectDetails.get  sA   YC)--d33:
 Bf9D\]]ek  fA  B  B  B  B$++z+::@@BB7
 Cf9D]^^fl  gB  C  C  C  CnKK!KKK %g&677? '  }!((m(<<BBDDH 	mm     
      3'*3'$'3 ",S0'2D2MM3 W'4	3
 W/;3 '53 33 go3 !3 '%3 13 773 ASzX_XjXpXpXrXrz!'"4":":"<"<===xz3 W^3 w/3  1!3" w#3 3$ G)%3& 3'3( go)3* GM+3, 7<-3. '%/30 w132 7'334 w536 w738 !93: W=MrRYRbRhRhRjRjrs 0 6 6 8 8999pr;3< W=MrRYRbRhRhRjRjrs 0 6 6 8 8999pr=3> 77?3@ #A3B 7'C3D GME3 3 3F 7'G3H G9I3J W+K3L W;M3N G9O3P *'*UQ3R W^S3T #U3V w/W3X w/Y3Z 1[3\ G9]3^ w/_3` W+a3b kc3d we3 37h V/:X`ghhpv  qC  D  D  D  D	 C C C
VBSQRVVTT\b  ]B  C  C  C  C  C  C  C  C  CCs,   AP AP 'MP 
Q4QQQNr   r}   rx   ru   r  r    s-        ZC ZC ZC ZC ZCrx   r  c                       e Zd Zd ZdS )commonGetPropertiesDetailc                    	 |j                             d          }|j                             d          }|s(t          t          j        ddt          j                  S d}|rit
          j                            |                                          }t          j                            ||          }|
                                rd	}d
| j        j                             d
          i}	 |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod}t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S |dk    rod }t          j        d||          }	|	                                }
t          |
                    d          t                    r||
d         d<   t          |
          S t          t          j        d!dt          j                  S # t"          $ r?}t          t          j        t'          |          dt          j                  cY d }~S d }~ww xY w# t"          $ r?}t          t          j        t'          |          dt          j                  cY d }~S d }~ww xY w)"NrB   r  type is requiredr   r   Fr:   )r>   r'  Tr&   rr  z:http://95.111.228.198:9007/panel-api/sale-property-detailsr   )paramsrt   is_requestedr2  z9http://95.111.228.198:9007/panel-api/rent-property-detailr%  zChttp://95.111.228.198:9007/panel-api/get-bussiness-for-sale-details	HouseRentzEhttp://95.111.228.198:9007/panel-api/my-house-wanted-for-rent-detailsInvestmentProjectzBhttp://95.111.228.198:9007/panel-api/my-investment-project-detailsInvestmentCompanyzEhttp://95.111.228.198:9007/panel-api/my-investment-my-company-detailsr   z@http://95.111.228.198:9007/panel-api/my-property-project-detailsCompanySeekingz;http://95.111.228.198:9007/panel-api/detail-company-seekingPropertyDeveloperszChttp://95.111.228.198:9007/panel-api/get-property-developer-detailszNo Property)r   r   r   r   r   r   r   r   r   r>  existsr   r  r  
isinstancedictr   r   r   r   )r   r   rB   Typer  r   inquirePropertyProjectObjr  r  getAPIapiResponser   s               ru   r   zcommonGetPropertiesDetail.get	  s    hD
 &**=99K##F++D }v:EWXX`f`{||||L !((K(88>>@@[ 6 > E EQ\ko E p p!((** l
 $,+//55 GQEHcs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k"""Gcs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k"""QcsG<<<fKKMMk	KOOF++T	2	2 :-9{6>*k""" 	ScsG<<<fKKMMk	KOOF++T	2	2 :-9{6>*k""" 	$$$Pcs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k""" 	$$$Scs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k""" 	"""Ncs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k"""!!!Ics7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k"""%%%Qcs7;;;fKKMMk	KOOF++T	2	2 :-9{6>*k"""  2]KKSYSeffff E E EvDsSTvvVV^d  _D  E  E  E  E  E  E  E  E  EE	 D D DfCcRSffUU]c  ^C  D  D  D  D  D  D  D  D  DDs   AV   BV  /A4T4 $A4T4 A4T4 A4T4 A4T4 8A4T4 -A4T4 "A4T4 A4T4 'T4 4
U=>4U82U=3V  8U==V   
W	
4W>W	W	Nr   r}   rx   ru   r  r    s-        iD iD iD iD iDrx   r  c                       e Zd Zd ZdS )ListCompanySeekingc                    	 g }t           j                                        }|D ]+}|                    i d|j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        j	        d|j
        d|j        d	|j        d
|j        dt          j        |j                  d|j        d|j        d|j        d|j        d|j        d|j        d|j        i d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j         d|j!        d|j"        d|j#        d|j$        d |j%        d!|j&        d"|j'        d#|j(        i d$|j)        d%|j*        d&|j+        d'|j,        d(|j-        d)|j.        d*|j/        d+|j0        d,|j1        d-|j2        d.|j3        d/|j4        d0|j5        d1|j6        d2|j7        d3|j8        d4|j9        |j:        r|j:        j        nd |j;        |j<        |j=        |j>        |j?        |j@        |jA        d5           -t          tr          jC        d6|d7          S # t          $ rN}t          |           t          tr          jF        t          |          d8tr          jF        9          cY d }~S d }~ww xY w):Nr&   r   rD   rB   r:  r;  r   rI   r   about_the_ownerrL   rM   r   r  maximum_drawingr  r  r  number_of_sharer  r  e_postissue_account_numberestablish_yearpremises_frombackground_for_saler  number_of_employeer  r  youtubeshare_before_sharename_of_shareholderbeskrivelseupload_team_dataupload_team_nameupload_team_sizeupload_board_dataupload_board_nameupload_board_sizeupload_partner_dataupload_partner_nameupload_partner_sizer%   rQ   rR   rS   zip_coderU   share_holder_imageenter_sharesr   )r  ro   rW   rX   rr  end_dater   favourite_dater  r   r   r   )Hr  r   allr   r&   r>   r   r   rC  rD  r   rI   r   r  r   r   property_imageproperty_videor   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  r  r  r  r  r  r%   rQ   rR   rS   r  rU   r  r  r   r  ro   rW   rX   rr  r  r   r  r   r   r   r=  r   r   )r   r   r   list_companycsr   s         ru   r   zListCompanySeeking.gett  s   NO 7&.2244< ? ?rNN >	25>bm-3bm6LL> R]%>  9	>
 "-4> R_> BN> BN> *> 3#B$566> r > ,> R_> *> *>  r(!>" *#> >$ *%>& BN'>( B2)>* ry+>, R4->. r(/>0 b&1>2 B23>4 *5>6 207>8 b&9>: ".;>< 
=>> 20?>@ B2A>B BNC>D 	B/E> > >F ,G>H ,I>L ".M>N ".O>P ".Q>T B2U>V B2W>X B2Y>Z [>\ 
]>^ bh_>` RWa>b c>d e>f 20g>h R_i>j ryk> >l  "y2ry||d.,=_({> > > > > > >@ &"4iW^__
`
`` 
 O O O888
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOs   I+I. .
K8AK;KKNr   r}   rx   ru   r  r  s  s-        OO OO OO OO OOrx   r  c                       e Zd Zd ZdS )DetailCompanySeekingc                    	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S t          j                            d|j        d	                              t          d
                    }|d         pd}t          |d           	 t          |j                  }n# t"          t$          f$ r d}Y nw xY w|dk    r	||z  dz  }nd}|dk    }|r|dz  }	nd}	i d|j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        j        d|j        d|j        d|j        d|j        dt9          j        |j                  d|j        d|j         d|j!        d|j        d |j"        d|d!tG          |d"          i d#|d$|j$        d%|	d&|j%        d'|j&        d(|j'        d)|j(        d*|j)        d+|j*        d,|j+        d-|j,        d.|j-        d/|j.        d0|j/        d1|j0        d2|j1        d3|j2        i d4|j3        d5|j4        d6|j5        d7|j6        d8|j7        d9|j8        d:|j9        d;|j:        d<|j;        d=|j<        d>|j=        d?|j>        d@|j?        dA|j@        dB|jA        dC|jB        dD|jC        |jD        |jE        |jF        |jG        |j        |jH        r|jH        j        nd |jI        |jJ        |jK        |jL        |jM        dE}
t          t          jN        dF|
dG          S # t          $ rN}t          |           t          t          jP        t          |          dt          jP                  cY d }~S d }~ww xY w)HNr&   seeking_id is requiredr   r   r:   No seeking company foundcompany_seeking_equityr&  )r'  company_seeking_equity_idr)  r*  r+  r,  r-  z-----totak_investmentr   r.  r/  r   rD   rB   r:  r1  r   rI   r   r  rL   rM   r   r  r  r  r3  r4  r5  r6  r7  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  r  r  r%   rQ   rR   rS   )r  rU   r  r  r   r  ro   rW   rX   rr  r  r  r   )Rr   r   r   r   r   r   r  r   r   r   r>  r&   r?  r   r=  r@  r  rA  rB  r>   r   r   rC  rD  r   rI   r   r  r   r   r  r  r   r  r  rE  r6  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  r  r  r%   rQ   rR   rS   r  rU   r  r  r  ro   rW   rX   rr  r  r   r   r   r   )r   r   
seeking_idr  rG  r,  rH  r3  r5  rI  r  r   s               ru   r   zDetailCompanySeeking.get  sF   mO)--d33:
 N6#>Phiiqw  rM  N  N  N  N$++z+::@@BB2
 P6#>Pjkksy  tO  P  P  P  P (/66* e$ 7   Y$7 8 8Y99	  ""45<	1222*++KKy
!   KKK Aoo+k9S@)C/ %!1D!8!$E"%ER],s2R]5KKE BM$E bm7	E
 bm0E BOE 2>E 2>E r)E #"2#455E bE +E BOE r)E r)E" (#E$ 5!4a88%E E& .'E( BO)E* *+E. b'/E0 r)1E2 r)3E4 2>5E6 217E8 bi9E: B3;E< b'=E> R%?E@ 21AEB r)CED "/EEF R%GEH -IE E EJ rzKEL "/MEN 21OEP 2>QER +SET +UEV +WEZ -[E\ -]E^ -_Eb 21cEd 21eEf 21gEh iEj rzkEl RXmEn BGoE Ep /Oi i1billT--EE E E8L &"4iW_``
a
aa	 O O O888
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOsR   AN AN 'A"N 
D N D52N 4D55I!N 
O/!AO*$O/*O/Nr   r}   rx   ru   r  r    s-        nO nO nO nO nOrx   r  c                       e Zd Zd ZdS )ConfirmPaymentc                    	 |j                             d          }|j                             dd          }|j                             d          }|j                             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 |dk    ryt
          j                            |                                          }|s(t          t          j        ddt          j                  S ||_	        |
                                 n$|dk    rxt          j                            |                                          }|s(t          t          j        ddt          j                  S ||_	        |
                                 n|dk    rxt          j                            |                                          }|s(t          t          j        ddt          j                  S ||_	        |
                                 n(t          t          j        ddt          j                  S 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&   r6  Fr  rB   r  r   r   r  zcustomer_id is requiredr  r:   r  PropertyDeveloperNo property developer foundBusinessForSalezNo business for sale foundzInvalid type providedz#Payment status updated successfully)r   r   r   r   r   r  r   r   r   r6  r   r  r  r   r   r=  r   r   )r   r   r  r6  entity_typerB   r  r   s           ru   r   zConfirmPayment.post<	  sn   4	K -11$77J"/33NEJJL!.226::K!.22=AAK D0K_w x x'-'BD D D D  D0K_q r r'-'BD D D D  D0K_x y y'-'BD D D D ...)188J8GGMMOO H#F4Oc}$~$~+1+FH H H H".				 333'/66*6EEKKMM H#F4O  dA  %B  %B+1+FH H H H".				 111%-44
4CCIIKK H#F4Oc  %A  %A+1+FH H H H".				  0K_v w w'-'BD D D D F,>Rwxxyyy 	K 	K 	K!HHHF,Qehijekekll$*$IK K K K K K K K K	KsM   BJ( )J( ?)J( )A!J( A>J( 
A=J( AJ( J( (
L 2AK;5L ;L Nr   r}   rx   ru   r  r  ;	  s(        5K 5K 5K 5K 5Krx   r  c                       e Zd Zd ZdS )getContentPagesc                    	 |j                             d          }|s(t          t          j        ddt          j                  S |j                             d          }t
          j                            |                                          }|s(t          t          j        ddt          j	                  S |r"|j
        |j        |j        |j        |j        d}ni }t          t          j	        d	|d
t          j	                  S # t          $ rN}t!          |           t          t          j        t%          |          dt          j                  cY d }~S d }~ww xY w)N	page_typezPage type is requiredr   r   language)page_type_namezNo content page found)
page_titlepage_contentpage_title_nwpage_content_nwr5  r  r   r   )r   r   r   r   r   ContentPagesAdminr   r   r   r   r  r  r  r  r5  r   r=  r   r   )r   r   r  r  content_objr   r   s          ru   r   zgetContentPages.getu	  s   O#''449
 Af9D[\\djd  A  A  A  A"&&z228"*11)1LLRRTT;
 xf9D[\\djdvwwww 	(, ."2( GG G
&"4iW^__gmgy
z
z
zz	 O O O888
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOs-   AD A5D <AD 
E#AEE#E#Nr   r}   rx   ru   r  r  t	  s(        O O O O Orx   r  c                       e Zd Zd ZdS )getFaqContentc                    	 t           j                            d                              d          }g }|D ],}|j        |j        |j        d}|                    |           -t          t          j
        d|dt          j
                  S # t          $ rN}t          |           t          t          j        t          |          dt          j                  cY d }~S d }~ww xY w)	NTr   r9   )r&   r  contentzFaq fetched successfullyr   r   r   )AdminFaqr   r   r   r&   r  r  r   r   r   r   r   r=  r   r   )r   r   data_objr   faqr   r   s          ru   r   zgetFaqContent.get	  s3   O%%%>>GGNN87  sVy G NN7
&"4F`hoppx~  yK  L  L  L  L	 O O O888
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOs   BB 
C'AC"C'"C'Nr   r}   rx   ru   r  r  	  s(        O O O O Orx   r  c                       e Zd Zd ZdS )getPlanListc                    	 t           j                            dd          }g }|D ]V}|j        |j        |j        |j        |j        |j        |j	        |j
        |j        |j        d
}|                    |           Wt          t          j        d|dt          j                  S # t"          $ r?}t          t          j        t'          |          dt          j                  cY d }~S d }~ww xY w)NTr7   )
r&   	plan_nameplan_validityr^   plan_descriptiondigital_rental_contractnotifications_stakeholdersvisibility_among_adsvisibility_at_topinformation_of_local_areazPlan list fetched successfullyr   r   r   )SubscriptionPlanr   r   r&   planNameplanDurationDaysr^   r   r  r  r  r  r	  r   r   r   r   r   r   r   )r   r   plan_objr   planr  r   s          ru   r   zgetPlanList.get	  sJ   O&--t4-PP87  t
'*Z(#;"&"A 5/!%!? H NN8
&"4Ffnuvv  E  Q  R  R  R  R	 O O O
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOs   B$B' '
C014C+%C0+C0Nr   r}   rx   ru   r   r   	  s(        O O O O Orx   r   c                       e Zd Zd ZdS )getCompanyInformationc           
      z   t           j                                                                        }|s(t	          t
          j        ddt
          j                  S |j        |j        |j	        |j
        |j        |j        |j        |j        |j        d	}t	          t
          j        d|dt
          j                  S )NzNo data foundr   r   )	r  company_phone_numbercompany_locationcompany_latitudecompany_longitudecompany_facebookcompany_instagramcompany_twittercompany_youtubez(company information fetched successfullyr   r   r  )CompanyContactInformationr   r  r   r   r   r   r  r  r  r  r  r  r  r  r  r   )r   r   	check_objr  s       ru   r   zgetCompanyInformation.get	  s    )15577==??)	 D
&"=__gm  hC  D  D  D  D*#800 20 2..
 
( 
!3Eo  |D  E  E  MS  M_  
`  
`  
`  `rx   Nr   r}   rx   ru   r  r  	  s(        ` ` ` ` `rx   r  c                       e Zd Zd ZdS )getHowItWorkc                    t           j                            d          }g }|D ]8}|j        |j        |j        |j        |j        d}|                    |           9t          t          j        d|dt          j                  S )NTr   )r&   step_numberr   r  r   r   r  r   )
HowItWorksr   r   r&   r   r   r  r   r   r   r   r   )r   r   how_objall_Datahowr  s         ru   r   zgetHowItWork.get	  s    &&$&??'(  c	/8I/ 8 ??8	!3E[goppx~  yK  
L  
L  
L  Lrx   Nr   r}   rx   ru   r  r  	  s(        L L L L Lrx   r  c                       e Zd Zd ZdS )propertyDevelopersDetailsc                 

   	 | j         j                            d          }|s(t          t          j        ddt          j                  S t          j                            |          	                                }|s(t          t          j        ddt          j                  S t          j                            d|j        d	                              t          d
                    }|d         pd}t          |           	 t          |j                  }n# t"          t$          f$ r d}Y nw xY w|dk    r	||z  dz  }nd}|dk    }|r|dz  }	nd}	i d|j        d|j        j        dz   |j        j        z   d|j        j        d|j        j        d|j        j        dt1          j        |j                  d|j        d|j        d|j        d|j        d|dt=          |d          d|d|j        d|	d |j         d!|j!        i d"|j"        d#|j#        d$|j$        d%|j%        d&|j&        d'|j'        d(|j(        d)|j)        d*|j*        d+|j+        d,|j,        d-|j-        d.|j.        d/|j/        d0|j0        d1|j1        d2|j2        i d3|j3        d4|j4        d5|j5        d6|j6        d7|j7        d8|j8        d9|j9        d:|j:        d|j        d;|j;        d<|j<        d=|j=        d>|j>        d?|j?        d|j        d@|j@        dA|jA        i dB|jB        dC|jC        dD|jD        dE|jE        dF|jF        dG|jG        dH|jH        dI|jI        dJ|jJ        dK|jK        dL|jL        dM|jM        dN|jN        dO|jO        dP|jP        dQ|jQ        dR|jR        i dS|jS        d<|j<        dT|jT        dU|jU        dV|jV        dW|jW        dX|jX        dY|jY        dZ|jZ        d[|j[        d\|j\        d]|j]        d^|j^        d_|j_        d`|j`        da|ja        db|jb        |jc        |jd        |je        |jf        |jg        |jh        |j        |ji        r|ji        j        nd |jj        |jk        |jl        dc}
t          t          jm        dd|
de          S # t          $ rN}t          |           t          t          jo        t          |          dt          jo                  cY d }~S d }~ww xY w)fNr&   zdeveloper_id is requiredr   r   r:   zNo property developers foundproperty_developersr&  )r'  property_developers_idr)  r*  r+  r,  r-  r   r.  r/  r   rD   rB   r:  r1  rL   rM   r   r  r  r3  r4  r5  r6  r7  r  rO   r'  r  r  r  r  r  r  rI   r   r  r   r  expected_periodr  r  r  r  r  r  r2  measure_of_multiplierrh  minimum_goalr  r  price_of_sharesatutesno_of_drawingsr  remaining_shareshort_description
why_investproblem_to_be_solvedour_solutionstart_date_dataend_date_datar  issue_minimum_investmentissue_maximum_investmentvalue_before_issueraised_capital_minimum_limitraised_capital_maximum_limit#share_of_company_sold_minimum_limit#share_of_company_sold_maximum_limitr  discussion_descriptionnew_exisiting_detailsdrawing_on_behalf
foundationfoundation_namesatutes_nameannual_accountannual_account_namer  valuation_nameagreement_on_coagreement_on_co_nameconversion_of_debtconversion_of_debt_namebalance_sheetbalance_sheet_nameresult_reportresult_report_namer%   rQ   )rR   rS   r  rU   rW   rX   r   r  ro   rr  r  r  r   )qr   r   r   r   r   r   r  r   r   r   r>  r&   r?  r   r=  r@  r  rA  rB  r>   r   r   rC  rD  r   r   r  rM   r   r  rE  r6  r  rO   r'  r  r  r  r  r  r  rI   r   r  r   r  r*  r  r  r  r  r  r  r2  r+  rh  r,  r  r  r-  r.  r/  r  r0  r1  r2  r3  r4  r5  r6  r  r7  r8  r9  r:  r;  r<  r=  r  r>  r?  r@  rA  rB  rC  rD  rE  r  rF  rG  rH  rI  rJ  rK  rL  rM  rN  r%   rQ   rR   rS   rT   rU   rW   rX   r  ro   rr  r  r   r   r   r   )r   r   developer_idr  rG  r,  rH  r3  r5  rI  r  r   s               ru   r   zpropertyDevelopersDetails.get	  s   UO,+//55<
 P6#>Pjkksy  tO  P  P  P  P"))\)::@@BB2
 T6#>Pnoow}  xS  T  T  T  T'/66(U% 7   Y$7 8 8Y99	  ""45<	*++KKy
!   KKK Aoo+k9S@'#- %!1D!8!$m"%mR],s2R]5KKm BM$m bm7	m
 bm0m #"2#455m bim +m b(m r)m (m 5!4a88m .m BOm  *!m$ %m& B$'m m( R%)m* r)+m, B3-m. BO/m0 -1m2 -3m4 BO5m6 2>7m8 2>9m: b';m< "/=m> 21?m@ r)AmB CmD R5EmF "-GmH "-Im m mJ #B$CKmL "/MmN BOOmP R5QmR rzSmT BOUmX 21YmZ R%[m\ r)]m^ R&_m` bjamd b'emf b'gmh r)imj r)kml -mmn "-om m mp B3qmr BOsmt r)umv R%wmx r)ymz  ;{m|  ;}m~ "/m@ #B$CAmB #B$CCmD *2+QEmF *2+QGmH 2>ImJ b7KmL R5MmN -OmP "-Qm m mR r)SmV rzWmX BOYm\ b']m^ 21_mb cmd b'emh r)imj B3kmn "/omp r9qmt R%umv "/wmz R%{m| "/}m@ AmB rzCm mD XGi i1billT--Ym m m8\ &"4iW_``
a
aa	 O O O888
&"GY\]^Y_Y_``hn  iN  O  O  O  O  O  O  O  O  OOsR   AR* AR* 'A!R* 	D R* D41R* 3D44M5R* *
T4AS=7T=TNr   r}   rx   ru   r&  r&  	  s-        VO VO VO VO VOrx   r&  c                       e Zd Zd ZdS )&favouriteUnfavouritePropertyDevelopersc                    t          |          }||dk    s|                                dk    rt                              d          t	          j        |t          j        dg          }|d         }t          j	        
                    |                                          }|j                            d          }|s(t          t          j        d	d
t          j                  S t"          j	        
                    |                                          }|s(t          t          j        dd
t          j                  S t$          j	                            ||d          \  }}	|	s0|                                 t          t          j        dd
          S |                                 t          t          j        dd
          S )Nr   r   r   r   r   r   r!   rO  zDeveloper ID is requiredr   r   r:   r  r   )property_developerr>   r   r   r   )r   r   r   r   r   r   r
   r   r   r   r   r   rt   r   r   r   r   r  PropertyDevelopersFavouriter   r   r   r   )
r   r   r   r   r   r   rO  developer_objr   r   s
             ru   r   z+favouriteUnfavouritePropertyDevelopers.post{
  s   
"7
+
+%
]evoo")<)<		(	()f	g	ggJuh1gYGGG'I'%%7%3399;;+!!.11,	 O
&"=Oijjrx  sN  O  O  O  O$,33|3DDJJLL-	 R
&"=Olmmu{  vQ  R  R  R  R7?MMan  {F  TUM  V  V.'	 c
&"4Fcdd
e
ee
&"4F`aa
b
bbrx   Nr   r}   rx   ru   rQ  rQ  z
  s(        c c c c crx   rQ  )brest_framework.viewsr   rest_framework.responser   rest_frameworkr   r  modelsrandomr	   django.confr
   passlib.hashr   handleradmin_api.functionsdjango.contrib.authr   mathpytzstringdjango.template.loaderr   django.corer   django.core.mailr   django.contrib.auth.modelsr   rest_framework_simplejwt.tokensr   readmin_api.modelsr   django.core.paginatorr   r   r   customer_api.modelsrest_framework.authenticationr   r   django.db.modelsr   subscription_api.modelsr   r   customer_api.authenticationr   rest_framework.permissionsr   django.utils.timezoner   r   r   r   r   r   r   r"  rK  rb  ru  r  r  r  r  r  r  r  r  r  r  r  r  r!  r8  rF  rJ  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r&  rQ  r}   rx   ru   <module>rr     sT   ( ( ( ( ( ( , , , , , , ! ! ! ! ! !                         8 8 8 8 8 8 ! ! ! ! , , , , , , ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 3 3 3 3 3 3       3 3 3 3 3 3 + + + + + + 8 8 8 8 8 8 				 ' ' ' ' ' '     H H H H H H H H H H ! ! ! ! B B B B B B 



       % % % % " " " " " " 



 5 5 5 5 5 5 6 6 6 6 6 6 % % % % % % & & & & & &            IC IC IC IC IC IC IC ICVVC VC VC VC VC VC VC VCpC C C C Cg C C C2lC lC lC lC lC' lC lC lC\fC fC fC fC fC fC fC fCVC C C C C7 C C CBCC CC CC CC CC CC CC CCJ=C =C =C =C =Cw =C =C =C~C C C C C C C C4C C C C CG C C C2c c c c cw c c c45C 5C 5C 5C 5CW 5C 5C 5Cn4H 4H 4H 4H 4HG 4H 4H 4HrXC XC XC XC XC XC XC XCxC C C C CG C C C2C C C C Cw C C CBRC RC RC RC RCg RC RC RCh6C 6C 6C 6C 6CW 6C 6C 6CpC C C C CG C C C2C C C C Cg C C CBFC FC FC FC FCw FC FC FCRTC TC TC TC TC' TC TC TClC C C C Cw C C C6iC iC iC iC iC7 iC iC iCVkC kC kC kC kC' kC kC kCZC C C C Cw C C C2:C :C :C :C :CW :C :C :CxC C C C C C C C2?C ?C ?C ?C ?C' ?C ?C ?CB:C :C :C :C :C7 :C :C :Cx4C 4C 4C 4C 4C7 4C 4C 4Cl[C [C [C [C [Cw [C [C [CzjD jD jD jD jD jD jD jDVPO PO PO PO PO PO PO POf !          oO oO oO oO oO7 oO oO oOf6K 6K 6K 6K 6KW 6K 6K 6KrO O O O Og O O O6O O O O OG O O O$O O O O O' O O O0` ` ` ` `G ` ` `(L L L L L7 L L L&WO WO WO WO WO WO WO WOtc c c c cW c c c. 6 5rx   