a
    mg:                    @   sX  d dl mZ d dlmZ d dlm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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	m
Z
 d dlmZ d dlm Z  d dl!Z!d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z(m)Z) d	dl*T d dl+T d dl,m-Z-m.Z.m/Z/ d dlmZ d dl0m1Z1 d dl2T d dl3T d dlmZ d dl4m5Z5 d dl6Z6G dd deZ7G dd deZ8G dd deZ9G dd deZ:G d d! d!eZ;G d"d# d#eZ<G d$d% d%eZ=G d&d' d'eZ>G d(d) d)eZ?G d*d+ d+eZ@G d,d- d-eZAG d.d/ d/eZBG d0d1 d1eZCG d2d3 d3eZDG d4d5 d5eZEG d6d7 d7eZFG d8d9 d9eZGG d:d; d;eZHG d<d= d=eZIG d>d? d?eZJG d@dA dAeZKG dBdC dCeZLG dDdE dEeZMG dFdG dGeZNG dHdI dIeZOG dJdK dKeZPG dLdM dMeZQG dNdO dOeZRG dPdQ dQeZSG dRdS dSeZTG dTdU dUeZUG dVdW dWeZVG dXdY dYeZWG dZd[ d[eZXG d\d] d]eZYG d^d_ d_eZZG d`da daeZ[G dbdc dceZ\G ddde deeZ]G dfdg dgeZ^G dhdi dieZ_G djdk dkeZ`G dldm dmeZaG dndo doeZbG dpdq dqeZcG drds dseZdG dtdu dueZeG dvdw dweZfG dxdy dyeZgG dzd{ d{eZhG d|d} d}eZiG d~d deZjG dd deZkG dd deZlG dd deZmG dd deZnG dd deZoG dd deZpG dd deZqG dd deZrG dd deZsG dd deZtG dd deZuG dd deZvG dd deZwG dd deZxG dd deZyG dd deZzG dd deZ{G dd deZ|G dd deZ}G dd deZ~G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG ddÄ deZG ddń deZG ddǄ deZG ddɄ deZG dd˄ deZG dd̈́ deZG ddτ deZG ddф deZG ddӄ deZG ddՄ deZG ddׄ deZG ddل deZG ddۄ deZG dd݄ deZG dd߄ deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdd Zdd ZG dd deZG d d deZG dd deZG dd deZG dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZG d(d) d)eZG d*d+ d+eZG d,d- d-eZG d.d/ d/eZG d0d1 d1eZG d2d3 d3eZG d4d5 d5eZG d6d7 d7eZG d8d9 d9eZG d:d; d;eZdS (<      )APIView)Responsestatus)*N)datetime)settings)django_pbkdf2_sha256   )authenticatelogin)render_to_string)render)mail)RefreshToken)TokenBackend)authentication)
exceptions)get_authorization_header)swagger_auto_schema)
FormParserMultiPartParserFileUploadParser)	PaginatorPageNotAnInteger	EmptyPage)Q)EmailMultiAlternativesc                   @   s   e Zd Zdd ZdS )superadminLoginc           
   
   C   s\  z|j d}|s,ttjddtjdW S |j d}|sTttjddtjdW S t||d}|s|ttjddtjdW S tjj|d		 }|sttjd
dtjdW S t
|}|j|j|j|j|j|j|jjd|jjd	}t|t|j|d}ttjd|dtjdW S  tyV }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nemailemail is requiredr   messager   passwordpassword is requiredusernamer#   zemail or password is incorrect)userzInvalid Credentialsadmin)	idr   phone_number
first_name	last_nameavatar	role_namerole
permission)refreshaccessr'   zLogin Successfullystatus_codestatus_messagedatar4   r5   )r6   getr   r   HTTP_400_BAD_REQUESTr   
SuperAdminobjectsfilterfirstr   for_userr)   r   phoneNumber	firstNamelastNamer-   r/   r.   r0   straccess_tokenHTTP_200_OK	ExceptionprintHTTP_500_INTERNAL_SERVER_ERROR)
selfrequestr   r#   userObjZ	superUserrefresh_tokenuserDataallDatae rO   ./var/www/html/Sam_Eipo/Eipo/admin_api/views.pypost%   s@    
zsuperadminLogin.postN__name__
__module____qualname__rQ   rO   rO   rO   rP   r   $   s   r   c                   @   s   e Zd Zdd ZdS )adminForgetPasswordc              
   C   s:  z|j d}|s*ttjddtjdW S tjj|d }|sXttj	ddtj	dW S d
dd	 td
D }dt|j d | }ttj| }||_|  d}tdd|i}|}	d}
|}tj||	|
|g|d ttjddtjdW S  ty4 } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   Email is requiredr7   r   r   zEmail not exist in our database c                 S   s   g | ]}t tjtj qS rO   )randomchoicestringascii_lettersdigits).0nrO   rO   rP   
<listcomp>Q       z,adminForgetPassword.post.<locals>.<listcomp>   zadmin-api/reset-password//zForgot Passwordzforget-password-email.htmllinktestsingh28@gmail.com)html_messageSuccess)r6   r8   r   r   r9   r:   r;   r<   r=   HTTP_404_NOT_FOUNDjoinrangerB   r   r   BASE_URLforgotPasswordLinksaver   r   	send_mailrD   rE   rF   rG   )rH   rI   r   checkZrandom_numberforgot_linkcomplete_linksubjectrg   plain_message
from_emailtorN   rO   rO   rP   rQ   I   s,    zadminForgetPassword.postNrR   rO   rO   rO   rP   rV   H   s   rV   c                   @   s   e Zd Zdd Zdd ZdS )ForgetPasswordVerificationc              
   C   s   zht | j }|dd }tjj||d }|rNtt	j
ddt	j
dW S tt	jddt	jdW S W nF ty } z.t| tt	jt |dt	jdW  Y d }~S d }~0 0 d S )Nrd   )r   rm   rh   r7   r   zInvalid link)rB   rI   build_absolute_urisplitr:   r;   r<   r=   r   r   rD   r9   rE   rF   rG   )rH   rI   re   
user_emailuser_objrN   rO   rO   rP   r8   b   s    zForgetPasswordVerification.getc           	   
   C   s   z|j d}|s*ttjddtjdW S t d}|sPttjddtjdW S t| j }|dd }t	j
j|d	 }|rt|}||_|  ttjd
dtjdW S  t y } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nnew_passwordzNew Password is requiredr7   r   confirm_passwordzConfirm Password is requiredrd   rx   rX   Password changed successfully)r6   r8   r   r   r9   rB   rI   ry   rz   r:   r;   r<   r=   handlerhashr#   rn   rD   rE   rF   rG   )	rH   rI   r}   r~   re   r{   Zuser_ObjZnew_password_valrN   rO   rO   rP   rQ   o   s$    

zForgetPasswordVerification.postNrS   rT   rU   r8   rQ   rO   rO   rO   rP   rw   a   s   rw   c                   @   s   e Zd Zdd Zdd ZdS )adminProfilec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
|d }|j|j|j|j|jd}ttjd	|d
tjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )NnullrY   ;Authorization Header or Token is missing on Request HeadersHS256
algorithmsuser_idr   )r   r*   r-   r+   r,   rh   r3   r   r7   )r   stripr   AuthenticationFailedjwtdecoder   
SECRET_KEYr:   r;   r<   r=   r   r?   r-   r@   rA   r   r   rD   rE   rF   rG   rB   )rH   rI   tokendecodedr   	admin_objalldatarN   rO   rO   rP   r8      s"    
zadminProfile.getc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
|d }|jd}|sttjd	d
tjdW S |jd}|sttjdd
tjdW S |jd}|sttjdd
tjdW S |jd}	|	sttjdd
tjdW S ||_||_||_|	|_|jdrPt|jd}
ttj|
 }
t|
|_|  |j|j|j|j|j|j|jd}ttjd|dtjdW S  ty } z.t| ttjt|d
tjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   rW   r7   r   r+   zFirst Name is requiredr,   zLast Name is requiredr*   zPhone Number is requiredr-   )r)   r   r+   r,   r*   r   r-   rh   r3   ) r   r   r   r   r   r   r   r   r:   r;   r<   r=   r6   r8   r   r   r9   r   r@   rA   r?   uploadTheProfilerB   rl   r-   rn   r)   r   rD   rE   rF   rG   )rH   rI   r   r   r   r   r   r+   r,   r*   fileUrlrM   rN   rO   rO   rP   rQ      sP    

zadminProfile.postNr   rO   rO   rO   rP   r      s   r   c                   @   s   e Zd Zdd ZdS )adminChangePasswordc           
   
   C   s  zJt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
|d }|jd}|sttjd	d
tjdW S |jd}|sttjdd
tjdW S |jd}|sttjdd
tjdW S ||krttjdd
tjdW S ||dkr ttjdd
tjdW S || |  ttjdd
tjdW S W nH ty }	 z.t|	 ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   old_passwordzOld password is requiredr7   r   r}   zNew password is requiredr~   z*Password and confirm password are not sameFzOld password is not correctr   )r   r   r   r   r   r   r   r   Userr;   r<   r=   r6   r8   r   r   r9   check_passwordset_passwordrn   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r   r   r}   r~   rN   rO   rO   rP   rQ      s4    

zadminChangePassword.postNrR   rO   rO   rO   rP   r      s   r   c                   @   s   e Zd Zdd Zdd ZdS )investorContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Investorpage_type_name)
page_titlepage_contentpage_title_nwpage_content_nw
created_atrh   r3   r   r7   )r   r   r   r   r   r   r   r   ContentPagesAdminr;   r<   r=   r   r   r   r   r   r   r   rD   rE   rF   rG   rB   rH   rI   r   r   r   content_objr   rN   rO   rO   rP   r8      s&    
zinvestorContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   Page title is requiredr7   r   r   Page content is requiredr   r   page_title_nw is requiredpage_content_nw is requiredr   r   r   )r   r   r   r   r   rh   r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r   r;   r<   r=   r)   updatecreaterD   rE   rF   rG   rB   )rH   rI   r   r   r   r   r   r   r   ZmydatarN   rO   rO   rP   rQ      s4    
"zinvestorContentPage.postNr   rO   rO   rO   rP   r      s   r   c                   @   s   e Zd Zdd Zdd ZdS )propertyContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|rx|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Property_developerr   r   r   r   rh   r3   r   r7   r   r   r   r   r   r   r   r   r   r;   r<   r=   r   r   r   r   r   rD   rE   rF   rG   rB   r   rO   rO   rP   r8     s"    
zpropertyContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   r   rH   rI   r   r   r   r   r   r   r   r6   rN   rO   rO   rP   rQ   ,  s4    
"zpropertyContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )projectContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|rx|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Project_typer   r   rh   r3   r   r7   r   r   rO   rO   rP   r8   M  s"    
zprojectContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   rO   rO   rP   rQ   a  s4    
"zprojectContentPage.postNr   rO   rO   rO   rP   r   L  s   r   c                   @   s   e Zd Zdd Zdd ZdS )saleContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|rx|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Sale_conditionr   r   rh   r3   r   r7   r   r   rO   rO   rP   r8     s"    
zsaleContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   rO   rO   rP   rQ     s4    
"zsaleContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )howItWorkContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   How_it_workr   r   r   r   r   r   rh   r3   r   r7   r   r   r   r   r   r   r   r   r   r;   r<   r=   r   r   r   r   r   r   r   rD   rE   rF   rG   rB   r   rO   rO   rP   r8     s&    
zhowItWorkContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   rO   rO   rP   rQ     s4    
"zhowItWorkContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )termsAndConditionsc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Terms_And_Conditionsr   r   Fetched Successfullyr3   r   r7   r   r   rO   rO   rP   r8     s&    
	ztermsAndConditions.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||d||d ntjj||d||d t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zcreated successfullyr   r   rO   rO   rP   rQ   
  s4    
"ztermsAndConditions.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )privacyPolicyc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Privacy_Policyr   r   r   r3   r   r7   r   r   rO   rO   rP   r8   /  s&    
	zprivacyPolicy.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||d||d ntjj||d||d t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   Created successfullyr   r   rO   rO   rP   rQ   G  s4    
"zprivacyPolicy.postNr   rO   rO   rO   rP   r   .  s   r   c                   @   s   e Zd Zdd Zdd ZdS )propertyProjectContentc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Property_projectr   r   r   r3   r   r7   r   r   rO   rO   rP   r8   k  s&    
zpropertyProjectContent.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   Created Successfullyr   r   rO   rO   rP   rQ     s4    
"zpropertyProjectContent.postNr   rO   rO   rO   rP   r   j  s   r   c                   @   s   e Zd Zdd Zdd ZdS )propertySaleRentContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Propert_sale_rentr   r   r   r3   r   r7   r   r   rO   rO   rP   r8     s&    
zpropertySaleRentContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO   rO   rP   rQ     s4    
"z propertySaleRentContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )bussinessForSaleContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Bussiness_for_saler   r   r   r3   r   r7   r   r   rO   rO   rP   r8     s&    
zbussinessForSaleContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO   rO   rP   rQ     s4    
"z bussinessForSaleContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd Zdd ZdS )bussinessDeveloperContentPagec              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd }i }|r|j|j|j|j|jd	}ttjd
|dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Bussiness_developerr   r   Fetched successfullyr3   r   r7   r   r   rO   rO   rP   r8     s&    
z!bussinessDeveloperContentPage.getc              
   C   s  zRt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S tjjdd }	|	r(tjj|	jdj||||dd ntjj||||dd t
tjdd	tjd
W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO   rO   rP   rQ   4  s4    
"z"bussinessDeveloperContentPage.postNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd ZdS )
faqlistingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
ddd	}g }|D ] }|j|j|jd
}|| qhttjd|dtjdW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tend_date__isnull-idr)   titlecontentFaq fetched successfullyr3   r   r7   )r   r   r   r   r   r   r   r   AdminFaqr;   r<   order_byr)   r   r   appendr   r   rD   rE   rF   rG   rB   
rH   rI   r   r   r   data_objrM   faqr   rN   rO   rO   rP   r8   W  s$    
zfaqlisting.getNrS   rT   rU   r8   rO   rO   rO   rP   r   V  s   r   c                   @   s   e Zd Zdd ZdS )addFaqc              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj||d t
tjdd	tjd
W S  ty
 } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S Nr   rY   r   r   r   r   r   Faq title is requiredr7   r   r   Faq content is requiredr   r   zFaq added successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r   r;   r   rD   rE   rF   rG   rB   rH   rI   r   r   r   r   r   rN   rO   rO   rP   rQ   l  s"    
zaddFaq.postNrR   rO   rO   rO   rP   r   k  s   r   c                   @   s   e Zd Zdd ZdS )editFaqc           	   
   C   s@  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|dj||d t
tjdd	tjd
W S  ty: } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S Nr   rY   r   r   r   r   faq_idFaq Id is requiredr7   r   r   r   r   r   r   r   zFaq updated successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r   r;   r<   r   rD   rE   rF   rG   rB   	rH   rI   r   r   r   r   r   r   rN   rO   rO   rP   rQ     s(    
zeditFaq.postNrR   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd ZdS )	deleteFaqc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|djt d t
tjdd	tjd
W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S Nr   rY   r   r   r   r   r   r   r7   r   r   end_datezFaq deleted successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r   r;   r<   r   r   nowrD   rE   rF   rG   rB   rH   rI   r   r   r   r   rN   rO   rO   rP   rQ     s    
zdeleteFaq.postNrR   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd ZdS )getCustomerListc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
ddd	}tj	j
dd }| jjd
}|rtj	j
t|dt|dB t|dB t|dB dd}| jjd}|sttjddtjdW S | jjd}	|	sttjddtjdW S t||}
z|
|	}W n< tyF   |
d}Y n  tyd   |
|
j}Y n0 g }|D ]*}|j|j|j|j|jd}|| qnttjd||	r|	nd|
jt ||dW S  t!y } z.t"| ttj#t$|dtj#dW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   customerloginUserTyper   searchfirstName__icontainslastName__icontainsemail__icontainsZphone_number__icontainspage_per_dataPage per data id is requiredr7   r   pagePage Number id is requiredr
   )r)   r+   r,   r   r*   zCustomer fetched successfullyr4   r5   r6   r   
page_countper_pagetotal)%r   r   r   r   r   r   r   r   Customerr;   r<   r   countrI   query_paramsr8   r   r   r   r9   r   r   r   r   	num_pagesr)   r@   rA   r   r?   r   rD   lenrE   rF   rG   rB   rH   rI   r   r   r   customer_objcustomer_countsearch_postr   r   	paginatorrM   r   r   rN   rO   rO   rP   r8     sJ    
4
,zgetCustomerList.getNr   rO   rO   rO   rP   r     s   r   c                   @   s   e Zd Zdd ZdS )changeUserStatusc           	   
   C   sF  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }| jj	
d}|svttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tjj
|d}||_|  |jdkrttjdd	tjd
W S ttjdd	tjd
W S W nH ty@ } z.t| ttjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   useridUser Id is requiredr7   r   r   Status is requiredr   1zUser activated successfullyzUser deactivated successfullyr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   	is_activern   rD   rE   rF   rG   rB   	rH   rI   r   r   r   r  status_data
status_objrN   rO   rO   rP   r8     s*    

zchangeUserStatus.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )viewUserDetailsc                 C   s  z^t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }tjj|d }|r|jj}|j}	|j}
|j}|jj}|jj}nd}d}	d}
d}d}d}|sttjdd	tjd
W S |j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&||	|
|||d}ttj'd|dtj'd
W S  t(y } z.t)| ttj*t+|d	tj*d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   r   N/AzNo user found	user_typer+   r,   r   dobprofile_imagegenderaddressnationalitybioimage_videopast_experience
past_fieldZsubscription_nameplan_start_dateplan_expiry_dateplan_is_activeplan_validity
plan_pricez%Customer details fetched successfullyr3   ),r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r=   CustomersSubscriptionsplanplanNamesub_start_datesub_expiry_dater  planDurationDayspriceuserTyper@   rA   r   r  profileImager  r  r  r   r!  pastExperience	pastFieldrD   rE   rF   rG   rB   rH   rI   r   r   r   r  r|   sub_obj	plan_namer$  r%  r&  r'  r(  r   rN   rO   rO   rP   r8     sd    

zviewUserDetails.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )editCustomerc                 C   s  z<t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S |j	d}
|
sBt
tjdd	tjd
W S |j	d}|slt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|dj||||	|
|||||d 
 W nH ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )!Nr   rY   r   r   r   r   r  r  r7   r   r+   zFirst name is requiredr,   zLast name is requiredr   rW   r  zDate of birth is requiredr  zGender is requiredr  zAddress is requiredr  zNationality is requiredr   zBio is requiredr"  zPast experience is requiredr#  zPast field is requiredr   )
r@   rA   r   r  r  r  r  r   r"  r#  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r   rE   rF   rG   rB   )rH   rI   r   r   r   r  r+   r,   r   r  r  r  r  r   r"  r#  rN   rO   rO   rP   rQ   #  sV    
,zeditCustomer.postNrR   rO   rO   rO   rP   r7  "  s   r7  c                   @   s   e Zd Zdd ZdS )getCompanyListc                 C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tj }| jj	
d}|rtjt|dt|dB }t||}	z|	|}W n< ty   |	d}Y n  ty.   |	|	j}Y n0 g }
|D ]:}|j|j|j|j|j|j|j|j |j!d	}|
"| q8ttj#d|
|r|nd|	jt$|dtj#d
W S  t%y } z.t&| ttj't(|d	tj'd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   )ZcompanyName__icontains)ZcompanyEmail__icontainsr
   )	
company_idcompany_namecompany_urlcompany_slogancompany_categorycompany_emailcompany_telephonecompany_detailZcompany_mediazCompany fetched successfully)r4   r5   r6   r   r   r   ))r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   Companyr;   allr  r<   r   r   r   r   r   r  r)   companyName
companyUrlcompanySlogancompanyCategorycompanyEmailcompanyTelephonecompanyDetailZcompanyMediar   rD   r  rE   rF   rG   rB   )rH   rI   r   r   r   r   r   company_objr
  r  rM   companyr   rN   rO   rO   rP   r8   Q  sP    


0zgetCompanyList.getNr   rO   rO   rO   rP   r8  P  s   r8  c                   @   s   e Zd Zdd ZdS )editCompanyc              
   C   sL  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S |j	d}
|
sBt
tjdd	tjd
W S |j	d}|slt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S tjj|dj||||	|
||d t
tjdd	tjd
W S  tyF } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r9  zCompany id is requiredr7   r   r:  zCompany name is requiredr;  zCompany url is requiredr<  zCompany slogan is requiredr=  zCompany category is requiredr>  zCompany email is requiredr?  zCompany telephone is requiredr@  zCompany details is requiredr   zNo company found)rC  rD  rE  rF  rG  rH  rI  zCompany updated successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rA  r;   r<   r=   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r9  r:  r;  r<  r=  r>  r?  r@  Zcheck_companyrN   rO   rO   rP   rQ   }  s\    
	zeditCompany.postNrR   rO   rO   rO   rP   rL  |  s   rL  c                   @   s   e Zd Zdd ZdS )getPropertyRequestc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 }tj	
  }| jjd}|sttjdd	tjd
W S | jjd}|sttjdd	tjd
W S t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]^}|jdkr,d}n|jdkr>d}nd}|j|j|j|j|j|j|jj|d}|
| qttj d|
|r|nd|	jt!||dtj d
W S  t"y } z.t#| ttj$t%|d	tj$d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   PendingAcceptedRejected)r)   property_typer   categorysubcategoryimager   r   z%Property request fetched successfullyr   )&r   r   r   r   r   r   r   r   SaleAndRentPropertyr;   rB  r  rI   r  r8   r   r   r9   r   r   r   r   r  propertyStatusr)   propertyTyper   rR  subCategory
image_data
customerIdr   rD   r  rE   rF   rG   rB   rH   rI   r   r   r   property_objproperty_obj_countr   r   r  rM   propertystatus_infor   rN   rO   rO   rP   r8     sT    



2zgetPropertyRequest.getNr   rO   rO   rO   rP   rM    s   rM  c                   @   s   e Zd Zdd ZdS )getSalePropertyc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 }tj	
  }| jjd}|sttjdd	tjd
W S | jjd}|sttjdd	tjd
W S t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]Z}|jdkr,d}n|jdkr>d}nd}|j|j|j|j|j|jj|d}|
| qttjd|
|r|nd|	jt||dtjd
W S  t y } z.t!| ttj"t#|d	tj"d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   rN  ApprovedDisapprovedr)   r   main_categoryrS  rY  r   r   z"Sale property fetched successfullyr   )$r   r   r   r   r   r   r   r   SalePropertyr;   rB  r  rI   r  r8   r   r   r9   r   r   r   r   r  r)   r   rd  rX  rY  rZ  r   rD   r  rE   rF   rG   rB   r[  rO   rO   rP   r8     sR    


	2zgetSaleProperty.getNr   rO   rO   rO   rP   r`    s   r`  c                   @   s   e Zd Zdd ZdS )salePropertDetailsc           
   .   C   sR  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}nd}|j|jj|jjd |jj |jj|j|j|j|jr|j rt|j ng |j|j|j|j |j!|j"|j#|j$rN|j$ rNt|j$ ng |j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<r|j< rt|j< ng |j=|j>|j?|j@|jAd-}ttjBd|dtjBd
W S  tCyL }	 z.tD|	 ttjEtF|	d	tjEd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   zProperty id is requiredr7   r   r   No property foundr   rO  rP   )-r)   customer_idfullnamecustomer_imager   rd  sub_categoryrY  videovideos_thumbnailproperty_namehouse_numbercountrystatecitybenefitspostal_code
youtubeUrlr?   r/  property_demensionvisionrentaldescriptioon
closingFeebedrooms	bathroomsreadyBypropertyReferenceIdmaintenanceFeefinance_rentalfinance_total_closing_feefinance_maintaince_feefinance_bill_utilitescashflow_forecast
disclaimerproperty_informationrequired_capitalresidental_property_detailsfacilitylocationlatitude	longitudesubscription_typeis_draftr   r3   )Gr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   re  r;   r<   r=   r)   rZ  r@   rA   r1  r   rd  rX  rY  astliteral_evalrm  rn  ro  rp  rq  rr  rs  benfitsru  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  
facilitiesr  r  r  r  r  rD   rE   rF   rG   rB   
rH   rI   r   r   r   request_property_idr\  r_  r   rN   rO   rO   rP   r8     s    

&&&3zsalePropertDetails.getNr   rO   rO   rO   rP   rf    s   rf  c                   @   s   e Zd Zdd ZdS )getRentPropertyc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 }tj	
  }| jjd}|sttjdd	tjd
W S | jjd}|sttjdd	tjd
W S t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]Z}|jdkr,d}n|jdkr>d}nd}|j|j|j|j|j|jj|d}|
| qttjd|
|r|nd|	jt||dtjd
W S  t y } z.t!| ttj"t#|d	tj"d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   rN  ra  rb  rc  "Rent property fetched successfullyr   )$r   r   r   r   r   r   r   r   RentPropertyr;   rB  r  rI   r  r8   r   r   r9   r   r   r   r   r  r)   r   rR  rX  rY  rZ  r   rD   r  rE   rF   rG   rB   r[  rO   rO   rP   r8   b  sR    


	2zgetRentProperty.getNr   rO   rO   rO   rP   r  a  s   r  c                   @   s   e Zd Zdd ZdS )getRentPropertDetailsc           
   3   C   s  z\t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}nd}|j|jj|jjd |jj |jj|jj|j|j|j|jr|j rt|j ng |j|j|j |j!|j"|j#|j$rP|j$ rPt|j$ ng |j%|j&|j'|j(|j)|j*|j+|j,r|j, rt|j, ng |j-|j.|j/|j0r|j0 rt|j0 ng |j1r|j1 rt|j1 ng |j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|jFd2}ttjGd|dtjGd
W S  tHy }	 z.tI|	 ttjJtK|	d	tjJd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   rent_idzRent Id is requiredr7   r   r   No rent property foundr   rO  rP  rh  )2r)   ri  customer_namecustomer_phone_numbercustomer_imagesr   rR  rl  rY  rm  rn  floorroomsr|  size	facilitesdepositrq  rr  rs  ru  rp  landmarkrt  rental_periodavaiable_from_datemonthly_rentmonthly_rent_includessecuritysecurity_amountheadingdescriptiondisplay_information
name_of_ad	visibiltyr  r  r  r  property_overviewtype_propertydescription_home
spend_timeuseless_skillfun_act	biographyprimary_roomhousing_typekey_info_bedroomstoryr   r3   )Lr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r=   r)   rZ  r@   rA   r?   r1  r   rR  rX  rY  r  r  rm  rn  r  r  r|  r  r  r  rq  rr  rs  ru  rp  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  r  rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r  rentobjr_  r   rN   rO   rO   rP   r8     s    

&&&&&6zgetRentPropertDetails.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )viewPropertyRequestc           
      C   s  zPt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}n|jdkrd}nd}|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|d}ttj,d|dtj,d
W S  t-y }	 z.t.|	 ttj/t0|	d	tj/d
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r  zProperty request is requiredr7   r   r   rg  r   rN  r
   ra  rb  )property_idrQ  r   rR  rS  rT  youtube_urlr*   r  r  r{  r|  r}  	developerZannual_community_feeZproperty_reference_idZbuyer_transfer_feeZseller_transfer_feeZmaintenance_feeZoccupancy_status	amenitiesZuser_isbuildingneighbourhoodr  r  r   r   r3   )1r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   rU  r;   r<   r=   rV  r)   rW  r   rX  rT  rv  r?   rz  r  r{  r|  r}  r  annualCommunityFeer  buyerTransferFeesellerTransferFeer  occupancyStatusr  userIsr  r  r  r  rD   rE   rF   rG   rB   r  rO   rO   rP   r8     sb    


zviewPropertyRequest.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )addCategoryc           
   
   C   sR  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj||d}|j	drt|j	d}ttjd | }t||_|  t
tjdd	tjd
W S  tyL }	 z.t|	 t
tjt|	d	tjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   category_namezCatgeory name is requiredr7   r   category_descriptionz Categroy description is requiredr  r  category_imagerd   z"Main category created successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   
categoriesr;   r   uploadThecategoryrB   rl   r  rn   rD   rE   rF   rG   )
rH   rI   r   r   r   r  r  category_objr   rN   rO   rO   rP   rQ     s,    

zaddCategory.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )editCategoryc           
   
   C   s  z<t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|dj||d |j	dr(t|j	d}ttjd | }tjj|djt|d t
tjdd	tjd
W S  ty }	 z.t|	 t
tjt|	d	tjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   category_idCategory Id is requiredr7   r   r  zCategory name is requiredr  r   r  r  rd   )r  zCatgeory updated successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r   r  rB   rl   rD   rE   rF   rG   )
rH   rI   r   r   r   r  r  r  r   rN   rO   rO   rP   rQ   .  s0    
zeditCategory.postNrR   rO   rO   rO   rP   r  -  s   r  c                   @   s   e Zd Zdd ZdS )changeStatusCategoryc           	   
   C   sB  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj	|d}||_|  |jdkrt
tjdd	tjd
W S t
tjdd	tjd
W S W nH ty< } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   r  r   r  zCategory activated successfullyz!Category deactivated successfully)r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   rn   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r  r  r  rN   rO   rO   rP   rQ   I  s*    

zchangeStatusCategory.postNrR   rO   rO   rO   rP   r  H  s   r  c                   @   s   e Zd Zdd ZdS )deleteCategoryc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}t
jj|djt d	 ttjd
dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r   r   zCategory deleted successfullyr7   r   )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r   r   r   r   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  rN   rO   rO   rP   rQ   b  s    
zdeleteCategory.postNrR   rO   rO   rO   rP   r  a  s   r  c                   @   s   e Zd Zdd ZdS )categoryListingc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S | jj	
d}|rtjjt|ddd}ntjjdd}t||}	z|	|}W n< ty   |	d}Y n  ty.   |	|	j}Y n0 g }
|D ]&}|j|j|j|jd}|
| q8ttjd|rr|nd|	jttdtjd
W S  ty } z.t | ttj!t"|d	tj!d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   )Zproduct_name_arabic__icontainsTr   r
   )r  r  r  r  zCategory fetched successfully)r4   r5   r   r   r   )#r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r   r   r   r   r   r  r)   r  r  r  r   rD   r  Zproduct_objrE   rF   rG   rB   )rH   rI   r   r   r   r   r   r   r  r  rM   rR  all_datarN   rO   rO   rP   r8   q  sF    

.zcategoryListing.getNr   rO   rO   rO   rP   r  p  s   r  c                   @   s   e Zd Zdd Zdd ZdS )adminContactManagementc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
  }|j|j|j|j|j|j|jd}ttjd|d	tjd
W S  ty } z.t| ttjt|dtjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r)   r*   r   instagram_urlfacebook_urlr  twitter_urlr   r3   r   r7   )r   r   r   r   r   r   r   r   AdminContactManagementr;   rB  r=   r)   r*   r   r  r  r  r  r   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   contactr   rN   rO   rO   rP   r8     s&    
	zadminContactManagement.getc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S |j	d}
|
sBt
tjdd	tjd
W S tj  }|sntjj|||||
d}n tjj|jdj|||||
d}|j|j|j|j|j|j|jd}t
tjd|dtjd
W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r*   zPhone number id is requiredr7   r   r   zEmail id is requiredr  zInstagram url is requiredr  zFacebook url is requiredr  zYoutube url is requiredr  zTwitter url is required)r*   r   r  r  r  r   r  r   r3   ) r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   rB  r=   r   r<   r)   r   r*   r   r  r  r  r  rD   rE   rF   rG   rB   )rH   rI   r   r   r   r*   r   r  r  r  r  Zcontact_objr  r   rN   rO   rO   rP   rQ     sT    
 	zadminContactManagement.postNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )adminNotificationsc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
ddd	}g }|D ](}|j|j|j|j|jd
}|| qhttjd|dtjdW S  t y }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   r   )r)   r"   notification_typeis_readdater   r3   r   r7   )r   r   r   r   r   r   r   r   AdminNotificationsr;   r<   r   r)   r"   r  r  
start_dater   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   not_objrM   notifyr   rN   rO   rO   rP   r8     s(    
zadminNotifications.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )deleteAdminNotificationsc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|D ]}t
jj|djt d	 q\ttjd
dtjdW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   	delete_idr   r   Deleted successfullyr7   r   )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r   r   r   r   r   rD   rE   rF   rG   rB   rH   rI   r   r   r   idsirN   rO   rO   rP   rQ     s    
zdeleteAdminNotifications.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )readNotificationsSelectc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|D ]}t
jj|djd	d
 q\ttjddW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r   T)r  zRead successfullyr7   r   )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r   r   r   rD   rE   rF   rG   rB   r  rO   rO   rP   rQ     s    
zreadNotificationsSelect.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )readNotificationsc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }|D ]}d|_|  qZttjdd	tjd
W S  ty } z.t| ttjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   TzReaded successfullyr7   r   )r   r   r   r   r   r   r   r   r  r;   rB  r  rn   r   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  rN   rO   rO   rP   rQ     s    


zreadNotifications.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )bussinessSaleListingc              .   C   s  zft |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tj d}tj  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]}|jdkr4d}n|jdkrFd}nd}|j|jjd |jj |j|j|jr|t |jnd |j!|j"|j|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j-|j2|j3|j4rt |j4nd |j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|d,}|
E| qttjFd|
|rR|nd|	jtG||dW S  tHy } z.tI| ttjJtK|d	tjJd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r   r
   r   rN  ra  rb  rh  ),r)   r  r:  short_titlerY  videosrn  r:  r  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_employesr  areaterm_of_leasedocumentdetailsservice
operationsmarket_initativesadvantage_and_oppurtunity	valuation
owner_namephone	telephoner   rK  public_orderavaiable_attachmentr  r  r  r   r   r   )Lr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   BussinessForSaler;   rB  r   r  r   r   r   r   r  r)   rZ  r@   rA   r:  r  rY  r  r  r  rn  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   rK  r  r  r  r  r  r   rD   r  rE   rF   rG   rB   )rH   rI   r   r   r   r   r   sale_objtotal_countr  rM   saler_  r   rN   rO   rO   rP   r8   )  s    


.,zbussinessSaleListing.getNr   rO   rO   rO   rP   r  (  s   r  c                   @   s   e Zd Zdd ZdS )bussinessSaleDetailc           
   ,   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}n|jdkrd}nd}|j|jjd |jj |j|jt|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j'|j,|j-t|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|d+}ttj>d|dW S  t?y }	 z.t@|	 ttjAtB|	d	tjAd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   bussiness_idzBussiness sale Id is requiredr7   r   r   zNo bussiness sale foundr   rN  r
   ra  rb  rh  )+r)   r  r:  r  rY  r  rn  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   rK  r  r  r  r  r   r   r3   )Cr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r=   r)   rZ  r@   rA   r:  r  r  r  rY  r  rn  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   rK  r  r  r  r  rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r  bussiness_objr_  r   rN   rO   rO   rP   r8     s    




-zbussinessSaleDetail.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )houseWantedForRentListc                 C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tj }tj  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]p}|jdkr(d}n|jdkr:d}nd}|j|jj|jd |j |j|j|j|j|j|j|d
}|
 | qt
tj!d|
|r|nd|	jt"||dW S  t#y } z"t
dt$|itj%d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   rN  ra  rb  rh  )
r)   ri  rj  r*   max_month_pricer  r  desired_start_dater  r   r   r   r"   )&r   r   r   r   r   r   r   r   r  r8   r   r   r9   HouseWantedForRentr;   rB  r  r   r   r   r   r  r)   rZ  r+   r,   r*   r  r  r  r  r  r   rD   r  rE   rB   rG   )rH   rI   r   r   r   r   r   rent_objr  r  rM   r  r_  r   rN   rO   rO   rP   r8     sV    


,zhouseWantedForRentList.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )houseWantedForRentDetailsc           
   &   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}n|jdkrd}nd}|j|j|jj|jd |j |j|jt|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|d%}ttj7d|dW S  t8y }	 z.t9|	 ttj:t;|	d	tj:d
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r  Rent sale Id is requiredr7   r   r   No house for rent foundr   rN  r
   ra  rb  rh  )%r)   r  ri  rj  profile_visiblityprofile_hiddenrT  r+   r,   r  r  r  r*   r   quantityr  max_rent	from_dater  number_of_peopler  r  desired_arear  r  r  about	educationmartial_statuscleanlinessparty_habitsworkinterestr  r  created_dater   r   r3   )<r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r=   r)   r  rZ  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%  r&  r'  r(  r)  r  r  r  rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r  r  r_  r   rN   rO   rO   rP   r8     sv    



*zhouseWantedForRentDetails.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )investProjectListc              +   C   sR  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tj }tj  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]}|j|jj|jjd |jj |j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j#|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j|j>d)}|
?| ttj@d|
|r|nd|	jtA||d  W S W n< tByL } z"tdtC|itjDd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   rh  )r)   ri  rj  ro  rY  r  documents_datarQ  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_irrr1  
offered_byestimated_first_distributiontype_of_investmentr*   measure_for_multiplierr  location_detailsproperty_summaryproperty_detailsoverviewdebt_assumptionr  r  r  r  r   r  r   r   r"   )Er   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   InvestmentMyProjectr;   rB  r  r   r   r   r   r  r)   rZ  r@   rA   ro  rY  r  r-  rQ  r.  r/  r0  r1  r2  r3  r4  r  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r*   r?  r  r@  rA  rB  rC  rD  r  r  r  r  r  r   rD   r  rE   rB   rG   )rH   rI   r   r   r   r   r   
invest_objr  r  rM   investr   rN   rO   rO   rP   r8   >  s    


+
4zinvestProjectList.getNr   rO   rO   rO   rP   r+  =  s   r+  c                   @   s   e Zd Zdd ZdS )investProjectDetailsc           	   *   C   s  zpt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |j|jj|jjd |jj |j|j|j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j|j9d)}ttj:d|dW S  t;y } z"tdt<|itj=d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
project_idr  r7   r   r   r  rh  r,  r   r3   r"   )>r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   rE  r;   r<   r=   r)   rZ  r@   rA   ro  rY  r  r-  rQ  r.  r/  r0  r1  r2  r3  r4  r  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r*   r?  r  r@  rA  rB  rC  rD  r  r  r  r  r  rD   rE   rB   rG   	rH   rI   r   r   r   rI  pro_objr   rN   rO   rO   rP   r8     sr    
+zinvestProjectDetails.getNr   rO   rO   rO   rP   rH    s   rH  c                   @   s   e Zd Zdd ZdS )investmentCompanyListc                 C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tj }tj  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]V}|j|jj|jjd |jj |j|j|j|j|j|j |j!|j"|jd}|
#| qttj$d|
|r|nd|	jt%||dW S  t&y } z"tdt'|itj(d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   rh  )r)   ri  rj  r:  company_establishedr>  the_valuationshares_for_saleprice_per_shareminimum_drawingmax_drawingr   r   r   r"   ))r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   InvestmentMyCompanyr;   rB  r  r   r   r   r   r  r)   rZ  r@   rA   ro  rM  r>  rN  rO  rP  rQ  rR  r   rD   r  rE   rB   rG   )rH   rI   r   r   r   r   r   r\  r  r  rM   rK  r   rN   rO   rO   rP   r8     sP    


,zinvestmentCompanyList.getNr   rO   rO   rO   rP   rL    s   rL  c                   @   s   e Zd Zdd ZdS )investmentCompanyDetailsc           	   $   C   s  zZt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |j|j|j|jj|jjd |jj |j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j|j1j|j2|j3|j4d#}ttj5d|dW S  t6y } z"tdt7|itj8d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rI  r  r7   r   r   r  rh  )#r)   company_logocompany_videori  rj  ro  r-  rQ  rM  r>  company_phonenumbercompany_addressshareholderssharer  rN  rO  rP  ru  bank_acc_createdissue_account_nopost_numberself_reportrQ  rR  remaninig_sharesno_share_bfr_issuenominal_share_pricecompany_websiter  r   agencyr  r  r  r   r3   r"   )9r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   rS  r;   r<   r=   r)   rU  rV  rZ  r@   rA   ro  r-  rQ  rM  r>  rW  rX  rY  rZ  r  rN  rO  rP  ru  r[  r\  r]  r^  rQ  rR  r_  r`  ra  rb  r  rc  r  r  r  rD   rE   rB   rG   rJ  rO   rO   rP   r8     sf    
%zinvestmentCompanyDetails.getNr   rO   rO   rO   rP   rT    s   rT  c                   @   s   e Zd Zdd ZdS )approveDisapproveRequestc              
   C   s  zNt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |dkrtjj|d }|st
tjdd	tjd
W S |dkrRd|_|  d|j d }	|jj}
d}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d|j d d | }	|jj}
d}t|tj|
g|	d}	|	jdd n|dkrtjj|d }|st
tjdd	tjd
W S |dkr@d|_|  d |j d }	|jj}
d!}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d |j d d | }	|jj}
d"}t|tj|
g|	d}	|	jdd n|d#krtjj|d }|st
tjd$d	tjd
W S |dkr.d|_|  d%|j d }	|jj}
d&}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d%|j d d | }	|jj}
d'}t|tj|
g|	d}	|	jdd n|d(kr|tjj|d }|st
tjd)d	tjd
W S |dkrd|_|  d*|j d }	|jj}
d+}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d*|j d d | }	|jj}
d,}t|tj|
g|	d}	|	jdd n|d-krjtjj|d }|st
tjd.d	tjd
W S |dkr
d|_|  d/|j d }	|jj}
d0}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d/|j d d | }	|jj}
d1}t|tj|
g|	d}	|	jdd n|d2krVtjj|d }|st
tjd.d	tjd
W S |dkrd|_|  d3|j d }	|jj}
d4}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d3|j d d | }	|jj}
d5}t|tj|
g|	d}	|	jdd n|d6kr@tjj|d }|st
tjd7d	tjd
W S |dkrd|_|  d8|j d }	|jj}
d9}t|tj|
g|	d}	|	jdd n\|j	d}d|_|  d8|j d: d | }	|jj}
d;}t|tj|
g|	d}	|	jdd t
tj d<d	W S  t!y } z"t
d=t"|itj#d
W  Y d }~S d }~0 0 d S )>Nr   rY   r   r   r   r   request_typezrequest_type id is requiredr7   r   r  zproperty_id id is requiredr   zstatus  is requiredproperty_projectr   No property project foundr
   z
Your property project:
z 
 has been approved by the adminzProperty Project Approved:)rs   ru   rv   bodyF)fail_silentlyreason   z$
 has been disapproved by the admin.z	
 Reason:zProperty Project Disapproved:sale_propertyzNo sale property foundz
Your sale property:
zSale Property Approved:zSale Property Disapproved:rent_propertyr  z
Your rent property:
zRent Property Approved:zRent Property Disapproved:property_developerszNo property developer foundz
Your property developers:
zProperty Developer Approved:zProperty Developer Disapproved:Zhouse_tenantzNo house tenant foundz
Your house tenant:
zHouse tenant Approved:zHouse tenant Disapproved:bussiness_for_salez
Your bussiness for sale:
zBussiness For Sale Approved:zBussiness For Sale Disapproved:Zcompany_seekingzNo company seeking foundz"
Your company seeking for equity:
z Company seeking equity Approved:z!
 has been approved by the admin.z#Company seeking equity Disapproved:zStatus Updated Successfullyr"   )$r   r   r   r   r   r   r   r   r6   r8   r   r   r9   PropertyProjectr;   r<   r=   rn   r  rZ  r   r   EMAIL_HOST_USERsendre  r   r  PropertyDevelopersro  r  r  CompanySeekingEquityrD   rE   rB   rG   )rH   rI   r   r   r   re  r  Z
new_statusr\  r"   	to_emailsrs   rj  rN   rO   rO   rP   rQ   ,	  s<   














zapproveDisapproveRequest.postNrR   rO   rO   rO   rP   rd  +	  s   rd  c                   @   s   e Zd Zdd ZdS )propertyProjectListc                 C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tj }tj  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]t}|jdkr,d}n|jdkr>d}nd}|j|jj|jjd |jj |j|j|j|j|j|j |d
}|
!| qttj"d|
|r|nd|	jt#||dW S  t$y } z"tdt%|itj&d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   rN  rO  rP  rh  )
r)   ri  rj  ro  r  r/  rent_to_landlordreturn_on_investmentcashflow_pcmr   r   r   r"   )'r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   rp  r;   rB  r  r   r   r   r   r  r)   rZ  r@   rA   ro  r  r/  rw  rx  ry  r   rD   r  rE   rB   rG   )rH   rI   r   r   r   r   r   r\  r  r  rM   rK  r_  r   rN   rO   rO   rP   r8   	  sV    


,zpropertyProjectList.getNr   rO   rO   rO   rP   rv  	  s   rv  c                   @   s   e Zd Zdd ZdS )propertyProjectDetailsc           
   2   C   s
  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|d }|sttjdd	tjd
W S |jdkrd}n|jdkrd}nd}|j|jj|jjd |jj |jj|j|j|j|j|j|j|jt|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/t|j0t|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|j:|jA|jB|jC|d1}ttjDd|dW S  tEy }	 z"tdtF|	itjGd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   rI  zProject Id is requiredr7   r   r   rg  r   rN  r
   rO  rP  rh  )1r)   ri  rj  rk  spend_too_much_timemost_useless_skillr  r  r  r  property_descriptionrY  r  rn  property_documentrR  ro  property_dimensionrq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  
finder_feegross_incomer/  ry  total_termination_feepurchase_pricepotential_cashflow_pcminvestment_finder_fee#investment_return_on_investment_feery  
the_visioncost_to_considercapital_requiredr  r  rw  bill_utilitiesr  r   r   r3   r"   )Hr   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   rp  r;   r<   r=   r)   rZ  r@   rA   r1  r{  r|  r  r  r  r  r}  r  r  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  r  r  r/  ry  r  r  r  r  r  ry  r  r  r  r  rw  r  r  rD   rE   rB   rG   )
rH   rI   r   r   r   rI  rK  r_  r   rN   rO   rO   rP   r8   
  s    





3zpropertyProjectDetails.getNr   rO   rO   rO   rP   rz  
  s   rz  c                   @   s   e Zd Zdd ZdS )
allInquirec              
   C   s  zpt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 }| jjd}|sttjdd	tjd
W S | jjd}|sttjdd	tjd
W S tj	
  }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]0}|j|j|j|j|j|jdd}|
| qttjd|
|r\|nd|	jt||dW S  ty } z"tdt |itj!d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   rp  )r)   namer
  r   r"   r   typer   r   r"   )"r   r   r   r   r   r   r   r   inquirePropertyProjectr;   rB  rI   r  r8   r   r   r9   r  r   r   r   r   r  r)   r  r
  r   r"   r   rD   r  rE   rB   rG   )rH   rI   r   r   r   Zinquire_property_objr   r   r  r  all_DataZinquire_propertyr  rN   rO   rO   rP   r8   `
  sF    


	,zallInquire.getNr   rO   rO   rO   rP   r  _
  s   r  c                   @   s   e Zd Zdd ZdS )viewInquirec           
   
   C   s   zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S | jj	
d}|dkrtjj|d }|j|j|j|j|j|jj|jj|jdd	}n|dkrtjj|d }|j|j|j|j|j|jj|jj|jdd	}n|dkrbtjj|d }|j|j|j|j|j|jj|jj|jdd	}nJ|dkrtjj|d }|j|j|j|j|j|jj|jj|jdd	}n ttjd|dW S  ty }	 z"tdt |	itj!d
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   
inquire_idInquire Id is requiredr7   r   r  ZSaleAndRentr   )	r)   r  r
  r   r"   r  Zproperty_owner_emailr   r  re  BusinessSalerp  r   r3   r"   )"r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   inquireSaleAndRentPropertyr;   r<   r=   r)   r  r
  r   r"   	sale_rentrZ  inquireSalePropertyr  inquireBusinessSalePropertyr  rf  rD   rE   rB   rG   )
rH   rI   r   r   r   r  r  inquire_objr  rN   rO   rO   rP   r8   
  sz    



zviewInquire.getNr   rO   rO   rO   rP   r  
  s   r  c                   @   s   e Zd Zdd ZdS )approveDisapproveInquirec              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}t
jj|d }|sttjd	d
tjdW S |j	d}|sttjdd
tjdW S tjj|jjd }tjj|jjjd }	t|dkrXt
jj|djdd tjj|dt|jj d dd tjj|	dt|jj d dd ttjdd
W S t
jj|djdd tjj|dt|jj d dd tjj|	dt|jj d dd ttjdd
W S W n@ ty }
 z&ttjt|
d
tjdW  Y d }
~
S d }
~
0 0 d S Nr   rY   r   r   r   r   r  r   r  r7   r   status_actionAction is requiredr
   Your Inquire foris apporvedinquireri  r"   r  is dissproved Inquire is approved successfullyrk  #Inquire is disapproved successfully)r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r   r   r9   r  rZ  r)   r  intr   CustomerNotificationsr   rB   rD   rE   rG   rH   rI   r   r   r   r  r  r  user_inquireproperty_userrN   rO   rO   rP   rQ   
  s4    
""""zapproveDisapproveInquire.postNrR   rO   rO   rO   rP   r  
  s   r  c                   @   s   e Zd Zdd ZdS )!approveDisapproveInquireBussinessc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}t
jj|d }|sttjd	d
tjdW S |j	d}|sttjdd
tjdW S tjj|jjd }tjj|jjjd }	t|dkrTt
jj|djdd tjj|dt|j d dd tjj|	dt|j d dd ttjdd
W S t
jj|djdd tjj|dt|j d dd tjj|	dt|j d dd ttjdd
W S W n@ ty }
 z&ttjt|
d
tjdW  Y d }
~
S d }
~
0 0 d S r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r   r   r9   r  rZ  r)   r  r  r   r  r   rB   r:  rD   rE   rG   r  rO   rO   rP   rQ   
  s4    
    z&approveDisapproveInquireBussiness.postNrR   rO   rO   rO   rP   r  
  s   r  c                   @   s   e Zd Zdd ZdS ) approveDisapproveInquirePropertyc              
   C   s2  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}t
jj|d }|sttjd	d
tjdW S |sttjdd
tjdW S |j	d}|sttjdd
tjdW S tjj|jjd }td| tjj|jjjd }	t|dkr~t
jj|djdd tjj|dt|jj d dd tjj|	dt|jj d dd ttjdd
W S t
jj|djdd tjj|dt|jj d dd tjj|	dt|jj d dd ttjdd
W S W n@ ty, }
 z&ttjt|
d
tjdW  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r  r   r  r7   r   zNo inquire object foundr  r  r  r
   r  r  r  r  r  rk  r  r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r   r   r9   r  rZ  r)   rF   rf  r  r   r  r   rB   ro  rD   rE   rG   )ZSelfrI   r   r   r   r  r  r  r  r  rN   rO   rO   rP   rQ     s:    

""""z%approveDisapproveInquireProperty.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )approveDisapproveInquireSalec           
   
   C   s  zht |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}t
jj|d }|sttjd	d
tjdW S |j	d}|sttjdd
tjdW S tjj|jjd }t|dkrt
jj|djdd tjj|dt|jj d dd ttjdd
W S t
jj|djdd tjj|dt|jj d dd ttjdd
W S W n@ ty }	 z&ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r  r   r  r7   r   r  r  r
   r  r  r  r  r  rk  r  r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r   r   r9   r  rZ  r)   r  r   r  r   rB   r  r   rD   rE   rG   )
rH   rI   r   r   r   r  r  r  r  rN   rO   rO   rP   rQ   8  s.    
""z!approveDisapproveInquireSale.postNrR   rO   rO   rO   rP   r  7  s   r  c                   @   s   e Zd Zdd ZdS )adminDashboardc           !      C   s`  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
dd }tj	j
dd }tj	j
dd }tj	j
dd }tj	j
dd }	tj	j
dd }
tj	  }|||||	|
|d	}tj	 d d
 }g }|D ],}|j|j|j|j|j|jd}|| qztj	j
ddd}W n tjyV   d }Y n0 ztj	j
ddd}W n tjy   d }Y n0 ztj	j
ddd}W n tjy   d }Y n0 ztj	j
ddd}W n tjy   d }Y n0 ztj	j
ddd}W n tjy&   d }Y n0 ztj	j
ddd}W n tjyZ   d }Y n0 g }|r||j|j|j|j|j |j!dd |r||j|j"|j#|j$|j#|j|j%dd |r||j|j"|j&|j$|jdd |r||j|j'|j|j(dd |r,||j|j|j|j)dd |rX||j|j|j|j*|j+|j,dd || | | |	 |
 }|dkrd}d}d}d}d}d}nH|| d }|| d }|| d }|| d }|	| d }|
| d }t-|t-|t-|t-|t-|t-|d}t.t/j0d||||dW S  t1yZ }  z"t.dt2| it/j3dW  Y d } ~ S d } ~ 0 0 d S ) Nr   rY   r   r   r   r   r
   r   property_project_countrent_property_countsale_property_counthouse_wanted_rent_countbussiness_for_sale_countinvestment_my_company_countr	     )r)   r+   r,   r   r*   rT  r  r   rf  )r)   rT  ro  rw  rx  r  r  rm  )r)   r   rd  rS  rd  rT  r/  r  rl  )r)   r   rd  rS  rY  r  ro  )r)   r   rT  r  r  investment_my_project)r)   r   rT  r/  r  investment_my_company)r)   r   rT  rN  rO  rP  r  r   d   )property_project_percentagerent_property_percentagesale_property_percentagehouse_wanted_rent_percentagebussiness_for_sale_percentage investment_my_company_percentager   )r4   r5   
count_datacustomer_dataZrecent_propertiesall_property_chartr"   )4r   r   r   r   r   r   r   r   rp  r;   r<   r  r  re  r  r  rS  r  rB  r)   r@   rA   r   r?   r1  r   latestDoesNotExistrE  rY  ro  rw  rx  r  r   rR  rX  r  rd  r:  r  r6  rN  rO  rP  roundr   r   rD   rE   rB   rG   )!rH   rI   r   r   r   r  r  r  r  r  r  r	  r  r  r  r   r  rf  rm  rl  Zbussines_saler  r  Z
recentDatar  r  r  r  r  r  r  r  rN   rO   rO   rP   r8   W  s(   
	






			
	zadminDashboard.getNr   rO   rO   rO   rP   r  V  s   r  c                   @   s   e Zd Zdd ZdS )customerSubscriptionListc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd}g }|D ]@}|j|jj|jj |jj|jj|jj|j|jd	}|| qbttjd
|dW S  t y }	 z&ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   T)r  )r)   r  r6  plan_durationr(  r$  plan_end_datesucccessr3   r7   r   )r   r   r   r   r   r   r   r   r)  r;   r<   r)   r   r@   rA   r*  r+  r.  r/  r,  r-  r   r   r   rD   rE   rG   rB   )
rH   rI   r   r   r   r5  r  subr  rN   rO   rO   rP   r8     s*    
	zcustomerSubscriptionList.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )customerSubscriptionDetailsc           	      C   s8  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }| jj	
d}|svttjdd	tjd
W S tjj|dd }|j|jj|jj |jj|jj|jj|jj|jj|jj|jj|jj|jj|j |j!d}ttj"d|dW S  t#y2 } z&ttj$t%|d	tj$d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   sub_idzSubscription Id is requiredr7   r   T)r)   r  )r)   r  r6  r  r(  Zplan_descriptiondigital_rental_contractZnotification_stakeholdersZvisibilty_among_adsZvisibilty_at_topinformation_of_local_arear$  r  r  r3   )&r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r)  r;   r<   r=   r)   r   r@   rA   r*  r+  r.  r/  r  r  notifications_stakeholdersvisibility_among_adsvisibility_at_topr  r,  r-  rD   rE   rG   rB   )	rH   rI   r   r   r   r  r5  r  rN   rO   rO   rP   r8   #  s6    
zcustomerSubscriptionDetails.getNr   rO   rO   rO   rP   r  "  s   r  c                   @   s   e Zd Zdd ZdS )getPermissionListc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd}g }|D ]$}|j|j|j|jd	}|| qbttjd
|dW S  ty }	 z&ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   )r)   r  	code_namer  r  r3   r7   r   )r   r   r   r   r   r   r   r   Permissionsr;   r<   r)   r  r  r  r   r   r   rD   rE   rG   rB   )
rH   rI   r   r   r   Zperm_objr  Zpermisr  rN   rO   rO   rP   r8   E  s$    
zgetPermissionList.getNr   rO   rO   rO   rP   r  D  s   r  c                   @   s   e Zd Zdd ZdS )
createRolec              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|j	d}|st
tjd	d
tjdW S |st
tjdd
tjdW S tjj||d t
tjdd
W S  t y } z&t
tjt|d
tjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r.   r0   role_name is requiredr7   r   permission is required)r.   r0   r  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   Rolesr;   r   rD   rE   rG   rB   )rH   rI   r   r   r   r.   r0   rN   rO   rO   rP   rQ   ]  s     
zcreateRole.postNrR   rO   rO   rO   rP   r  \  s   r  c                   @   s   e Zd Zdd Zdd ZdS )editRolec           
   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}|stt
dd	itjd
W S tjj|d }|st
dditjd
W S |j|j|jd}t
tjd|dW S  ty }	 z&t
tjt|	dtjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   r"   zrole id is requiredr   r   zNo role found)r)   r.   r0   successr3   r7   )r   r   r   r   r   r   r   r   r  r8   r   r   r9   r  r;   r<   r=   r)   r.   r0   rD   rE   rG   rB   )
rH   rI   r   r   r   r6   role_idrole_objr   rN   rO   rO   rP   r8   t  s(    

zeditRole.getc           
   
   C   s$  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|j	d}|j	d	}|st
tjd
dtjdW S |st
tjddtjdW S tjj|d }||_||_|  t
tjddW S  ty }	 z&t
tjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   r.   r0   r  r7   r   r  r   r  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r.   r0   rn   rD   rE   rG   rB   )
rH   rI   r   r   r   r  r.   r0   r  rN   rO   rO   rP   rQ     s(    
zeditRole.postNr   rO   rO   rO   rP   r  s  s   r  c                   @   s   e Zd Zdd ZdS )roleListingc              
   C   s  zlt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
ddd	}| jjd
}|sttjddtjdW S | jjd}|sttjddtjdW S tj	j
dd }t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]}|j|jd}|
| q$ttjd|
|rX|nd|	jt||dW S  ty } z.t| ttjt |dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Tr   r   r   r   r7   r   r   r   r
   )r)   r.   r  r   )!r   r   r   r   r   r   r   r   r  r;   r<   r   rI   r  r8   r   r   r9   r  r   r   r   r   r  r)   r.   r   rD   r  rE   rF   rG   rB   )rH   rI   r   r   r   r   r   r   r  r  rM   r/   r   rN   rO   rO   rP   r8     s>    

,zroleListing.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )addSubAdminc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}|	d}|	d	}|	d
}	|	d}
|	d}|st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S |	st
tjddtjdW S |s t
tjddtjdW S |
s>t
tjddtjdW S tjj|d }|rnt
tjddtjdW S tjj|
d }tjj||d}tjj|||||	|d}t
tjddW S  ty } z&t
tjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r@   rA   r   r?   r/   r#   firstName is requiredr7   r   lastName is requiredr    phoneNumber is requiredr$   role is requiredrX   zThe email is already registeredr4   r"   r   r%   )r'   r   r@   rA   r?   r/   r  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r   r;   r<   r=   HTTP_409_CONFLICTr  create_userr:   r   rD   rE   rG   rB   )rH   rI   r   r   r   r6   r@   rA   r   r?   r/   r#   	user_dataroleObjsubAdminrN   rO   rO   rP   rQ     sH    






zaddSubAdmin.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd Zdd ZdS )editSubAdminc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}|stt
dd	itjd
W S tjj|d }td| |st
dditjd
W S |j|j|j|j|j|jjd}t
tjd|dW S  ty }	 z&t
tjt|	dtjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   r"   zsub id is requiredr   r   r5  zNo sub admin found)r)   r@   rA   r   r?   r/   r  r3   r7   )r   r   r   r   r   r   r   r   r  r8   r   r   r9   r:   r;   r<   r=   rF   r)   r@   rA   r   r?   r/   rD   rE   rG   rB   )
rH   rI   r   r   r   r6   r  r5  r   rN   rO   rO   rP   r8     s0    


zeditSubAdmin.getc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}|	d}|	d	}|	d
}	|	d}
|	d}|st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S tjj|d }tjj|d }||_||_|	|_||_|  |
rtjj|jjd }||
 |  d}d}d}|j}t||||g t
tjddW S  ty } z&t
tj t!|dtj dW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r)   r@   rA   r?   r#   r/   id is requiredr7   r   r  r  r  r   zPassword Updatedz)Password has been updated for your acountrf   r  )"r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r:   r@   rA   r?   r/   rn   r   r'   r)   r   r   r   ro   rD   rE   rG   rB   )rH   rI   r   r   r   r6   r  r@   rA   r?   r#   r/   r  r  r  rs   rt   ru   rv   rN   rO   rO   rP   rQ     sP    







zeditSubAdmin.postNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )subAdminListingc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
ddd	jd
d}| jjd}|sttjddtjdW S | jjd}|sttjddtjdW S tj	j
ddjd
d }t||}	z|	|}W n< ty   |	d}Y n  ty,   |	|	j}Y n0 g }
|D ](}|j|j|j|jjd}|
| q6ttjd|
|rt|nd|	jt ||dW S  t!y } z.t"| ttj#t$|dtj#dW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Tr   r   r  r   r   r   r7   r   r   r   r
   )r)   r@   rA   r/   r  r   )%r   r   r   r   r   r   r   r   r:   r;   r<   r   excluderI   r  r8   r   r   r9   r  r   r   r   r   r  r)   r@   rA   r/   r.   r   rD   r  rE   rF   rG   rB   )rH   rI   r   r   r   r   r   r   r  r  rM   r  r   rN   rO   rO   rP   r8   7  sB    

,zsubAdminListing.getNr   rO   rO   rO   rP   r  6  s   r  c                   @   s   e Zd Zdd ZdS )getCompletedDealListc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }g }|D ]*}|j|j|j|jj|jd}|| q^ttjd|d	W S  ty }	 z.t|	 ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   )r)   modepayment_statusr  recipet_statusr  r3   r7   r   )r   r   r   r   r   r   r   r   Paymentr;   rB  r)   r  r  r  r@   r  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   payment_objrM   paymentr  rN   rO   rO   rP   r8   \  s(    

zgetCompletedDealList.getNr   rO   rO   rO   rP   r  [  s   r  c                   @   s   e Zd Zdd ZdS )CompletedDealDetailc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}t
jj|d }|j|j|j|jj|j|jj|jd	}ttjd
|dW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   r   )r)   r  r  r  r  contractpayment_recipetr  r3   r7   r   )r   r   r   r   r   r   r   r   r  r8   r  r;   r<   r=   r)   r  r  r  r@   r  r  r  r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r6   Z
payment_idr  r  rN   rO   rO   rP   r8   v  s*    


zCompletedDealDetail.getNr   rO   rO   rO   rP   r  u  s   r  c                   @   s   e Zd Zdd ZdS )ReportSectionc                 C   s  zt jjdd }tjjdd }tjjdd }tjjdd }tjjdd }tjjdd }t	j
  }|||||||d}	dd tddD }
dd tddD }dd tddD }d	d tddD }d
d tddD }dd tddD }dd tddD }dd tddD }dd tddD }dd tddD }||||
||||||d
}ttjd|	|dW S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr
   r   r  c                 S   s   g | ]}t jj|d  qS )Zstart_date__month)rp  r;   r<   r  r_   r  rO   rO   rP   ra     rb   z%ReportSection.get.<locals>.<listcomp>   c                 S   s   g | ]}t jj|d  qS )created_at__month)r  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  )re  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  )r  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  )r  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  )rS  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  )rE  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s   g | ]}t jj|d  qS r  r  r;   r<   r  r  rO   rO   rP   ra     rb   c                 S   s    g | ]}t jj|d d qS )Tr  r  r  r  rO   rO   rP   ra     rb   c                 S   s    g | ]}t jj|d d qS )Fr  r  r  rO   rO   rP   ra     rb   )
Ztotal_customersZactive_customersZinactive_customersrf  rm  rl  house_wanted_rentro  r  r  r   )r4   r5   r  month_by_datar7   )rp  r;   r<   r  r  re  r  r  rS  r  rB  rk   r   r   rD   rE   rF   rG   rB   )rH   rI   r  r  r  r  r  r  r	  r  rf  rm  rl  r  ro  r  r  ZtotalCustomersZactiveCustomersZinactiveCustomersr  rN   rO   rO   rP   r8     sR    	zReportSection.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )DoItByReeipoTeamRequestListc                 C   s  t |}|d u s$|dks$| dkr.tdtj|tjdgd}|d }g }tj	j
ddd	}| jjd
}|sttjddtjdS | jjd}|sttjddtjdS tj	j
dd }	t||}
z|
|}W n: ty   |
d}Y n  ty   |
|
j}Y n0 tj	 d}tj	 }|r@|j}nd}|D ]J}|j|j|j|j|j j|j!||j"|j|j#|j$|j%|j&d}|'| qHttj(d||r|nd|
jt)||	dS )Nr   rY   r   r   r   r   Tr   r   r   r   r7   r   r   r   r
   r  r  r)   r  mobile_numberr   ri  rQ  r/  submitted_dater   	is_viewedis_publishedis_contactedr  r  r   )*r   r   r   r   r   r   r   r   DoItByReeipoRequestsr;   r<   r   rI   r  r8   r   r   r9   r  r   r   r   r   r  rB  SetdoitbyReeipoPricelastr/  r)   r  r  r   r   rQ  r  r  r  r  r  r   rD   r  )rH   rI   r   r   r   rM   allrequests_objr   r   r  r  get_datar/  all_requestr  rO   rO   rP   r8     sV    


zDoItByReeipoTeamRequestList.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )DoItByReeipoTeamDetailc           
      C   s   t |}|d u s$|dks$| dkr.tdtj|tjdgd}|d }g }tj	j
dd}tj	 }|rr|j}nd	}|D ]H}|j|j|j|j|jj|j||j|j|j|j|j|jd
}	||	 qzttjd|d dS )Nr   rY   r   r   r   r   Tr   r  r   r   r   r4   r5   r  )r   r   r   r   r   r   r   r   r  r;   r<   r  r  r/  r)   r  r  r   r   rQ  r  r   r  r  r  r  r   r   rD   )
rH   rI   r   r   r   rM   r	  r/  r  r  rO   rO   rP   r8     s8    

zDoItByReeipoTeamDetail.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )IsContactedStatusc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}|sxt
tjdd	tjd
W S tjj|dd }|st
tjdd	tjd
W S d|_|  t
tjdd	W S  ty } z"t
dt|itjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r)   r  r7   r   Tr)   r   zno request foundr  r"   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r  rn   rD   rE   rB   rG   )	rH   rI   r   r   r   r6   
request_iddo_it_by_reeiporN   rO   rO   rP   rQ     s$    

zIsContactedStatus.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )LoginAsUserc              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}|sxt
tjdd	tjd
W S tjj|d }|st
dditjd
W S t|}t|t|jdd}	t
tjd|	dW S  ty }
 z"t
dt|
itjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r)   r  r7   r   r   r"   zno user foundr(   )r1   r2   Zlogin_byr  r3   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r   r>   rB   rC   rD   rE   rG   )rH   rI   r   r   r   r6   ri  r  rK   rM   rN   rO   rO   rP   rQ   1  s*    


zLoginAsUser.postNrR   rO   rO   rO   rP   r  0  s   r  c                   @   s   e Zd Zdd Zdd ZdS )SetCommissionc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }i }tj	j
dd }|rt|j|jd	}ttjd
|dW S  ty } z&ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   Tr   )r)   commision_valuer  r3   r7   r   )r   r   r   r   r   r   r   r   CommissionPercentager;   r<   r=   r)   Commision_percentager   r   rD   rE   rG   rB   )rH   rI   r   r   r   r  commision_percentagerN   rO   rO   rP   r8   J  s    
zSetCommission.getc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j}|	d}|sxt
tjdd	tjd
W S tjjdd }|r||_|  ntjj|d}t
tjdd	W S  t y } z&t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  zcommision_value is requiredr7   r   Tr   )r  r  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r  rn   r   rD   rE   rG   rB   )	rH   rI   r   r   r   r6   r  r  rN   rO   rO   rP   rQ   \  s$    


zSetCommission.postNr   rO   rO   rO   rP   r  I  s   r  c                   @   s   e Zd Zdd ZdS )
AgencyListc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
ddd	}tj	j
dd }| jjd
}|rtj	j
t|dt|dB t|dB t|dB dd}| jjd}|sttjddtjdW S | jjd}	|	sttjddtjdW S t||}
z|
|	}W n< tyF   |
d}Y n  tyd   |
|
j}Y n0 g }|D ].}|j|j|j|j|j|jd}|| qnttj d||	r|	nd|
jt!||dW S  t"y } z.t#| ttj$t%|dtj$dW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rc  r   r   r   r   r   r   r   r   r   r7   r   r   r   r
   r)   r+   r,   r   r*   r   zAgency fetched successfullyr   &r   r   r   r   r   r   r   r   r  r;   r<   r   r  rI   r  r8   r   r   r   r9   r   r   r   r   r  r)   r@   rA   r   r?   r   r   rD   r  rE   rF   rG   rB   r  rO   rO   rP   r8   s  sL    
4
,zAgencyList.getNr   rO   rO   rO   rP   r  r  s   r  c                   @   s   e Zd Zdd ZdS )AgencyDetailsc                 C   s  zZt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|dd }tjj|d }|r|jj}|j}	|j}
|j}|jj}|jj}nd}d}	d}
d}d}d}|sttjdd	tjd
W S |j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&||	|
|||d}ttj'd|dW S  t(y } z.t)| ttj*t+|d	tj*d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  Agency Id is requiredr7   r   rc  r)   r   r  r  No Agency foundr  #Agency details fetched successfullyr3   ,r   r   r   r   r   r   r   r   rI   r  r8   r   r   r9   r  r;   r<   r=   AgencySubscriptionsr*  r+  r,  r-  r  r.  r/  r0  r@   rA   r   r  r1  r  r  r  r   r!  r2  r3  rD   rE   rF   rG   rB   r4  rO   rO   rP   r8     sd    

zAgencyDetails.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )changeAgencyStatusc           	   
   C   s<  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }| jj	
d}|svttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tjj
|dd}||_|  |jdkrttjdd	W S ttjdd	W S W nH ty6 } z.t| ttjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   r  rc  r   r   r  zAgency activated successfullyzAgency deactivated successfullyr  r  rO   rO   rP   r8     s*    

zchangeAgencyStatus.getNr   rO   rO   rO   rP   r"    s   r"  c                   @   s   e Zd Zdd ZdS )
lawyerListc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	j
ddd	}tj	j
dd }| jjd
}|rtj	j
t|dt|dB t|dB t|dB dd}| jjd}|sttjddtjdW S | jjd}	|	sttjddtjdW S t||}
z|
|	}W n< tyF   |
d}Y n  tyd   |
|
j}Y n0 g }|D ].}|j|j|j|j|j|jd}|| qnttj d||	r|	nd|
jt!||dW S  t"y } z.t#| ttj$t%|dtj$dW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   lawyerr   r   r   r   r   r   r   rc  r   r   r7   r   r   r   r
   r  zLawyer fetched successfullyr   r  r  rO   rO   rP   r8     sL    
4
,zlawyerList.getNr   rO   rO   rO   rP   r$    s   r$  c                   @   s   e Zd Zdd ZdS )lawyerDetailsc                 C   s  zZt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }| jj	
d}|sxttjdd	tjd
W S tjj|dd }tjj|d }|r|jj}|j}	|j}
|j}|jj}|jj}nd}d}	d}
d}d}d}|sttjdd	tjd
W S |j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&||	|
|||d}ttj'd|dW S  t(y } z.t)| ttj*t+|d	tj*d
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  Lawyer Id is requiredr7   r   r%  r  r  r  r  r  r  r3   r   r4  rO   rO   rP   r8     sd    

zlawyerDetails.getNr   rO   rO   rO   rP   r&    s   r&  c                   @   s   e Zd Zdd ZdS )changeLawyerStatusc           	   
   C   s<  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }| jj	
d}|svttjdd	tjd
W S | jj	
d}|sttjdd	tjd
W S tjj
|dd}||_|  |jdkrttjdd	W S ttjdd	W S W nH ty6 } z.t| ttjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r'  r7   r   r   r  r%  r#  r  zLawyer activated successfullyzLawyer deactivated successfullyr  r  rO   rO   rP   r8   T  s*    

zchangeLawyerStatus.getNr   rO   rO   rO   rP   r(  S  s   r(  c                   @   s   e Zd Zdd ZdS )requestedLawyerContractsc           
   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }g }|D ]^}|j|jj|jjjjd |jjjj |jjjj|jjjj|jj|jj|jjd}|| q^ttjd	|d
W S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   rh  )r)   
inquiry_idproperty_project_customer_nameproperty_project_customer_emailZ%property_project_customer_phonenumbercustomer_emailr  r:  r  r3   r7   r   )r   r   r   r   r   r   r   r   LawyerContractDealsr;   rB  r)   inquiryrf  rZ  r@   rA   r   r?   r
  r:  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   contract_objr  r  r  rN   rO   rO   rP   r8   n  s.    




zrequestedLawyerContracts.getNr   rO   rO   rO   rP   r)  m  s   r)  c                   @   s   e Zd Zdd ZdS )getCurrencyListingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd}g }|D ]$}|j|j|j|jd	}|| qbttjd
|dW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   r)   symbolr  converted_pricerh   r3   r7   r   )r   r   r   r   r   r   r   r   CurrencyHandlerr;   r<   r)   r3  r  r4  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   currency_objr  currencyr  rN   rO   rO   rP   r8     s&    
zgetCurrencyListing.getNr   rO   rO   rO   rP   r1    s   r1  c                   @   s   e Zd Zdd ZdS )addCurrencyc           	   
   C   s4  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|||d t
tjdd	W S  ty. } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r3  symbol is requiredr7   r   r  name is requiredr4  converted_price is requiredr3  r  r4  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r5  r;   r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r3  r  r4  rN   rO   rO   rP   rQ     s(    
zaddCurrency.postNrR   rO   rO   rO   rP   r8    s   r8  c                   @   s   e Zd Zdd Zdd ZdS )editCurrencyc           	   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|spt
dd	itjd
W S tjj|dd }|j|j|j|jd}t
tjd|dW S  t y } z.t| t
tjt|dtjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   currency_idr"   zNo inquire foundr   Tr  r2  r  r3   r7   )r   r   r   r   r   r   r   r   GETr8   r   r   r9   r5  r;   r<   r=   r)   r3  r  r4  rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r>  r6  r  rN   rO   rO   rP   r8     s&    
zeditCurrency.getc              
   C   sf  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|dj|||d}	t
tjdd	W S  ty` }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r>  currency_id is requiredr7   r   r3  r9  r  r:  r4  r;  r   r<  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r5  r;   r<   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r>  r3  r  r4  r6  rN   rO   rO   rP   rQ     s.    
zeditCurrency.postNr   rO   rO   rO   rP   r=    s   r=  c                   @   s   e Zd Zdd ZdS )deleteCurrencyc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj	|d}|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r>  r@  r7   r   r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r5  r;   deleterD   rE   rF   rG   rB   )rH   rI   r   r   r   r>  r6  rN   rO   rO   rP   rQ     s    
zdeleteCurrency.postNrR   rO   rO   rO   rP   rA    s   rA  c                   @   s   e Zd Zdd ZdS )createCommunityChatAdminc              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|rt
tjdd	tjd
W S tjj|d t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   channel_namechannel_name is requiredr7   r   )rD  z-This community name has already been created.rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   CommunityChannelsr;   r<   r=   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   rD  check_channelrN   rO   rO   rP   rQ     s"    
zcreateCommunityChatAdmin.postNrR   rO   rO   rO   rP   rC    s   rC  c                   @   s   e Zd Zdd ZdS )communityChatListingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }g }|D ]$}|j|j|j|jd}|| q^ttjd|d	W S  ty }	 z.t|	 ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   rD  twilio_channel_sidr   rh   r3   r7   r   )r   r   r   r   r   r   r   r   rF  r;   rB  r)   rD  rJ  r   r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   rG  r  rp   r  rN   rO   rO   rP   r8   4  s&    

zcommunityChatListing.getNr   rO   rO   rO   rP   rH  3  s   rH  c                   @   s   e Zd Zdd Zdd ZdS )editCommunityChatc           	   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|j|j|j|jd}t
tjd|dW S  t y } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
channel_idchannel_id is requiredr7   r   r   rI  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rF  r;   r<   r=   r)   rD  rJ  r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   rL  rp   r  rN   rO   rO   rP   r8   P  s&    
zeditCommunityChat.getc           	   
   C   s6  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S ||_|  t
tjdd	W S  ty0 } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rL  rM  r7   r   rD  rE  r   zNo community channel foundrh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rF  r;   r<   r=   rD  rn   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   rL  rD  rG  rN   rO   rO   rP   rQ   i  s*    
zeditCommunityChat.postNr   rO   rO   rO   rP   rK  O  s   rK  c                   @   s   e Zd Zdd ZdS )deleteCommunityChatc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rL  rM  r7   r   r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rF  r;   r<   r=   rB  rD   rE   rF   rG   rB   )rH   rI   r   r   r   rL  rG  rN   rO   rO   rP   rQ     s    
zdeleteCommunityChat.postNrR   rO   rO   rO   rP   rN    s   rN  c                   @   s   e Zd Zdd ZdS )createCategoriesContentc           	   
   C   s4  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|||d t
tjdd	W S  ty. } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rT  image is requiredr7   r   r   title is requiredr  description is required)rT  r   r  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   CategoriesContentr;   r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   rT  r   r  rN   rO   rO   rP   rQ     s(    
zcreateCategoriesContent.postNrR   rO   rO   rO   rP   rO    s   rO  c                   @   s   e Zd Zdd Zdd ZdS )editCategoriesContentc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j|j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   cat_idcat_id is requiredr7   r   r   content_obj not foundr)   rT  r   r  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rS  r;   r<   r=   r)   rT  r   r  rD   rE   rF   rG   rB   	rH   rI   r   r   r   rU  r   r  rN   rO   rO   rP   r8     s*    
zeditCategoriesContent.getc              
   C   s  zFt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S ||_||_|	|_|  t
tjdd	W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   rU  rV  r7   r   r   No category obj found.rT  rP  r   rQ  r  rR  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rS  r;   r<   r=   rT  r   r  rn   rD   rE   rF   rG   rB   )rH   rI   r   r   r   rU  r  rT  r   r  rN   rO   rO   rP   rQ     s:    
zeditCategoriesContent.postNr   rO   rO   rO   rP   rT    s   rT  c                   @   s   e Zd Zdd ZdS )categoriesListingc              
   C   s,  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|rtt
tjdd	tjd
W S tjjdd}|st
tjdd	tjd
W S g }|D ]$}|j|j|j|jd}	||	 qt
tjd|dW S  ty& }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   rU  rV  r7   r   Tr   rW  rX  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rS  r;   r<   r)   rT  r   r  r   rD   rE   rF   rG   rB   rH   rI   r   r   r   rU  r   r  Zcontr  rN   rO   rO   rP   r8     s0    
zcategoriesListing.getNr   rO   rO   rO   rP   r[    s   r[  c                   @   s   e Zd Zdd ZdS )deleteCategoriesc              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S t |_|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
content_idcontent_id is requiredr7   r   r   rZ  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rS  r;   r<   r=   r   r   r   rn   rD   rE   rF   rG   rB   rH   rI   r   r   r   r^  r  rN   rO   rO   rP   rQ     s$    

zdeleteCategories.postNrR   rO   rO   rO   rP   r]    s   r]  c                   @   s   e Zd Zdd ZdS )createServiceContentc              
   C   s
  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj||d t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   rQ  r7   r   r  rR  )r   r  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   ServicesContentr;   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r   r  rN   rO   rO   rP   rQ   '  s"    
zcreateServiceContent.postNrR   rO   rO   rO   rP   ra  &  s   ra  c                   @   s   e Zd Zdd Zdd ZdS )editServiceContentc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rU  rV  r7   r   r   rW  r)   r   r  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rb  r;   r<   r=   r)   r   r  rD   rE   rF   rG   rB   rY  rO   rO   rP   r8   =  s(    
zeditServiceContent.getc           
   
   C   sf  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S ||_||_|  t
tjdd	W S  ty` }	 z.t|	 t
tjt|	d	tjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   rU  rV  r7   r   r   rZ  r   rQ  r  rR  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rb  r;   r<   r=   r   r  rn   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   rU  r  r   r  rN   rO   rO   rP   rQ   V  s2    
zeditServiceContent.postNr   rO   rO   rO   rP   rc  <  s   rc  c                   @   s   e Zd Zdd ZdS )serviceListingc              
   C   s(  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|rtt
tjdd	tjd
W S tjjdd}|st
tjdd	tjd
W S g }|D ] }|j|j|jd}	||	 qt
tjd|dW S  ty" }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   rU  rV  r7   r   Tr   rW  rd  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rb  r;   r<   r)   r   r  r   rD   rE   rF   rG   rB   r\  rO   rO   rP   r8   u  s.    
zserviceListing.getNr   rO   rO   rO   rP   re  t  s   re  c                   @   s   e Zd Zdd ZdS )deleteServicec              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S t |_|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r^  r_  r7   r   r   zNo service obj found.rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rb  r;   r<   r=   r   r   r   rn   rD   rE   rF   rG   rB   r`  rO   rO   rP   rQ     s$    

zdeleteService.postNrR   rO   rO   rO   rP   rf    s   rf  c                   @   s   e Zd Zdd ZdS )getTestimonialListingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }g }tj	j
dd}|D ],}|j|j|j|j|j|jd	}|| qbttjd
|dW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   r)   r   r  ratingsr  designationrh   r3   r7   r   )r   r   r   r   r   r   r   r   Testimonialsr;   r<   r)   r   r  ri  r  rj  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   	test_datatest_objtestr  rN   rO   rO   rP   r8     s*    

zgetTestimonialListing.getNr   rO   rO   rO   rP   rg    s   rg  c                   @   s   e Zd Zdd ZdS )getTestimonialDetailsc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjjdd }|j|j|j|j|j|jd}t
tjd|dW S  t y } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   test_idztest_id is requiredr7   r   Tr   rh  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   rk  r;   r<   r=   r)   r   r  ri  r  rj  rD   rE   rF   rG   rB   )	rH   rI   r   r   r   rp  rm  r  rN   rO   rO   rP   r8     s*    
zgetTestimonialDetails.getNr   rO   rO   rO   rP   ro    s   ro  c                   @   s   e Zd Zdd ZdS )deleteTestimonialc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   rp  r_  r7   r   r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   rk  r;   r<   r=   rB  rD   rE   rF   rG   rB   )rH   rI   r   r   r   rp  rm  rN   rO   rO   rP   rQ     s    
zdeleteTestimonial.postNrR   rO   rO   rO   rP   rq    s   rq  c                   @   s   e Zd Zdd Zdd ZdS )companyInformationc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
  }|svttjddtjd	W S |j|j|j|j|j|j|j|j|jd
	}ttjd|dW S  t y } z.t| ttjt|dtjd	W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   zNo data foundr7   r   	r>  company_phone_numbercompany_locationcompany_latitudecompany_longitudecompany_facebookcompany_instagramcompany_twittercompany_youtuberh   r  )r   r   r   r   r   r   r   r   CompanyContactInformationr;   rB  r=   r   r   r9   r>  rt  ru  rv  rw  rx  ry  rz  r{  rD   rE   rF   rG   rB   )rH   rI   r   r   r   	check_objr  rN   rO   rO   rP   r8     s.    
zcompanyInformation.getc                 C   sz  z*t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S |j	d}
|
sBt
tjdd	tjd
W S |j	d}|slt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tj  }|stjj|||||	|
|||d	 n(tjj|jdj|||||	|
|||d	 t
tjdd	W S  tyt } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r>  zcompany_email is requiredr7   r   rt  z company_phone_number is requiredru  zcompany_location is requiredrv  zcompany_latitude is requiredrw  zcompany_longitude is requiredrx  zcompany_facebook is requiredry  zcompany_instagram is requiredrz  zcompany_twitter is requiredr{  zcompany_youtube is requiredrs  r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r|  r;   rB  r=   r   r<   r)   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r>  rt  ru  rv  rw  rx  ry  rz  r{  r}  rN   rO   rO   rP   rQ     sZ    
zcompanyInformation.postNr   rO   rO   rO   rP   rr    s   rr  c                   @   s   e Zd Zdd ZdS )addHowItWorkc           
   
   C   s`  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj||||d t
tjdd	W S  tyZ }	 z.t|	 t
tjt|	d	tjd
W  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   step_numberstep_number is requiredr7   r   iconicon is requiredr   rQ  r  rR  r  r  r   r  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   
HowItWorksr;   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   r  r  r   r  rN   rO   rO   rP   rQ   X  s.    
zaddHowItWork.postNrR   rO   rO   rO   rP   r~  W  s   r~  c                   @   s   e Zd Zdd Zdd ZdS )editHowItWorkc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j|j|j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S Nr   rY   r   r   r   r   work_idwork_id is requiredr7   r   r   work_obj is requiredr)   r  r  r   r  rh   r  )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  objectr<   r=   r)   r  r  r   r  rD   rE   rF   rG   rB   	rH   rI   r   r   r   r  work_objr  rN   rO   rO   rP   r8   ~  s,    
zeditHowItWork.getc              
   C   s  zBt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}	|	st
tjdd	tjd
W S tjjtdj||||	d t
tjdd	W S  ty }
 z.t|
 t
tjt|
d	tjd
W  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r  r  r  r  r   rQ  r  rR  r   r  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r)   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  r  r   r  rN   rO   rO   rP   rQ     s4    
zeditHowItWork.postNr   rO   rO   rO   rP   r  }  s   r  c                   @   s   e Zd Zdd ZdS )howItworkListc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
dd}g }|D ](}|j|j|j|j|jd	}|| qbttjd
|dW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   r  rh   r  r7   r   )r   r   r   r   r   r   r   r   r  r;   r<   r)   r  r  r   r  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   how_objr  howr  rN   rO   rO   rP   r8     s(    
zhowItworkList.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )howItworkDetailsc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j|j|j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S r  )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   r  r;   r<   r=   r)   r  r  r   r  rD   rE   rF   rG   rB   r  rO   rO   rP   r8     s,    
zhowItworkDetails.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )deleteHowItworkc              
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   r  rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   rB  rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  rN   rO   rO   rP   rQ     s"    
zdeleteHowItwork.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )agencyFaqlistingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	j
ddd	}g }|D ] }|j|j|jd
}|| qhttjd|dW S  ty }	 z.t|	 ttjt|	dtjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   Tr   r   r   r   r3   r7   r   )r   r   r   r   r   r   r   r   	AgencyFaqr;   r<   r   r)   r   r   r   r   r   rD   rE   rF   rG   rB   r   rO   rO   rP   r8     s$    
zagencyFaqlisting.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )agencyAddFaqc              
   C   s
  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj||d t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S r   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r   rD   rE   rF   rG   rB   r   rO   rO   rP   rQ   ,  s"    
zagencyAddFaq.postNrR   rO   rO   rO   rP   r  +  s   r  c                   @   s   e Zd Zdd Zdd ZdS )agencyEditFaqc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S |j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   zfaq_obj is requiredr   zFaq fetcged successfullyr  )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   r  r;   r<   r=   r)   r   r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r   Zfaq_objr  rN   rO   rO   rP   r8   @  s(    
zagencyEditFaq.getc           	   
   C   s:  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S |j	d}|st
tjdd	tjd
W S tjj|dj||d t
tjdd	W S  ty4 } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S r   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r   rD   rE   rF   rG   rB   r   rO   rO   rP   rQ   W  s(    
zagencyEditFaq.postNr   rO   rO   rO   rP   r  ?  s   r  c                   @   s   e Zd Zdd ZdS )agencyDeleteFaqc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|djt d t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S r   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r   r   r   rD   rE   rF   rG   rB   r   rO   rO   rP   rQ   n  s    
zagencyDeleteFaq.postNrR   rO   rO   rO   rP   r  m  s   r  c                 C   s@   t jjdd }i }|r4|j|j|j|j|jd}t	| d|S )Nr   r   r   zterms_and_conditions.html
r   r;   r<   r=   r   r   r   r   r   r   rI   r   contextrO   rO   rP   termsAndConditionsview~  s    	r  c                 C   s@   t jjdd }i }|r4|j|j|j|j|jd}t	| d|S )Nr   r   r   zprivacy_policy.htmlr  r  rO   rO   rP   privacypolicyview  s    	r  c                   @   s   e Zd Zdd ZdS )addFacilitiesc              
   C   s   zr|j d}|s*ttjddtjdW S |j d}|sRttjddtjdW S tjj||d ttjddW S  t	y } z.t
| ttjt|dtjdW  Y d }~S d }~0 0 d S )	Nr  r:  r7   r   r  r  r  r  Addded successfully)r6   r8   r   r   r9   
Facilitiesr;   r   rD   rE   rF   rG   rB   )rH   rI   r  r  rN   rO   rO   rP   rQ     s    zaddFacilities.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd Zdd ZdS )editFacilitiesc              
   C   s   z||j d}|s*ttjddtjdW S tjj|d }|sXttjddtjdW S |j	|j
|jd}ttjd|d	W S  ty } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )
Nfacility_idzfacility_id is requiredr7   r   r   zNo facility foundr)   r  r  r  r  )r?  r8   r   r   r9   r  r;   r<   r=   r)   r  r  rD   rE   rF   rG   rB   )rH   rI   r  fac_objr  rN   rO   rO   rP   r8     s    zeditFacilities.getc              
   C   s   z|j d}|j d}|s6ttjddtjdW S |j d}|s^ttjddtjdW S tjj|dj||d	 ttj	d
dW S  t
y } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr  r  r:  r7   r   r  r  r   r  Updated successfully)r6   r8   r   r   r9   r  r;   r<   r   rD   rE   rF   rG   rB   )rH   rI   r  r  r  rN   rO   rO   rP   rQ     s    zeditFacilities.postNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )getFacilitiesc              
   C   s   zNt j d}g }|D ] }|j|j|jd}|| qtt	j
d|dW S  ty } z.t| tt	jt|dt	jdW  Y d }~S d }~0 0 d S )Nr   r  r  r  r7   r   )r  r;   rB  r   r)   r  r  r   r   r   rD   rE   rF   rG   rB   )rH   rI   r  r  facr  rN   rO   rO   rP   r8     s    zgetFacilities.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )deleteFacilitiesc              
   C   s   z8|j d}tjj|d }|  ttj	ddW S  t
y~ } z.t| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr  r   r  r7   r   )r6   r8   r  r;   r<   r=   rB  r   r   rD   rE   rF   rG   rB   )rH   rI   r  r  rN   rO   rO   rP   rQ     s    zdeleteFacilities.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )createFeatureAddPricingc              
   C   s  zFt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|j	d}|j	d	}|j	d
}|st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S tjj||||d }	|	r$t
tjddtjdW S tjj||||d t
tjddW S  ty }
 z.t|
 t
tjt|
dtjdW  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r  r/  daysr  r:  r7   r   price is requireddays is requiredbenfits is required)r  r/  r  r  z+This Feature name has already been created.rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   FeatureAddPricingr;   r<   r=   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r/  r  r  check_featurerN   rO   rO   rP   rQ     s4    
zcreateFeatureAddPricing.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )ListFeatureAddPricingc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }g }|D ](}|j|j|j|j|jd}|| q^ttjd|d	W S  ty }	 z.t|	 ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   r)   r  r/  r  r  rh   r3   r7   r   )r   r   r   r   r   r   r   r   r  r;   rB  r)   r  r/  r  r  r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   Zlist_channelr  channelr  rN   rO   rO   rP   r8   5  s(    

zListFeatureAddPricing.getNr   rO   rO   rO   rP   r  4  s   r  c                   @   s   e Zd Zdd Zdd ZdS )EditFeatureAddPricingc           	   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|j|j|j|j|jd}t
tjd|dW S  t y } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
feature_idfeature_id is requiredr7   r   r   r  rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   r  r;   r<   r=   r)   r  r/  r  r  rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r  r  r  rN   rO   rO   rP   r8   R  s(    
zEditFeatureAddPricing.getc              
   C   s  zvt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|j	d}|j	d}|j	d}	|st
tjdd	tjd
W S |st
tjdd	tjd
W S |st
tjdd	tjd
W S |	st
tjdd	tjd
W S tjj|d }
|
sHt
tjdd	tjd
W S ||
_||
_||
_|	|
_|
  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r  r/  r  r  r:  r  r  r  r   zNo Pricing feature foundrh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r  r/  r  r  rn   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  r/  r  r  r  rN   rO   rO   rP   rQ   l  sB    
zEditFeatureAddPricing.postNr   rO   rO   rO   rP   r  Q  s   r  c                   @   s   e Zd Zdd ZdS )deleteFeatureAddPricingc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   rB  rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  rN   rO   rO   rP   rQ     s    
zdeleteFeatureAddPricing.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )createBenefitsc              
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|j	d}|j	d	}|j	d
}|j	d}	|j	d}
|st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S |st
tjddtjdW S |	s&t
tjddtjdW S |
sDt
tjddtjdW S tjj|||||	|
d }|r~t
tjddtjdW S tjj|||||	|
d t
tjddW S  ty } z.t| t
tjt|dtjdW  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r/  r  r  r   r   r:  r7   r   r  r  r  rQ  content is required)r  r/  r  r  r   r   z+This Benefit name has already been created.rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   Benefitsr;   r<   r=   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r/  r  r  r   r   check_benefitrN   rO   rO   rP   rQ     s@    
zcreateBenefits.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )ListBenefitsc           
   
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
 }g }|D ]0}|j|j|j|j|j|j|jd}|| q^ttjd|d	W S  ty }	 z.t|	 ttjt|	d
tjdW  Y d }	~	S d }	~	0 0 d S )Nr   rY   r   r   r   r   )r)   r  r/  r  r  r   r   rh   r3   r7   r   )r   r   r   r   r   r   r   r   r  r;   rB  r)   r  r/  r  r  r   r   r   r   r   rD   rE   rF   rG   rB   )
rH   rI   r   r   r   Zlist_benefitr  Zbenefitr  rN   rO   rO   rP   r8     s,    

	zListBenefits.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd Zdd ZdS )EditBenefitsc           	   
   C   s  zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|j|j|j|j|j|j|jd}t
tjd|dW S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
benefit_idbenefit_id is requiredr7   r   r   )r)   r  r/  r  r  r   r   rh   r3   )r   r   r   r   r   r   r   r   r?  r8   r   r   r9   r  r;   r<   r=   r)   r  r/  r  r  r   r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r  r  r  rN   rO   rO   rP   r8     s,    
	zEditBenefits.getc              
   C   s(  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S |j	d}|j	d}|j	d}|j	d}	|j	d}
|j	d}|st
tjdd	tjd
W S |st
tjdd	tjd
W S |st
tjdd	tjd
W S |	s2t
tjdd	tjd
W S |
sPt
tjdd	tjd
W S |snt
tjdd	tjd
W S tjj|d }|st
tjdd	tjd
W S ||_||_||_|	|_|
|_||_|  t
tjdd	W S  ty" } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r  r/  r  r  r   r   r:  r  r  r  rQ  r  r   zNo Benefits foundrh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   r  r/  r  r  r   r   rn   rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  r/  r  r  r   r   r  rN   rO   rO   rP   rQ   	  sR    
zEditBenefits.postNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )deleteBenefitsc              
   C   s   zt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }|j	d}|stt
tjdd	tjd
W S tjj|d }|  t
tjdd	W S  ty } z.t| t
tjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  r  r7   r   r   rh   )r   r   r   r   r   r   r   r   r6   r8   r   r   r9   r  r;   r<   r=   rB  rD   rE   rF   rG   rB   )rH   rI   r   r   r   r  r  rN   rO   rO   rP   rQ   9  s    
zdeleteBenefits.postNrR   rO   rO   rO   rP   r  8  s   r  c                   @   s   e Zd Zdd ZdS )ListCompanySeekingc              >   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 }tj	
  }| jjd}|sttjdd	tjd
W S | jjd}|sttjdd	tjd
W S t||}	z|	|}W n: ty   |	d}Y n  ty   |	|	j}Y n0 g }
|D ]H}|jdkr.d}n|jdkr@d}nd}|
|j|jjd |jj |jj|jj|jj|j|j|j |j!t"#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|jF|jG|jH|jI|jJ|jK|jL|j|jMr>|jMjnd |jN|jO|jP|jQ|jR|d: qttjSd|
|rv|nd|	jtT||dtjSd
W S  tUy } z.tV| ttjWtX|d	tjWd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r   r7   r   r   r   r
   r   rN  ra  rb  rh  ):r)   r  ri  r  r  r:  r  r  about_the_ownerrY  r  rn  rU  maximum_drawingrQ  share_for_salerP  number_of_sharer^  ra  e_postissue_account_numberestablish_yearpremises_frombackground_for_salerb  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_coder  share_holder_imageenter_sharesr   rc  r  r  r  r  r   r_  r  r   )Yr   r   r   r   r   r   r   r   rt  r;   rB  r  rI   r  r8   r   r   r9   r   r   r   r   r  r   r)   rZ  r@   rA   r?   r1  r:  r  r  r  r  r  property_imageproperty_videorn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  rc  r  r  r  r  r   rD   r  rE   rF   rG   rB   )rH   rI   r   r   r   r\  r]  r   r   r  rM   csr_  rN   rO   rO   rP   r8   M  s    




?2zListCompanySeeking.getNr   rO   rO   rO   rP   r  L  s   r  c                   @   s   e Zd Zdd ZdS )DetailCompanySeekingc           	   :   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S tjj|d }|j|jjd |jj |jj|jj|jj|j|j|j|jt|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|j|jFr~|jFjnd |jG|jH|jI|jJ|jKd9}t
tjLd|dW S  tMy } z.tN| t
tjOtP|d	tjOd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   
seeking_idzseeking_id is requiredr7   r   r   rh  )9r)   r  ri  r  r  r:  r  r  r  rY  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r   rc  r  r  r  r  r   rh   r3   )Qr   r   r   r   r   r   r   r   r?  r8   r   r   r9   rt  r;   r<   r=   r)   rZ  r@   rA   r?   r1  r:  r  r  r  r  r  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  rc  r  r  r  r  r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r  r  r  rN   rO   rO   rP   r8     s    

=zDetailCompanySeeking.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )getProperDeveloperListingc              Q   C   s<  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }tj	
 d}g }|D ]r}|jdkr|d	}n|jd
krd}nd}|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|jF|jG|jH|jI|jJ|jK|jL|jM|jN|jO|jP|jQ|jR|jS|jT|jU|j|jV|jW|jX|jY|dO}	|Z|	 qft[tj\d|dW S  t]y6 }
 z.t^|
 t[tj_t`|
dtj_dW  Y d }
~
S d }
~
0 0 d S )Nr   rY   r   r   r   r   r   r   rN  r
   ra  rb  )Or)   ri  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  expected_periodr9  r:  r;  r<  r=  r>  r*   measure_of_multiplierr  minimum_goalra  rN  rQ  no_of_drawingsr  remaining_sharer  short_description
why_investproblem_to_be_solvedour_solutionstart_date_dataend_date_datar  price_of_share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satutesannual_accountr  agreement_on_coconversion_of_debtbalance_sheetresult_reportrq  rr  rs  ru  r  rp  r  r  r  rc  r   r  r  r  r   r_  r   r  r7   r   )ar   r   r   r   r   r   r   r   rs  r;   rB  r   r   r)   customerId_idr  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  ru  r  rp  r  r  r  	agency_idr  r  r  r   r   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   dev_objr  devr_  r  rN   rO   rO   rP   r8     s    



QzgetProperDeveloperListing.getNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )getProperDeveloperDetailsc           	   O   C   s&  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j	d}|svt
tjdd	tjd
W S tjj|d }|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|jF|jG|jH|jI|jJ|jK|jL|jM|jN|jO|jP|jQ|jR|jS|jT|jU|jV|jW|jX|jY|j|jZ|j[|j\|j]dN}t
tj^d|dW S  t_y  } z.t`| t
tjatb|d	tjad
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r  property_id is requiredr7   r   r   )Nr)   ri  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  ru  r  rp  r  r  r  rc  r   r  r  r  r   r   r  )cr   r   r   r   r   r   r   r   r?  r8   r   r   r9   rs  r;   r<   r=   r)   r  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  ru  r  rp  r  r  r  r  r  r  r  r   rD   rE   rF   rG   rB   )	rH   rI   r   r   r   r  r  r  rN   rO   rO   rP   r8   m  s    
PzgetProperDeveloperDetails.getNr   rO   rO   rO   rP   r  l  s   r  c                   @   s   e Zd Zdd Zdd ZdS )DoItByReeipoPricec              
   C   s   zrt |}|d u s&|dks&| dkr0tdtj|tjdgd}|d }tj	
  }|j}ttjd|dW S  ty } z.t| ttjt|d	tjd
W  Y d }~S d }~0 0 d S )Nr   rY   r   r   r   r   r   r4   r5   r/  r7   r   )r   r   r   r   r   r   r   r   r  r;   r<   r  r/  r   r   rD   rE   rF   rG   rB   )rH   rI   r   r   r   get_latest_pricer/  rN   rO   rO   rP   r8     s    
zDoItByReeipoPrice.getc              
   C   s   zP|j d}|s*ttjddtjdW S tjj|d}ttjd|dtjdW S  t	y } z.t
| ttjt|dtjdW  Y d }~S d }~0 0 d S )Nr/  r  r7   r   )r/  znew price created successfullyr  )r6   r8   r   r   r9   r  r;   r   rD   rE   rF   rG   rB   )rH   rI   r/  r  rN   rO   rO   rP   rQ     s    zDoItByReeipoPrice.postNr   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )addPropertyProjectc           :   2   C   s4  t |}|d u s$|dks$| dkr.tdtj|tjdgd}|d }|j}|	d}t
d| tjj|d	 }tjj|jd
d }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"}|	d#} |	d$}!|	d%}"|	d&}#|	d'}$|	d(}%|	d)}&|	d*}'|	d+}(|	d,})|	d-}*|	d.}+|	d/},|	d0}-|	d1}.|	d2}/|	d3}0|	d4}1|	d5}2|	d6}3|	d7}4|	d8}5|5rptjj|5d	 }6nd }6|
sttjd9d:tjd;S |sttjd<d:tjd;S |sttjd=d:tjd;S |sttjd>d:tjd;S |s ttjd?d:tjd;S |sttjd@d:tjd;S |s8ttjdAd:tjd;S |sTttjdBd:tjd;S |spttjdCd:tjd;S |sttjdDd:tjd;S |sttjdEd:tjd;S |sttjdFd:tjd;S |sttjdGd:tjd;S |sttjdHd:tjd;S |sttjdId:tjd;S |s4ttjdJd:tjd;S |sPttjdKd:tjd;S |slttjdLd:tjd;S |sttjdMd:tjd;S | sttjdNd:tjd;S |!sttjdOd:tjd;S |"sttjdPd:tjd;S |#sttjdQd:tjd;S |$sttjdRd:tjd;S |%s0ttjdSd:tjd;S |&sLttjdTd:tjd;S |'shttjdUd:tjd;S |(sttjdVd:tjd;S |+sttjdWd:tjd;S |,sttjdXd:tjd;S |-sttjdYd:tjd;S |.sttjdZd:tjd;S |/sttjd[d:tjd;S |0s,ttjd\d:tjd;S |1sHttjd]d:tjd;S |2sdttjd^d:tjd;S tjj||
|||||||||||||||||||||| |!|"|#|%|&|'|(|)|*|+|,|-|.|/|$|0|1|2|3t |4|	|6d_d`0}7|	da}8tjj|8d	 }9|9rdb|9_|7j|9_|9  tjj|dcddde ttjdfd:tjd;S )gNr   rY   r   r   r   r   ri  uidr   Tr   r  r   r{  r|  r  r  r  r  r}  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  r  r  r/  ry  r  rw  r  r  r  r  r  ry  r  r  r  r  r  r  spend_too_much_time is requiredr  r   most_useless_skill is requiredfun_act is requiredbiography is requiredshort_title is requiredproperty_overview is required property_description is requiredimage_data is requiredvideos is requiredproperty_document is requiredcategory is requiredproperty_name is requiredproperty_dimension is requiredcountry is requiredstate is requiredcity is requiredpostal_code is requiredlocation is requiredlatitude is requiredlongitude is requiredfacility is requiredbenefits is required return_on_investment is requiredfinder_fee is requiredgross_income is requiredr  cashflow_pcm is required!total_termination_fee is requiredpurchase_price is required"potential_cashflow_pcm is required!investment_finder_fee is required/investment_return_on_investment_fee is requiredrental is requiredthe_vision is requiredcost_to_consider is requiredcapital_required is requiredr
   )0rZ  r{  r|  r  r  r  r  r}  rY  rn  r  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  r  r/  ry  r  rw  r  r  r  r  r  ry  r  r  r  r  r  r  r  r  rc  r   form_id	PublishedzDA new Property Project has been uploaded by the DO IT BY REEIPO TEAMrf  r  Added successfully)r   r   r   r   r   r   r   r   r6   r8   rF   r  r;   r<   r=   r)  r)   r*  	tyre_typer   r   r9   rp  r   r   r   r  r  rn   r  rD   ):rH   rI   r   r   r   r6   r  customerObjplan_objsubscription_tyrer{  r|  r  r  r  r  r}  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  r  r  r/  ry  r  rw  r  r  r  r  r  ry  r  r  r  r  r  r  
agency_objrf  r-  get_formrO   rO   rP   rQ     s4   















































2
zaddPropertyProject.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )editPropertyProjectc           :   
   C   s  z8t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}|	d}t
jj|d	 }tjj|jd
d }	|	r|	jj}
nd}
|	d}|sttjddtjdW S tjj|d	 }|sttjddtjdW S |	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"}|	d#}|	d$}|	d%} |	d&}!|	d'}"|	d(}#|	d)}$|	d*}%|	d+}&|	d,}'|	d-}(|	d.})|	d/}*|	d0}+|	d1},|	d2}-|	d3}.|	d4}/|	d5}0|	d6}1|	d7}2|	d8}3|	d9}4|	d:}5|	d;}6|sttjd<dtjdW S |sttjd=dtjdW S |sttjd>dtjdW S |sttjd?dtjdW S |s:ttjd@dtjdW S |sXttjdAdtjdW S |svttjdBdtjdW S |sttjdCdtjdW S |sttjdDdtjdW S |sttjdEdtjdW S |sttjdFdtjdW S |sttjdGdtjdW S |s*ttjdHdtjdW S |sHttjdIdtjdW S |sfttjdJdtjdW S |sttjdKdtjdW S |sttjdLdtjdW S | sttjdMdtjdW S |!sttjdNdtjdW S |"sttjdOdtjdW S |#sttjdPdtjdW S |$s8ttjdQdtjdW S |%sVttjdRdtjdW S |(stttjdSdtjdW S |)sttjdTdtjdW S |*sttjdUdtjdW S |+sttjdVdtjdW S |,sttjdWdtjdW S |-s
ttjdXdtjdW S |.s(ttjdYdtjdW S |/sFttjdZdtjdW S |0sdttjd[dtjdW S |1sttjd\dtjdW S |2sttjd]dtjdW S |3sttjd^dtjdW S |4sttjd_dtjdW S ||_||_||_||_||_||_||_||_||_||_||_ ||_!||_"||_#||_$||_%||_&||_'||_(||_)| |_*|!|_+|"|_,|#|_-|$|_.|%|_/|)|_0|*|_1|+|_2|,|_3|&|_4|'|_5|-|_6|.|_7|/|_8|0|_9|1|_:|2|_;|3|_<|4|_=|5|_>|
|_?|6|_@d`|_|A  |	da}7tBjj|7d	 }8|8r$db|8_|j|8_C|8A  ttjDdcdtjDdW S  tEyz }9 z&ttjFtG|9dtjFdW  Y d }9~9S d }9~90 0 d S )dNr   rY   r   r   r   r   r{  ri  r   Tr	  r   r  r  r  r   rg  r|  r  r  r  r  r}  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  rw  r  r  r  r/  ry  r  r  r  r  r  ry  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$  r%  r&  r'  r(  r)  r*  r+  r,  r
   r-  r.  zUpdated Successfully)Hr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   rp  r{  r|  r  r  r  r  r}  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  r  r/  ry  r  rw  r  r  r  r  r  ry  r  r  r  r  r  r  rn   r  r  rD   rE   rG   rB   ):rH   rI   r   r   r   r6   r{  r  r1  r2  r3  r  propertyProject_objr|  r  r  r  r  r}  rY  r  rn  r~  rR  ro  r  rq  rr  rs  ru  r  rp  r  r  r  r  rt  rx  rw  r  r  r  r/  ry  r  r  r  r  r  ry  r  r  r  r  r  r-  r5  rN   rO   rO   rP   rQ     s0   
















































zeditPropertyProject.postNrR   rO   rO   rO   rP   r6    s   r6  c                   @   s   e Zd Zdd ZdS )addPropertyRentc           =   
   C   sD  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}|j	d}t
jj|d	 }tjj|jd
d }	|	r|	jj}
nd}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|sttjd:d;tjd<W S |sttjd=d;tjd<W S |sttjd>d;tjd<W S |sttjd?d;tjd<W S |sttjd@d;tjd<W S |sttjdAd;tjd<W S |*s8ttjdBd;tjd<W S |+sVttjdCd;tjd<W S |stttjdDd;tjd<W S |sttjdEd;tjd<W S |sttjdFd;tjd<W S |sttjdGd;tjd<W S |sttjdHd;tjd<W S |s
ttjdId;tjd<W S |s(ttjdJd;tjd<W S |sFttjdKd;tjd<W S |sdttjdLd;tjd<W S |)sttjdMd;tjd<W S |sttjdNd;tjd<W S |sttjdOd;tjd<W S | sttjdPd;tjd<W S |!sttjdQd;tjd<W S |-sttjdRd;tjd<W S |.s6ttjdSd;tjd<W S |/sTttjdTd;tjd<W S |0srttjdUd;tjd<W S |1sttjdVd;tjd<W S |2sttjdWd;tjd<W S |3sttjdXd;tjd<W S |4sttjdYd;tjd<W S |5sttjdZd;tjd<W S |6s&ttjd[d;tjd<W S |7sDttjd\d;tjd<W S |sbttjd]d;tjd<W S tjj|d^}8||8_||8_||8_||8_||8_||8_||8_||8_||8_||8_ ||8_!||8_"||8_#|#|8_$|$|8_%|%|8_&|&|8_'|'|8_(|(|8_)||8_*||8_+||8_,||8_-||8_.||8_/||8_0||8_1| |8_2|!|8_3|"|8_4|)|8_5|*|8_6|+|8_7|
|8_8|,|8_9|-|8_:|.|8_;|/|8_<|0|8_=|1|8_>|2|8_?|3|8_@|4|8_A|5|8_B|6|8_C|7|8_Dd_|8_|8E  d`|8ji}9|	da}:tFjj|:d	 };|;rdb|;_|8j|;_G|;E  tHjj|dcddde ttjIdf|9dgtjId<W S  tJy> }< z&ttjKtL|<d;tjKd<W  Y d }<~<S d }<~<0 0 d S )hNr   rY   r   r   r   r   ri  r  r   Tr	  r   r   rR  rl  rY  rm  rn  r  r  r|  r  r  r  rt  r  available_from_dater  r  r  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rQ  r  r   r  sub_category is requiredrR  bedrooms is requiredrP  r  r  video is requiredrooms is requiredsize is requiredmonthly_rent is requiredrental_period is requiredfacilites is requiredavaiable_from_date is required!monthly_rent_includes is requiredsecurity is requiredr  security_amount is requiredheading is requireddisplay_information is requiredname_of_ad is requiredr  type_property is requireddescription_home is requiredspend_time is requireduseless_skill is requiredr  r  primary_room is requiredhousing_type is requiredkey_info_bedroom is requiredstory is requireddeposit is requiredrZ  r
   r)   r-  r.  zAA new Rent Property has been uploaded by the DO IT BY REEIPO TEAMrm  r  r/  r4   r"   r6   )Mr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   r  r   r   rR  rX  rY  rm  rn  r  r  r|  r  r  r  rt  rq  rr  rs  ru  r  rp  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  rn   r  r  r  rD   rE   rG   rB   )=rH   rI   r   r   r   r6   r  r  r1  r2  r3  r   rR  rl  rT  rm  rn  r  r  r|  r  r  r  rt  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rentproprM   r-  r5  rN   rO   rO   rP   rQ   ;  s4   
















































zaddPropertyRent.postNrR   rO   rO   rO   rP   r8  :  s   r8  c                   @   s   e Zd Zdd ZdS )editPropertyRentc           <   
   C   s&  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|j	d}	|r|jj}
nd}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|sttjd:d;tjd<W S |sttjd=d;tjd<W S |sttjd>d;tjd<W S |%sttjd?d;tjd<W S |sttjd@d;tjd<W S |sttjdAd;tjd<W S |*s8ttjdBd;tjd<W S |+sVttjdCd;tjd<W S |stttjdDd;tjd<W S |sttjdEd;tjd<W S |sttjdFd;tjd<W S | sttjdGd;tjd<W S |sttjdHd;tjd<W S |s
ttjdId;tjd<W S |s(ttjdJd;tjd<W S |!sFttjdKd;tjd<W S |"sdttjdLd;tjd<W S |)sttjdMd;tjd<W S |#sttjdNd;tjd<W S |$sttjdOd;tjd<W S |&sttjdPd;tjd<W S |'sttjdQd;tjd<W S |-sttjdRd;tjd<W S |.s6ttjdSd;tjd<W S |/sTttjdTd;tjd<W S |0srttjdUd;tjd<W S |1sttjdVd;tjd<W S |2sttjdWd;tjd<W S |3sttjdXd;tjd<W S |4sttjdYd;tjd<W S |5sttjdZd;tjd<W S |6s&ttjd[d;tjd<W S |7sDttjd\d;tjd<W S |sbttjd]d;tjd<W S tjj|	|d^ }8||8_||8_||8_||8_||8_||8_||8_||8_||8_||8_||8_ ||8_!||8_"||8_#||8_$||8_%||8_&||8_'||8_(||8_)| |8_*|!|8_+|"|8_,|#|8_-|$|8_.|%|8_/|&|8_0|'|8_1|(|8_2|)|8_3|*|8_4|+|8_5|
|8_6|,|8_7|-|8_8|.|8_9|/|8_:|0|8_;|1|8_<|2|8_=|3|8_>|4|8_?|5|8_@|6|8_A|7|8_Bd_|8_|8C  |	d`}9tDjj|9d }:|:rda|:_|8j|:_E|:C  ttjFdbd;tjFd<W S  tGy  }; z&ttjHtI|;d;tjHd<W  Y d };~;S d };~;0 0 d S )cNr   rY   r   r   r   r   ri  r   Tr	  r  r   r   rR  rl  rY  rm  rn  r  r  r|  r  r  r  rt  rq  rr  rs  ru  r  rp  r  r9  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  r  r   r  r:  rR  r;  rP  r  r  r<  r=  r>  r?  r@  rA  rB  rC  rD  r  rE  rF  rG  rH  r  rI  rJ  rK  rL  r  r  rM  rN  rO  rP  rQ  )r)   rZ  r
   r-  r.  r  )Jr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   r  r   rR  rX  rY  rm  rn  r  r  r|  r  r  r  rt  rq  rr  rs  ru  rp  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  rn   r  r  rD   rE   rG   rB   )<rH   rI   r   r   r   r6   r  r1  r2  r  r3  r   rR  rl  rT  rm  rn  r  r  r|  r  r  r  rt  rq  rr  rs  ru  r  rp  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  rT  r-  r5  rN   rO   rO   rP   rQ     s,   
















































zeditPropertyRent.postNrR   rO   rO   rO   rP   rU    s   rU  c                   @   s   e Zd Zdd ZdS )addSalePropertyc           7   
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|
sFttjd4d5tjd6W S |sdttjd7d5tjd6W S |sttjd8d5tjd6W S |sttjd9d5tjd6W S |sttjd:d5tjd6W S |sttjd;d5tjd6W S |sttjd<d5tjd6W S |sttjd=d5tjd6W S |s6ttjd>d5tjd6W S |sTttjd?d5tjd6W S |srttjd@d5tjd6W S |sttjdAd5tjd6W S |sttjdBd5tjd6W S | sttjdCd5tjd6W S |!sttjdDd5tjd6W S |"sttjdEd5tjd6W S |%s&ttjdFd5tjd6W S |&sDttjdGd5tjd6W S |'sbttjdHd5tjd6W S |(sttjdId5tjd6W S |)sttjdJd5tjd6W S |*sttjdKd5tjd6W S |+sttjdLd5tjd6W S |,sttjdMd5tjd6W S |.sttjdNd5tjd6W S |$s4ttjdOd5tjd6W S |-sRttjdPd5tjd6W S tjj|dQ}2|
|2_||2_||2_||2_||2_||2_||2_||2_||2_||2_ ||2_!||2_"||2_#||2_$||2_%||2_&||2_'||2_(||2_)||2_*||2_+||2_,| |2_-|!|2_.|"|2_/|#|2_0|%|2_1|&|2_2|'|2_3|(|2_4|)|2_5|*|2_6|+|2_7|,|2_8|.|2_9|/|2_:|0|2_;|$|2_<|-|2_=|1|2_>|	|2_?dR|2_|2@  dS|2ji}3|	dT}4tAjj|4d }5|5rdU|5_|2j|5_B|5@  tCjj|dVdWdX ttjDdY|3dZtjDd6W S  tEy }6 z&ttjFtG|6d5tjFd6W  Y d }6~6S d }6~60 0 d S )[Nr   rY   r   r   r   r   ri  r   Tr	  r   r   rd  rl  rY  rm  rn  ro  rp  ru  rq  rr  rs  rt  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rQ  r  r   main_category is requiredr:  r<  r  r  r  r  property_demension is requiredvision is requiredr)  descriptioon is requiredr;  bathrooms is requiredreadyBy is requiredpropertyReferenceId is requiredfinance_rental is required%finance_total_closing_fee is required"finance_maintaince_fee is required!finance_bill_utilites is requiredcashflow_forecast is requireddisclaimer is required property_information is requiredrequired_capital is requiredr  facilities is required'residental_property_details is requiredrR  r
   r)   r-  r.  zAA new Sale Property has been uploaded by the DO IT BY REEIPO TEAMrl  r  r/  rS  )Hr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   re  r   r   rd  rX  rY  rm  rn  ro  rp  rq  rr  rs  r  ru  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rn   r  r  r  rD   rE   rG   rB   )7rH   rI   r   r   r   r6   r  r1  r2  r3  r   rd  rl  rY  rm  rn  ro  rp  ru  rq  rr  rs  r  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rM   r-  r5  rN   rO   rO   rP   rQ     s   











































zaddSaleProperty.postNrR   rO   rO   rO   rP   rV    s   rV  c                   @   s   e Zd Zdd ZdS )editSalePropertyc           7   
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|j	d}	|	sttjddtjdW S |r|jj}
nd}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"}|	d#}|	d$}|	d%} |	d&}!|	d'}"|	d(}#|	d)}$|	d*}%|	d+}&|	d,}'|	d-}(|	d.})|	d/}*|	d0}+|	d1},|	d2}-|	d3}.|	d4}/|	d5}0|	d6}1|	d7}2|snttjd8dtjdW S |sttjd9dtjdW S |sttjd:dtjdW S |sttjd;dtjdW S |sttjd<dtjdW S |sttjd=dtjdW S |s"ttjd>dtjdW S |s@ttjd?dtjdW S |s^ttjd@dtjdW S |s|ttjdAdtjdW S |sttjdBdtjdW S |sttjdCdtjdW S | sttjdDdtjdW S |!sttjdEdtjdW S |"sttjdFdtjdW S |#s0ttjdGdtjdW S |&sNttjdHdtjdW S |'slttjdIdtjdW S |(sttjdJdtjdW S |)sttjdKdtjdW S |*sttjdLdtjdW S |+sttjdMdtjdW S |,sttjdNdtjdW S |-s ttjdOdtjdW S |/s>ttjdPdtjdW S |%s\ttjdQdtjdW S |.szttjdRdtjdW S tjj|	d }3||3_||3_||3_||3_||3_||3_||3_||3_||3_||3_||3_ ||3_!||3_"||3_#||3_$||3_%||3_&||3_'||3_(||3_)||3_*| |3_+|!|3_,|"|3_-|#|3_.|$|3_/|&|3_0|'|3_1|(|3_2|)|3_3|%|3_4|*|3_5|+|3_6|,|3_7|-|3_8|/|3_9|0|3_:|1|3_;|.|3_<dS|3_|3=  |	dT}4t>jj|4d }5|5rdU|5_|3j|5_?|5=  ttj@dVdtj@dW S  tAy }6 z&ttjBtC|6dtjBdW  Y d }6~6S d }6~60 0 d S )WNr   rY   r   r   r   r   ri  r   Tr	  sale_idzSale id is requiredr  r   r   r   rd  rl  rY  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rQ  rW  r:  r<  r  r  r  r  rX  rY  r)  rZ  r;  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  r  rf  rg  r
   r-  r.  r  )Dr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r   r   r9   r*  r0  re  r   rd  rX  rY  rm  rn  ro  rp  rq  rr  rs  r  ru  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rn   r  r  rD   rE   rG   rB   )7rH   rI   r   r   r   r6   r  r1  r2  ri  r3  r   rd  rl  rY  rm  rn  ro  rp  rq  rr  rs  r  ru  rv  r?   r/  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r-  r5  rN   rO   rO   rP   rQ   E  s
   











































zeditSaleProperty.postNrR   rO   rO   rO   rP   rh  D  s   rh  c                   @   s   e Zd Zdd ZdS )bussinessForSalec           A   7   C   s  zHt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|	d:}8|	d;}9|	d<}:|	d=};|
sttjd>d?tjd@W S |sttjdAd?tjd@W S |sttjdBd?tjd@W S |sttjdCd?tjd@W S |s,ttjdDd?tjd@W S |sJttjdEd?tjd@W S |shttjdFd?tjd@W S |sttjdGd?tjd@W S |sttjdHd?tjd@W S |sttjdId?tjd@W S |sttjdJd?tjd@W S |sttjdKd?tjd@W S |sttjdLd?tjd@W S |s:ttjdMd?tjd@W S |sXttjdNd?tjd@W S |svttjdId?tjd@W S |sttjdOd?tjd@W S |sttjdJd?tjd@W S |sttjdPd?tjd@W S |sttjdQd?tjd@W S |sttjdRd?tjd@W S |s*ttjdSd?tjd@W S |sHttjdTd?tjd@W S | sfttjdUd?tjd@W S |!sttjdVd?tjd@W S |"sttjdWd?tjd@W S |#sttjdXd?tjd@W S |$sttjdYd?tjd@W S |%sttjdZd?tjd@W S |&sttjd[d?tjd@W S |'s8ttjd\d?tjd@W S |(sVttjd]d?tjd@W S |)stttjd^d?tjd@W S |*sttjd_d?tjd@W S |+sttjd`d?tjd@W S |,sttjdad?tjd@W S |2sttjdbd?tjd@W S |3s
ttjdcd?tjd@W S |4s(ttjddd?tjd@W S |5sFttjded?tjd@W S |;sdttjdfd?tjd@W S tjj||
|||;|||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/t |	|1|2|3|4|5|6|7|8|9|:dgdh5}<di|<ji}=|	dj}>tjj|>d }?|?r dk|?_|<j|?_|?  tjj|dldmdn ttjdo|=dptjd@W S  ty }@ z&ttjt |@d?tjd@W  Y d }@~@S d }@~@0 0 d S )qNr   rY   r   r   r   r   ri  r   Tr	  r   r  rY  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   rK  r  r  r  r  r  r  turnoverrq  rr  rs  ru  r  r  shareholder_nameshareholder_shareshareholder_descriptionrn  r  r  r   image_data  is requiredr  company_name is requiredrR  ztotal_turnover is requiredrent hours is requiredestablished_year is requiredyears_of_work  is requiredoperation_concept is requiredreason_for_sale is required$operation_opening_hours  is requiredturnover_last_year is requiredsalary_percentage is required other_operating_cost is requiredcost is requiredwebsite_link is requirednumber_of_employes is requiredarea is requiredrent is requiredterm_of_lease is requireddetails is requiredservice is requiredoperations is requiredmarket_initatives is required%advantage_and_oppurtunity is requiredvaluation is requiredowner_name is requiredzphone is requiredtelephone is requiredr    company is requiredpublic_order is requiredavaiable_attachment is requiredr  r  r  r  zvideos_thumbnail is requiredr
   )5rZ  r  rY  r  rn  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   rK  r  r  r  r  r  r  r  rk  rq  rr  rs  ru  r  r  rl  rm  rn  r   r)   r-  r.  zFA new Bussiness For Sale has been uploaded by the DO IT BY REEIPO TEAMbussiness_saler  z4A new bussiness for sale has been Added successfullyrS  )!r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   r  r   r   r   r  r  rn   r  rD   rE   rG   rB   )ArH   rI   r   r   r   r6   r  r1  r2  r3  r  rY  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   rK  r  r  r  r  r  r  rk  rq  rr  rs  ru  r  r  rl  rm  rn  rn  bussine_salerM   r-  r5  rN   rO   rO   rP   rQ     sX   





















































9
zbussinessForSale.postNrR   rO   rO   rO   rP   rj    s   rj  c                   @   s   e Zd Zdd ZdS )editBussinessForSalec           :   
   C   sb  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|
sttjddtjdW S tjj|
d }|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"}|	d#}|	d$} |	d}|	d%}!|	d&}"|	d'}#|	d(}$|	d)}%|	d*}&|	d+}'|	d,}(|	d-})|	d.}*|	d/}+|	d0},|	d1}-|	d2}.|	d3}/|	d4}0|	d5}1|	d6}2|	d7}3|	d8}4|	d9}5|	d:}6|sttjd;dtjdW S |sttjd<dtjdW S |sttjd=dtjdW S |s ttjd>dtjdW S |sttjd?dtjdW S |s<ttjd@dtjdW S |sZttjdAdtjdW S |sxttjdBdtjdW S |sttjdCdtjdW S |sttjdDdtjdW S |sttjdEdtjdW S |sttjdFdtjdW S |sttjdGdtjdW S |s,ttjdHdtjdW S |sJttjdCdtjdW S |shttjdIdtjdW S |sttjdDdtjdW S |sttjdJdtjdW S |sttjdKdtjdW S | sttjdLdtjdW S |sttjdMdtjdW S |!sttjdNdtjdW S |#s:ttjdOdtjdW S |$sXttjdPdtjdW S |%svttjdQdtjdW S |&sttjdRdtjdW S |'sttjdSdtjdW S |(sttjdTdtjdW S |)sttjdUdtjdW S |*sttjdVdtjdW S |+s*ttjdWdtjdW S |,sHttjdXdtjdW S |-sfttjdYdtjdW S |.sttjdZdtjdW S |/sttjd[dtjdW S ||_||_||_||_||_||_||_||_||_||_||_ ||_!||_"||_#||_$||_%||_&||_'||_(||_)| |_*||_|!|_+|"|_,|#|_-|$|_.|%|_/|&|_0|'|_1|(|_2|)|_3|*|_4|+|_5|,|_6|-|_7|.|_8|/|_9|0|_:|1|_;|2|_<|1|_;|2|_<t=> |_?|	|_@d\|_|4|_A|5|_B|6|_C|D  |	d]}7tEjj|7d }8|8rd^|8_|j|8_F|8D  ttjGd_dtjGdW S  tHy\ }9 z&ttjItJ|9dtjIdW  Y d }9~9S d }9~90 0 d S )`Nr   rY   r   r   r   r   ri  r   Tr	  r   r  r  r  r   r  rY  r  rn  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   rK  r  r  r  r  r  r  rl  rm  rn  r  ro  r  rp  rR  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  zowner_mobile_number is requiredr    r  r  r  r
   r-  r.  z%Business for sale edited successfully)Kr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   r  r  rY  r  rn  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   rK  r  r  r  r  r  r   r   r  r  rl  rm  rn  rn   r  r  rD   rE   rG   rB   ):rH   rI   r   r   r   r6   r  r1  r2  r3  r  businessSaler  rY  r  rn  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   rK  r  r  r  r  r  r  rl  rm  rn  r-  r5  rN   rO   rO   rP   rQ     s2   

















































zeditBussinessForSale.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )addCompanySeekingEquityc           ?   5   C   s  z\t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|	d:}8|	d;}9tjj||
|||||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|	d<d=3}:|:  d>|:ji};|	d?}<tjj|<d }=|=r4d@|=_|:j|=_|=  tjj|dAdBdC ttjdD|;dEtjdFW S  ty }> z&ttjt|>dGtjdFW  Y d }>~>S d }>~>0 0 d S )HNr   rY   r   r   r   r   ri  r   Tr	  r   r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r
   )3rZ  r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r  r   r)   r-  r.  zNA new Company Seeking For Equity has been uploaded by the DO IT BY REEIPO TEAMseeking_equityr  r/  rS  r   r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  rt  r   rn   r  r   r  r  r   rD   rE   rG   rB   )?rH   rI   r   r   r   r6   r  r1  r2  r3  r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r  rM   r-  r5  rN   rO   rO   rP   rQ   C  s    


















































8
zaddCompanySeekingEquity.postNrR   rO   rO   rO   rP   r  B  s   r  c                   @   s   e Zd Zdd ZdS )updateCompanySeekingEquityc           ?   
   C   sP  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|	d}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|	d:}8|	d;}9tjj|	d }:|
|:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_||:_ ||:_!||:_"||:_#||:_$||:_%||:_&| |:_'|!|:_(|"|:_)|#|:_*|$|:_+|%|:_,|&|:_-|'|:_.|(|:_/|)|:_0|*|:_1|+|:_2|,|:_3|-|:_4|.|:_5|/|:_6|0|:_7|1|:_8|2|:_9|3|:_:|4|:_;|5|:_<|6|:_=|7|:_>|8|:_?|9|:_@d<|:_A|:B  d=|:ji};|	d>}<tCjj|<d }=|=rd?|=_A|:j|=_D|=B  tEtAjFd@|;dAtAjFdBW S  tGyJ }> z&tEtAjHtI|>dCtAjHdBW  Y d }>~>S d }>~>0 0 d S )DNr   rY   r   r   r   r   ri  r   Tr	  r  r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r
   r)   r-  r.  r  rS  r   r  )Jr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   rt  r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r   rn   r  r  r   rD   rE   rG   rB   )?rH   rI   r   r   r   r6   r  r1  r2  r  r  r  r  r:  r  r  rn  rU  r  rQ  r  rP  r  r^  ra  r  r  r  r  r  r  r  r  rb  r  r>  r?  r  r  r  r  r  r  r  r  r  r  r  rq  rr  rs  r  r  r  r  r  r  r  r  rM   r-  r5  rN   rO   rO   rP   rQ     s    



















































zupdateCompanySeekingEquity.postNrR   rO   rO   rO   rP   r    s   r  c                   @   s   e Zd Zdd ZdS )addPropertyDevelopersc           _   U   C   s&  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|	d:}8|	d;}9|	d<}:|	d=};|	d>}<|	d?}=|	d@}>|	dA}?|	dB}@|	dC}A|	dD}B|	dE}C|	dF}D|	dG}E|	dH}F|	dI}G|	dJ}H|	dK}I|	dL}J|	dM}K|	dN}L|	dO}M|	dP}N|	dQ}O|	dR}P|	dS}Q|	dT}R|	dU}S|	dV}T|	dW}U|	dX}V|	dY}W|	dX}V|	dZ}X|	d[}Ytjj||Y|
|||||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|	d\d]S}Zd^|Zji}[|	d_}\tjj|\d }]|]rd`|]_|Zj|]_|]  tjj|dadbdc ttjdd|[detjdfW S  ty  }^ z&ttjt|^dgtjdfW  Y d }^~^S d }^~^0 0 d S )hNr   rY   r   r   r   r   ri  r   Tr	  r   r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r^  r  r  r  r  foundation_namer  satutes_namer  annual_account_namer  valuation_namer  agreement_on_co_namer  conversion_of_debt_namer  balance_sheet_namer  result_report_namerq  rr  rs  ru  r  rp  r  r  r  r  ro  r
   )SrZ  ro  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  r  r   r)   r-  r.  zFA new Property Developer has been uploaded by the DO IT BY REEIPO TEAMproperty_developerr  r/  rS  r   r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  rs  r   r  r   r  rn   r  r   rD   rE   rG   rB   )_rH   rI   r   r   r   r6   r  r1  r2  r3  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  ro  r  rM   r-  r5  rN   rO   rO   rP   rQ   v  s~   



















































































W
zaddPropertyDevelopers.postNrR   rO   rO   rO   rP   r  u  s   r  c                   @   s   e Zd Zdd ZdS )updatePropertyDevelopersc           `   
   C   sr  z*t |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|	d2}0|	d3}1|	d4}2|	d5}3|	d6}4|	d7}5|	d8}6|	d9}7|	d:}8|	d;}9|	d<}:|	d=};|	d>}<|	d?}=|	d@}>|	dA}?|	dB}@|	dC}A|	dD}B|	dE}C|	dF}D|	dG}E|	dH}F|	dI}G|	dJ}H|	dK}I|	dL}J|	dM}K|	dN}L|	dO}M|	dP}N|	dQ}O|	dR}P|	dS}Q|	dT}R|	dU}S|	dV}T|	dW}U|	dX}V|	dY}W|	dZ}X|	dY}W|	d[}Y|	d\}Ztjj|
d }[|Z|[_||[_||[_||[_||[_||[_||[_||[_||[_||[_||[_||[_||[_||[_ ||[_!||[_"||[_#||[_$||[_%||[_&||[_'||[_(| |[_)|!|[_*|"|[_+|#|[_,|$|[_-|%|[_.|&|[_/|'|[_0|(|[_1|)|[_2|*|[_3|+|[_4|,|[_5|-|[_6|.|[_7|/|[_8|0|[_9|1|[_:|2|[_;|3|[_<|4|[_=|5|[_>|6|[_?|7|[_@|8|[_A|9|[_B|:|[_C|;|[_D|<|[_E|=|[_F|>|[_G|?|[_H|@|[_I|A|[_J|B|[_K|C|[_L|D|[_M|E|[_N|F|[_O|G|[_P|H|[_Q|I|[_R|J|[_S|K|[_T|L|[_U|M|[_V|N|[_W|O|[_X|P|[_Y|Q|[_Z|R|[_[|S|[_\|T|[_]|U|[_^|V|[__|W|[_`|X|[_a|Y|[_b|	|[_cd]|[_d|[e  d^|[ji}\|	d_}]tfjj|]d }^|^rd`|^_d|[j|^_g|^e  thtdjida|\dbtdjidcW S  tjyl }_ z&thtdjktl|_ddtdjkdcW  Y d }_~_S d }_~_0 0 d S )eNr   rY   r   r   r   r   ri  r   Tr	  r   r  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  ro  r
   r)   r-  r.  r  rS  r   r  )mr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  rs  ro  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  r  r   rn   r  r  r   rD   rE   rG   rB   )`rH   rI   r   r   r   r6   r  r1  r2  r3  r  r  r  rn  r  rQ  r.  r/  r0  r1  r2  r3  r  r  r5  r6  r7  r  r9  r:  r;  r<  r=  r>  r*   r  r  r  ra  rN  rQ  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  r  r  r  r  r  r  rq  rr  rs  ru  r  rp  r  r  r  r  ro  r  rM   r-  r5  rN   rO   rO   rP   rQ   U  s|   





















































































zupdatePropertyDevelopers.postNrR   rO   rO   rO   rP   r  T  s   r  c                   @   s   e Zd Zdd ZdS )houseWantedForRentc           5   +   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"} |	d#}!|	d$}"|	d%}#|	d&}$|	d'}%|	d(}&|	d)}'|	d*}(|	d+})|	d,}*|	d-}+|	d.},|	d/}-|	d0}.|	d1}/|s.td2d3itjd4W S |sHtd2d5itjd4W S |sbtd2d6itjd4W S |s|td2d7itjd4W S |std2d8itjd4W S |std2d9itjd4W S |std2d:itjd4W S |std2d;itjd4W S |std2d<itjd4W S |std2d=itjd4W S |s2td2d>itjd4W S |sLtd2d?itjd4W S |'sftd2d@itjd4W S |)std2dAitjd4W S |*std2dBitjd4W S |+std2dCitjd4W S |,std2dDitjd4W S |-std2dEitjd4W S |.std2dFitjd4W S tjj||
||||||||||||||||||||(|)|*|+|,|-|.|	||| |!|"|#|$|%|&|'|/dGdH)}0|0  dI|0ji}1|	dJ}2tjj|2d }3|3rdK|3_|0j|3_|3  tjj|dLdMdN ttjdO|1dPtjd4W S  ty }4 z&ttjt|4dQtjd4W  Y d }4~4S d }4~40 0 d S )RNr   rY   r   r   r   r   ri  r   Tr	  r   r  r  r  rT  r+   r,   r  r  r  r*   r   r  r  r  r   r  r!  r  r  r"  rq  rr  rs  ru  r  r  r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r  r"   rP  r   first_name is requiredlast_name is requiredgender is requireddob is requirednationality is requiredphone_number is requiredr    r@  rN  number_of_people is requiredmax_month_price is requiredr  education is requiredmartial_status is requiredcleanliness is requiredparty_habits is requiredwork is requiredinterest is requiredr
   ))rZ  r  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  rq  rr  rs  ru  r  r  r  r  r  r  r  r   r)   r-  r.  zRA new House wanted for rent property has been uploaded by the DO IT BY REEIPO TEAM
house_rentr  r/  rS  r  )r   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   r  r   rn   r  r  r  rD   rE   rG   rB   )5rH   rI   r   r   r   r6   r  r1  r2  r3  r  r  r  rT  r+   r,   r  r  r  r*   r   r  r  r  r   r  r!  r  r  r"  rq  rr  rs  ru  r  r  r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r  r  rM   r-  r5  rN   rO   rO   rP   rQ   B  s    








































,
zhouseWantedForRent.postNrR   rO   rO   rO   rP   r  A  s   r  c                   @   s   e Zd Zdd ZdS )edithouseWantedForRentc           5   
   C   s  zt |}|d u s(|dks(| dkr2tdtj|tjdgd}|d }|j}|	d}t
jj|d }tjj|jd	d
 }|r|jj}	nd}	|	d}
|
sttjddtjdW S tjj|
d }|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d}|	d }|	d!}|	d"}|	d#}|	d$} |	d%}!|	d&}"|	d'}#|	d(}$|	d)}%|	d*}&|	d+}'|	d,}(|	d-})|	d.}*|	d/}+|	d0},|	d1}-|	d2}.|	d3}/|	d4}0|	d5}1|sftd6d7itjdW S |std6d8itjdW S |std6d9itjdW S |std6d:itjdW S |std6d;itjdW S |std6d<itjdW S |std6d=itjdW S |std6d>itjdW S |s6td6d?itjdW S |sPtd6d@itjdW S |sjtd6dAitjdW S |std6dBitjdW S |std6dCitjdW S |std6dDitjdW S |)std6dEitjdW S |+std6dFitjdW S |,std6dGitjdW S |-s td6dHitjdW S |.s:td6dIitjdW S |/sTtd6dJitjdW S |0sntd6dKitjdW S ||_||_||_||_||_||_||_||_||_||_||_ ||_!||_"||_#||_$||_%||_&||_'||_(||_)|*|_*|+|_+|,|_,|-|_-|.|_.|/|_/|0|_0|	|_1|'|_2|(|_3|)|_4|1|_5| |_6|!|_7|"|_8|#|_9|$|_:|%|_;|&|_<dL|_|=  |	dM}2t>jj|2d }3|3rdN|3_|j|3_?|3=  ttj@dOdPtj@dW S  tAy }4 z&ttjBtC|4dPtjBdW  Y d }4~4S d }4~40 0 d S )QNr   rY   r   r   r   r   ri  r   Tr	  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"  rq  rr  rs  ru  r  r  r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r  r"   r  rP  r  r  r  r  r  r  r    r@  rN  r  r  zdesired_start_date is requiredr  r  r  r  r  r  r  r
   r-  r.  r  r  )Dr   r   r   r   r   r   r   r   r6   r8   r  r;   r<   r=   r)  r)   r*  r0  r   r   r9   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&  r'  r(  r)  r  r  r  r  r  rq  rr  rs  ru  r  r  r  rn   r  r  rD   rE   rG   rB   )5rH   rI   r   r   r   r6   r  r1  r2  r3  r  r  r  r  r  rT  r+   r,   r  r  r  r*   r   r  r  r  r   r  r!  r  r  r"  rq  rr  rs  ru  r  r  r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r  r-  r5  rN   rO   rO   rP   rQ     s    










































zedithouseWantedForRent.postNrR   rO   rO   rO   rP   r    s   r  )rest_framework.viewsr   rest_framework.responser   rest_frameworkr   admin_api.modelsrZ   r   django.confr   passlib.hashr	   r   	functionsdjango.contrib.authr   r   mathpytzr\   django.template.loaderr   django.shortcutsr   django.corer   Zrest_framework_simplejwt.tokensr   Z!rest_framework_simplejwt.backendsr   r   r   r   Zrest_framework.authenticationr   Zdrf_yasg.utilsr   Zrest_framework.parsersr   r   r   Zswagger_serializerZcustomer_api.modelsdjango.core.paginatorr   r   r   django.db.modelsr   Zagency_panel.modelsZlawyer_panel.modelsdjango.core.mailr   r  r   rV   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r7  r8  rL  rM  r`  rf  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  rH  rL  rT  rd  rv  rz  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)  r1  r8  r=  rA  rC  rH  rK  rN  rO  rT  r[  r]  ra  rc  re  rf  rg  ro  rq  rr  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  r6  r8  rU  rV  rh  rj  r  r  r  r  r  r  r  rO   rO   rO   rP   <module>   s   $">8556:=<:;;<*8.,</.L.N7(EWF1GI?,: 61N(G""% 2"1#)F%.6')+8+9?5< 8Y&G.0!B'LfQic - & ; - %  C $   ` n 