Sindbad~EG File Manager

Current Path : /home/numerotech/scans.numerotech.com/scan_v1/core/model/__pycache__/
Upload File :
Current File : //home/numerotech/scans.numerotech.com/scan_v1/core/model/__pycache__/UserModelNew.cpython-37.pyc

B

QR'bR��@s�ddlmZmZmZmZmZmZmZmZddl	m
Z
mZddlm
Z
ddlZee
jddd�ZGdd	�d	�Zddl	m
Z
mZddlm
Z
ddlZee
jd�ZGd
d�d�ZdS)�)�
create_engine�MetaData�Table�insert�select�update�delete�text)�and_�or_)�appN�DATABASE_URIi)�pool_recyclec@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdJ�Z'dTdU�Z,dVdW�Z-dXdY�Z.dZd[�Z/d\d]�Z0d^d_�Z1d`da�Z2dbdc�Z3ddde�Z4dfdg�Z5dhdi�Z6djdk�Z7dldm�Z8dndo�Z9dpdq�Z:drds�Z;dtdu�Z<dvdw�Z=dxdy�Z>dzd{�Z?d|d}�Z@d~d�ZAd�d��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�S)��UserModelNewc
Csy�t�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_	td	|jdtd�|_
td
|jdtd�|_td|jdtd�|_td|jdtd�|_
td
|jdtd�|_Wn$tk
�r}zWdd}~XYnXdS)N�usersT)�autoload�
autoload_with�states�
conference�setting�	user_logs�user_payment�
support_query�
user_types�registration_type�logs�	delegates)r�metar�enginerrrrrrrrrrr�	Exception)�self�e�r"�Y/home/urbanedgeco/delegate.urbanedge.co.in/degate_registration/core/model/UserModelNew.py�__init__
szUserModelNew.__init__cCsdS)Nzhi 123r")r �	unique_idr"r"r#�	test12345szUserModelNew.test12345cCsdS)N�hir")r r%r"r"r#�generateDelegateNoszUserModelNew.generateDelegateNocCs$td�}tj|||d�}|��}|S)NzHselect * from conference where conf_id =:conf_id and conf_key=:conf_key;)�conf_id�conf_key)r	r�execute�fetchone)r r)r*�stmt�resultr"r"r#�get_conf-szUserModelNew.get_confcCsBtd�}tj|||d�}|r*dd�|D�nd}|r:|dSdSdS)Nz;SELECT * from users where email =:email or mobile =:mobile;)�email�mobilecSsg|]}t|��qSr")�dict)�.0�rr"r"r#�
<listcomp>7sz2UserModelNew.get_emailormobile.<locals>.<listcomp>r)r	rr+)r �
emailormobile�stmt1r.�resultsr"r"r#�get_emailormobile4szUserModelNew.get_emailormobilecCsBtd�|��}t�|�}|r*dd�|D�nd}|r:|dSdSdS)Nz&SELECT * from users where email ='{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Csz*UserModelNew.get_email.<locals>.<listcomp>r)r	�formatrr+)r r0r7r.r8r"r"r#�	get_email?s
zUserModelNew.get_emailcCsPtd|dd�}t|�t�|�}|r8dd�|D�nd}|rH|dSdSdS)Nz(SELECT * from users where mobile like '%z%'�;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Osz+UserModelNew.get_mobile.<locals>.<listcomp>r)r	�printrr+)r r1r7r.r8r"r"r#�
get_mobileJs
zUserModelNew.get_mobilecCsRtdt|�d|d�}tj|||d�}|r>dd�|D�nd}|rJ|SdSdS)Naselect d.user_id,concat(d.prefix ,' ' ,d.full_name) as full_name ,d.email,d.mobile,p.amount,p.am_id,p.is_test,p.unique_id, c.conf_id,c.conf_key from delegates d inner join user_payment p on p.user_id = d.user_id  inner join conference c on d.conference_id = c.conf_id where p.user_id  = z  and p.unique_id= 'z' ;)�user_idr%cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Ysz3UserModelNew.getDataforPayments.<locals>.<listcomp>)r	�strrr+)r r?r%r7r.r8r"r"r#�getDataforPaymentsUszUserModelNew.getDataforPaymentsc
Cs^td�}t��}|j||d�}|��}	|	j}
||
|d|||d�}|�|j��|�}|��dS)Nzxselect r.amount from users d inner join registration_type r on  r.reg_type_id = d.reg_type_id where d.user_id =:user_id;)r?�Pending)r?�amountr%�status�am_id�is_test�
created_at�success)	r	r�connectr+r,rCrr�close)
r r?rEr%rF�	dt_stringr-�connr8r.rC�data�result_2r"r"r#�insertPaymentData`szUserModelNew.insertPaymentDatacCsNt��}|rFd|krF|j���|jjj�|g���|�}|�	|�}dSdSdS)N�nullrHzUnique id missing)
rrIrr�where�cr%�in_�valuesr+)r r%rMrLr-r.r"r"r#�
updatePaymentms$
zUserModelNew.updatePaymentcCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)NaKselect u.user_id,u.unique_id,d.membership_no,d.full_name,d.email,d.mobile,d.city,d.status,r.conf_id ,c.conf_key from user_payment as u inner join users as d on d.user_id=u.user_id inner join registration_type as r on d.reg_type_id = r.reg_type_id inner join conference as c on c.conf_id = r.conf_id where u.unique_id = :unique_id ;)r%cSsg|]}t|��qSr")r2)r3r4r"r"r#r5{sz,UserModelNew.get_user_id.<locals>.<listcomp>r)r	rr+)r r%r-r.r8r"r"r#�get_user_idxszUserModelNew.get_user_idcCst�|j��|�}|S)N)rr+rr)r rMr.r"r"r#r�szUserModelNew.insertcCst�|j��|�}|jS)N)rr+rr�	lastrowid)r rMr.r"r"r#�insert_users�szUserModelNew.insert_userscCs(t��}|�|j��|�}|��|jS)N)rrIr+rrrJrW)r �userrLr.r"r"r#�insert_users_logs�szUserModelNew.insert_users_logscCst�|j��|�}|jS)N)rr+rrrW)r rMr.r"r"r#�insert_support_queries�sz#UserModelNew.insert_support_queriescCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)Nz8select * from support_query where query_id = :query_id ;)�query_idcSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz4UserModelNew.get_support_queries.<locals>.<listcomp>r)r	rr+)r r\r-r.r8r"r"r#�get_support_queries�sz UserModelNew.get_support_queriescCs>|j���|jjj�|g���|�}t�|�}|r6dSdSdS)NrH�fail)	rrrQrR�delegate_idrSrTrr+)r r_rMr-r.r"r"r#�update_delegate�s
$
zUserModelNew.update_delegatecCs.td�||||��}t�|�}|r&dSdSdS)NzSUPDATE users SET reg_type_id={} ,status='{}' ,updated_at = '{}' WHERE user_id = {};rHr^)r	r:rr+)r �reg_type_idr?rD�
updated_atr-r.r"r"r#�update_reg_type�s

zUserModelNew.update_reg_typecCs$g}t��}t��}|��}|�d|g�dd�|jD�}g}x$|��D]}	|�tt	||	���qHW|�
�|��|�|dd�tdt
|�d|d�}
|�|
�}|r�d	d�|D�nd}td
�t|�tt|���x0t|�D�]"\}
}|d}t|�tdt
|�d
�}|�|�}|��}|j}|�|�|��}|�d|g�dd�|jD�}g}x&|��D]}	|�tt	||	����qnW|�
�|��td�tt�ttt��xL|D]D}td�t|�td�}d�|�}t|�}
|�|�}|�|
�}�q�W|�
�}q�W|�r|SdSdS)N�usp_gen_del_nocSsg|]}|d�qS)rr")r3�columnr"r"r#r5�sz+UserModelNew.gen_del_no.<locals>.<listcomp>r�delegate_noz8select delegate_ids from user_payment where user_id in (z)  and unique_id = 'z'  ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz***** Delegate ids ***** �delegate_idsz4select user_id from delegates where delegate_id in (z) ;cSsg|]}|d�qS)rr")r3rer"r"r#r5�szuserids   ------   ****** -----z'userids for update status in user tablezset sql_safe_updates = 0 ;z= UPDATE users  SET  status ='completed' WHERE user_id =  {} ;)r�raw_connectionrI�cursor�callproc�description�fetchall�appendr2�ziprJ�commitr	r@r+r=�type�	enumerater,r?Zuseridsr:)r r?r%�user_ids�
connectionrLri�columns�	results_1�rowr-r.rg�index�valuer_�userid_stmtr8�
child_user_id�	user_id_1�safe_update_stmt�sql�update_resut�result_3r"r"r#�
gen_del_no�sb





zUserModelNew.gen_del_nocCs>d�||�}t|�}t��}|�|�}|��|r6dSdSdS)Nz6 UPDATE users  SET  status ='{}' WHERE user_id =  {} ;rH�No)r:r	rrIr+rJ)r rDr?r}r-rLr.r"r"r#�
update_del_no�s
zUserModelNew.update_del_nocCsJtd�||��}t�|�}|r,dd�|D�nd}|rB|d�d�SdSdS)Nz@select * from setting where conf_id = {} and setting_key ='{}' ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5
sz,UserModelNew.get_setting.<locals>.<listcomp>r�
setting_value)r	r:rr+�get)r r)�setting_keyr-r.r8r"r"r#�get_settings
zUserModelNew.get_settingcCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nzselect * from states;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz+UserModelNew.get_states.<locals>.<listcomp>)r	rrIr+rJ)r �stmt_2rLr.r8r"r"r#�
get_statess
zUserModelNew.get_statescCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)N�
usp_get_statecSsg|]}|d�qS)rr")r3rer"r"r#r5%sz*UserModelNew.get_state.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r?rsrirtr8rvr"r"r#�	get_state szUserModelNew.get_statecCsXtd�|��}t��}|�|�}|r2dd�|D�nd}|��|rP|d�d�SdSdS)Nz(select * from users where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r58sz3UserModelNew.get_payment_status.<locals>.<listcomp>rrD)r	r:rrIr+rJr�)r r?r�rLr.r8r"r"r#�get_payment_status2s
zUserModelNew.get_payment_statuscCsXtd�|��}t��}|�|�}|r2dd�|D�nd}|��|rP|d�d�SdSdS)Nz)select * from users  where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Esz-UserModelNew.check_parent.<locals>.<listcomp>r�parent_user_id)r	r:rrIr+rJr�)r r?r�rLr.r8r"r"r#�check_parent?s
zUserModelNew.check_parentcCs*td�||��}t�|�}|r"dSdSdS)Nz6UPDATE users SET parent_user_id={} WHERE user_id = {};rHr^)r	r:rr+)r r�r?r-r.r"r"r#�update_parent_user_idMs

z"UserModelNew.update_parent_user_idcCsVtd�|��}t��}|�|�}|��}|r:dd�|D�nd}|��|rN|SdSdS)Na'select DISTINCT d.user_id,d.full_name,d.email,d.mobile,r.type_name,r.amount,p.payment_status,d.del_no,d.parent_user_id from users as d left join registration_type as r on d.reg_type_id=r.reg_type_id left join payments as p on d.user_id=p.user_id where d.parent_user_id = {} order by del_no desc;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5^sz*UserModelNew.get_child.<locals>.<listcomp>)r	r:rrIr+rlrJ)r r?r�rLr.r8r"r"r#�	get_childWs
zUserModelNew.get_childcCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nz.SELECT * FROM addon_types where is_visible =1;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5osz3UserModelNew.get_addon_reg_type.<locals>.<listcomp>)r	rrIr+rJ)r r�rLr.r8r"r"r#�get_addon_reg_typeis
zUserModelNew.get_addon_reg_typecCsBtd�}t��}|j|||d�}|r2dd�|D�nd}|��|S)NaEselect a.*,ut.*,da.delegate_id,da.amount as del_amount,da.delegate_addon_id from addons a  left join user_types ut on ut.user_type_id = a.user_type_id left join delegates_addons da on da.addon_id = a.addon_id and da.delegate_id = :delegate_id where a.is_visible=1 AND :now between a.start_by and a.end_by order by a.addon_id;)�nowr_cSsg|]}t|��qSr")r2)r3r4r"r"r#r5}sz+UserModelNew.get_addons.<locals>.<listcomp>)r	rrIr+rJ)r r_r�r�rLr.r8r"r"r#�
get_addonssszUserModelNew.get_addonscCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nz select * from registration_type;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz-UserModelNew.get_reg_type.<locals>.<listcomp>)r	rrIr+rJ)r r�rLr.r8r"r"r#�get_reg_type�s
zUserModelNew.get_reg_typecCsXtd|ddd|dd�}t��}|�|�}|rHdd�|D�nd}|��|S)Nz%select * from users where user_id =  �z or user_id = r<cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz*UserModelNew.get_users.<locals>.<listcomp>)r	rrIr+rJ)r r0r1r-rLr.r8r"r"r#�	get_users�s$
zUserModelNew.get_userscCsBtd�|��}t�|�}|r*dd�|D�nd}|r:|dSdSdS)Nz.select * from user_logs where logs_id = '{}' ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz.UserModelNew.get_user_logs.<locals>.<listcomp>r)r	r:rr+)r �logs_idr-r.r8r"r"r#�
get_user_logs�s
zUserModelNew.get_user_logscCs$td�|��}tj||||d�}|S)NzjUPDATE user_logs SET   status = :status, updated_at = '{}' WHERE user_id = :user_id and logs_id= :logs_id;)r�rDr?)r	r:rr+)r r�rDr?rbr-r.r"r"r#�update_user_logs�szUserModelNew.update_user_logscCsRt��}t|jg��|jjj�|g��}|�|�}|�	�}|�
�|rJ|SdSdS)Nr)rrIrrrQrRr?rSr+r,rJ)r r?rLr-r.r"r"r#�get_user�s 
zUserModelNew.get_usercCs�t��}td|ddd|ddd|ddd|dd�}|�|�}|��|rpdd	�|D�nd}|r||SdSdS)
Nz)select * from users where (email like  '%z%'z or full_name like z'%z or mobile like z or city like z);cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz0UserModelNew.get_search_user.<locals>.<listcomp>)rrIr	r+rJ)r �search_inputrLr-r8rMr"r"r#�get_search_user�sD
zUserModelNew.get_search_usercCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz,SELECT user_id  FROM users where   email = 'z' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz0UserModelNew.get_users_email.<locals>.<listcomp>r)r	rr+)r r0r-r.r8r"r"r#�get_users_email�s
zUserModelNew.get_users_emailcCsPtd|dd�}t|�t�|�}|r8dd�|D�nd}|rH|dSdSdS)Nz)SELECT *  FROM users where mobile like '%z%' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz1UserModelNew.get_users_mobile.<locals>.<listcomp>r)r	r=rr+)r r1r-r.r8r"r"r#�get_users_mobile�s
zUserModelNew.get_users_mobilecCsXtd|ddd|dd�}t�|�}|r@dd�|D�nd}|rP|dSdSdS)	Nz4SELECT full_name,user_id  FROM users where email = 'z' z and full_name = �'z  ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz/UserModelNew.get_name_email.<locals>.<listcomp>r)r	rr+)r r0�	full_namer-r.r8r"r"r#�get_name_email�s$
zUserModelNew.get_name_emailcCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz'SELECT * FROM users where   user_id = 'z' r<cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz0UserModelNew.get_users_value.<locals>.<listcomp>r)r	rr+)r r?r-r.r8r"r"r#�get_users_value�s
zUserModelNew.get_users_valuecCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)Nz2SELECT * FROM delegates where user_id = :user_id ;)r?cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz:UserModelNew.get_check_exsits_delegate.<locals>.<listcomp>r)r	rr+)r r?r-r.r8r"r"r#�get_check_exsits_delegatesz&UserModelNew.get_check_exsits_delegatecCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)NzLSELECT * FROM delegates where delegate_id = :delegate_id and delegate_no >0;)r_cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz<UserModelNew.get_check_delegate_complete.<locals>.<listcomp>r)r	rr+)r r_r-r.r8r"r"r#�get_check_delegate_complete
sz(UserModelNew.get_check_delegate_completecCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz0SELECT user_id FROM users where   mobile like '%z%' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz1UserModelNew.get_users_mobile.<locals>.<listcomp>r)r	rr+)r r1r-r.r8r"r"r#r�s
cCsXtd|ddd|dd�}t�|�}|r@dd�|D�nd}|rP|dSdSdS)	Nz,SELECT full_name FROM users where mobile = 'z' z and full_name = r�z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5&sz0UserModelNew.get_name_mobile.<locals>.<listcomp>r)r	rr+)r r1r�r-r.r8r"r"r#�get_name_mobile"s$
zUserModelNew.get_name_mobilecCs2td|ddd|dd�}t�|�}|S)Nz&SELECT * FROM users where   mobile = 'z' z  and email = r�z ;)r	rr+)r r0r1r-r.r"r"r#�get_both_value-s$
zUserModelNew.get_both_valuecCsp|j���|jjj�|g���|�}t�|�}t	d�
|��}t�|�}|rXdd�|D�nd}|rh|dSdSdS)Nz(select * from users where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r59sz4UserModelNew.update_regtype_user.<locals>.<listcomp>r)rrrQrRr?rSrTrr+r	r:)r r?rMr-r.�stmt_1r8r"r"r#�update_regtype_user4s$

z UserModelNew.update_regtype_usercCs~|j���|jjj�|g���|�}t�|�}t	|jg��|jjj�|g��}t�|�}|rjdd�|D�nd}|rv|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r5Hsz,UserModelNew.update_user.<locals>.<listcomp>r^)
rrrQrRr?rSrTrr+r)r r?rMr-r.r7r8r"r"r#�update_userAs$
 
zUserModelNew.update_userc	Cs~d}|r |dd|dd}|r<|dd|dd}|d�||�}t|�}t��}|�|�}|��|rvdSdSdS)Nz UPDATE users SET  z
 email =  r�z ,z mobile =  z'updated_at = '{}' WHERE user_id =  {} ;rH)r:r	rrIr+rJ)	r r0r1rbr?r}r-rLr.r"r"r#�update_usersPs
zUserModelNew.update_usersc	Cs�d}|r$|ddt|�dd}|r@|dd|dd}|r\|dd|dd}|d�|�}t|�}t��}|�|�}|��|r�d	SdSdS)
Nz UPDATE users SET  z otp =  r�z ,z otp_sent_at =  z otp_expire_at =  � z WHERE user_id =  {} ;rH)r@r:r	rrIr+rJ)	r �otp�otp_sent_at�
otp_expire_atr?r}r-rLr.r"r"r#�
update_otpbs
zUserModelNew.update_otpcCsld}|r|d}|r,|dd|dd}|d�|�}t|�}t��}|�|�}|��|rd|SdSdS)Nz UPDATE users SET  z" otp = NULL ,otp_expire_at= NULL, z otp_verified_at =  r�r�z WHERE user_id =  {} ;�failed)r:r	rrIr+rJ)r r��otp_verified_atr?r}r-rLr.r"r"r#�verified_otpzs
zUserModelNew.verified_otpcCsFtd�|||��}t�|�}|r.dd�|D�nd}|r>|dSdSdS)Nz�select user_id,full_name, (select user_id from users where full_name = '{}')as email_user_id,(select full_name from users where full_name = '{}')as email_full_name from users where email = '{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz0UserModelNew.get_email_users.<locals>.<listcomp>r)r	r:rr+)r r0r�r-r.r8r"r"r#�get_email_users�s
zUserModelNew.get_email_userscCsHtd�||||��}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz�select user_id,full_name ,(select user_id from users where full_name = '{}')as email_user_id,(select full_name from users where full_name = '{}')as mobile_full_name from users where mobile = '{}' and full_name = '{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz1UserModelNew.get_mobile_users.<locals>.<listcomp>r)r	r:rr+)r r1r�r-r.r8r"r"r#�get_mobile_users�s
zUserModelNew.get_mobile_userscCs�g}z�t��}|��}|�d|||g�xpdd�|jD�}g}x.|��}	|	dkrRPtt||	��}
|�|
�q@W|�t	|��|�
�dkr�P|jdkr*Pq*WWd|��X|S)N�usp_login_verificationcSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz6UserModelNew.get_verification_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrm�list�nextsetrJ)r r0r1r��setsrsri�names�set_�row_rawrvr"r"r#�get_verification_data�s*


z"UserModelNew.get_verification_datac	Cs�g}z�t��}|��}|�d|g�xpdd�|jD�}g}x.|��}|dkrNPtt||��}|�|�q<W|�t	|��|�
�dkr�P|jdkr&Pq&WWd|��X|S)N�usp_get_user_dasboard_datacSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz/UserModelNew.get_users_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)	r r?r�rsrir�r�r�rvr"r"r#�get_users_data�s*


zUserModelNew.get_users_datac	Cs�g}z�t��}|��}|�d|g�xpdd�|jD�}g}x.|��}|dkrNPtt||��}|�|�q<W|�t	|��|�
�dkr�P|jdkr&Pq&WWd|��X|S)N�usp_user_previewcSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz1UserModelNew.get_preview_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)	r r?r�rsrir�r�r�rvr"r"r#�get_preview_data�s*


zUserModelNew.get_preview_datac
Cs�g}z�t��}|��}|�d||g�xpdd�|jD�}g}x.|��}|dkrPPtt||��}	|�|	�q>W|�t	|��|�
�dkr�P|jdkr(Pq(WWd|��X|S)N�usp_user_payment_msgcSsg|]}|d�qS)rr")r3rRr"r"r#r5sz5UserModelNew.get_payment_msg_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)
r r?r%r�rsrir�r�r�rvr"r"r#�get_payment_msg_data
s*


z!UserModelNew.get_payment_msg_datacCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)N� usp_get_delegates_by_delegate_idcSsg|]}|d�qS)rr")r3rer"r"r#r51szAUserModelNew.usp_get_delegates_by_delegate_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r_rsrirtr8rvr"r"r#r�-sz-UserModelNew.usp_get_delegates_by_delegate_idcCsPtd�}t��}|j||d�}|r0dd�|D�nd}|��|rH|dSdSdS)Nz�select user_id, membership_no,full_name,email,mobile,city,status from users where membership_no is not null and membership_no = :member_no  ;)�	member_nocSsg|]}t|��qSr")r2)r3r4r"r"r#r5?sz5UserModelNew.get_member_by_mem_no.<locals>.<listcomp>r)r	rrIr+rJ)r r�r-rLr.r8r"r"r#�get_member_by_mem_no;sz!UserModelNew.get_member_by_mem_nocCs`t��}t|jg��|jjj�|g��}|�|�}|�	�|rLdd�|D�nd}|rX|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r5Lsz4UserModelNew.getDelegateByUserID.<locals>.<listcomp>)
rrIrrrQrRr?rSr+rJ)r r?rLr7r8rMr"r"r#�getDelegateByUserIDGs 
z UserModelNew.getDelegateByUserIDcCs`t��}t|jg��|jjj�|g��}|�|�}|�	�|rLdd�|D�nd}|rX|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r5Wsz:UserModelNew.getDelegateByParentUserID.<locals>.<listcomp>)
rrIrrrQrRr�rSr+rJ)r r�rLr7r8rMr"r"r#�getDelegateByParentUserIDRs 
z&UserModelNew.getDelegateByParentUserIDcCs(t��}|�|j��|�}|��|jS)N)rrIr+rrrJrW)r rMrLr.r"r"r#�insert_delegate^szUserModelNew.insert_delegatecCs@td|dd�}t|�t�|�}|r8dd�|D�nd}|S)Nz&SELECT * FROM users where  user_id = 'r�z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5jsz3UserModelNew.get_selected_users.<locals>.<listcomp>)r	r=rr+)r r�r7r.r8r"r"r#�get_selected_userses

zUserModelNew.get_selected_userscCs"td�}tj||d�}|��}|S)Nz8select * from delegates where delegate_id =:delegate_id;)r_)r	rr+r,)r r_r-r.r"r"r#�get_delegatemszUserModelNew.get_delegatecCs"td�}tj||d�}|��}|S)Nz�select * from addons a left join delegates_addons da on da.addon_id = a.addon_id and da.delegate_id = 100 where a.is_visible = 1)r_)r	rr+r,)r r_r-r.r"r"r#�get_delegateForDefaultDisplaytsz*UserModelNew.get_delegateForDefaultDisplaycCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)N�usp_delete_delegatescSsg|]}|d�qS)rr")r3rer"r"r#r5sz0UserModelNew.delete_delegate.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r_rsrirtr8rvr"r"r#�delete_delegate{szUserModelNew.delete_delegatec
	Cs�t��}d}d}x.|D]&}|d�||d|d|d|�}qWx|D]}	|d�|	�}qFW|rrt|�}
|�|
�}|r�t|�}|�|�}|��dS)Nr�zkinsert into delegates_addons (delegate_id,addon_id,amount,reg_status,created_at) values ({},{},{},{},'{}');�addon_idrC�
reg_statusz:delete from delegates_addons where delegate_addon_id = {};T)rrIr:r	r+rJ)
r r_�inser_dal_addon�delete_del_addonr�rL�
sql_insert�
sql_delete�d�da_id�insert_stmtr.�delete_stmtr"r"r#�save_delegates_addons�s
&


z"UserModelNew.save_delegates_addonscCs2td�}tj||d�}|��}|r*|dSdSdS)Nz>select count(*) as count from delegates where user_id=:user_id)r?�countr)r	rr+r,)r r?r-r.r"r"r#�check_user_delegate�sz UserModelNew.check_user_delegatecCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)N�/usp_get_incompleted_delegates_by_parent_user_idcSsg|]}|d�qS)rr")r3rer"r"r#r5�szLUserModelNew.get_incompleted_delegates_by_parent_user_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r�rsrirtr8rvr"r"r#�+get_incompleted_delegates_by_parent_user_id�sz8UserModelNew.get_incompleted_delegates_by_parent_user_idcCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)N�-usp_get_completed_delegates_by_parent_user_idcSsg|]}|d�qS)rr")r3rer"r"r#r5�szJUserModelNew.get_completed_delegates_by_parent_user_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r�rsrirtr8rvr"r"r#�)get_completed_delegates_by_parent_user_id�sz6UserModelNew.get_completed_delegates_by_parent_user_idcCs�t��}|��}|�d|||||g�dd�|jD�}g}	x$|��D]}
|	�tt||
���qDW|�	�|�
�|	rx|	SdSdS)N�usp_generate_payementcSsg|]}|d�qS)rr")r3rer"r"r#r5�sz6UserModelNew.usp_generate_payement.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r%rgr?rErFrsrirtr8rvr"r"r#r��sz"UserModelNew.usp_generate_payementcCsHtd|d�}tj||d�}|r0dd�|D�nd}|r@|dSdSdS)Na0select d.delegate_id, d.user_id,concat(d.prefix ,' ' ,d.full_name) as full_name ,d.email,d.mobile,p.amount,p.am_id,p.is_test,p.unique_id, c.conf_id,c.conf_key from delegates d inner join user_payment p on p.user_id = d.user_id  inner join conference c on d.conference_id = c.conf_id where  p.unique_id= 'z' ;)r%cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz5UserModelNew.getDataAfterPayments.<locals>.<listcomp>r)r	rr+)r r%r7r.r8r"r"r#�getDataAfterPayments�sz!UserModelNew.getDataAfterPaymentsN)H�__name__�
__module__�__qualname__r$r&r(r/r9r;r>rArOrUrVrrXrZr[r]r`rcr�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�r�r�r�r�r�r�r"r"r"r#r	s�

	

?











"!!#
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdF�Z%dPdQ�Z*dRdS�Z+dTdU�Z,dVdW�Z-dXdY�Z.dZd[�Z/d\d]�Z0d^d_�Z1d`da�Z2dbdc�Z3ddde�Z4dfdg�Z5dhdi�Z6djdk�Z7dldm�Z8dndo�Z9dpdq�Z:drds�Z;dtdu�Z<dvdw�Z=dxdy�Z>dzd{�Z?d|d}�Z@d~d�ZAd�d��ZBd�d��ZCd�d��ZDd�d��ZEd�S)��	UserModelc
Csy�t�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_	td	|jdtd�|_
td
|jdtd�|_td|jdtd�|_td|jdtd�|_
td
|jdtd�|_Wn$tk
�r}zWdd}~XYnXdS)NrT)rrrrrrrrrrrr)rrrrrrrrrrrrrrrr)r r!r"r"r#r$�szUserModel.__init__cCs$td�}tj|||d�}|��}|S)NzHselect * from conference where conf_id =:conf_id and conf_key=:conf_key;)r)r*)r	rr+r,)r r)r*r-r.r"r"r#r/szUserModel.get_confcCsBtd�}tj|||d�}|r*dd�|D�nd}|r:|dSdSdS)Nz;SELECT * from users where email =:email or mobile =:mobile;)r0r1cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz/UserModel.get_emailormobile.<locals>.<listcomp>r)r	rr+)r r6r7r.r8r"r"r#r9szUserModel.get_emailormobilecCsBtd�|��}t�|�}|r*dd�|D�nd}|r:|dSdSdS)Nz&SELECT * from users where email ='{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5"sz'UserModel.get_email.<locals>.<listcomp>r)r	r:rr+)r r0r7r.r8r"r"r#r;s
zUserModel.get_emailcCsPtd|dd�}t|�t�|�}|r8dd�|D�nd}|rH|dSdSdS)Nz(SELECT * from users where mobile like '%z%'r<cSsg|]}t|��qSr")r2)r3r4r"r"r#r5.sz(UserModel.get_mobile.<locals>.<listcomp>r)r	r=rr+)r r1r7r.r8r"r"r#r>)s
zUserModel.get_mobilecCsRtdt|�d|d�}tj|||d�}|r>dd�|D�nd}|rJ|SdSdS)Naselect d.user_id,concat(d.prefix ,' ' ,d.full_name) as full_name ,d.email,d.mobile,p.amount,p.am_id,p.is_test,p.unique_id, c.conf_id,c.conf_key from delegates d inner join user_payment p on p.user_id = d.user_id  inner join conference c on d.conference_id = c.conf_id where p.user_id  = z  and p.unique_id= 'z' ;)r?r%cSsg|]}t|��qSr")r2)r3r4r"r"r#r58sz0UserModel.getDataforPayments.<locals>.<listcomp>)r	r@rr+)r r?r%r7r.r8r"r"r#rA4szUserModel.getDataforPaymentsc
Cs^td�}t��}|j||d�}|��}	|	j}
||
|d|||d�}|�|j��|�}|��dS)Nzxselect r.amount from users d inner join registration_type r on  r.reg_type_id = d.reg_type_id where d.user_id =:user_id;)r?rB)r?rCr%rDrErFrGrH)	r	rrIr+r,rCrrrJ)
r r?rEr%rFrKr-rLr8r.rCrMrNr"r"r#rO?szUserModel.insertPaymentDatacCsNt��}|rFd|krF|j���|jjj�|g���|�}|�	|�}dSdSdS)NrP�updatedzUnique id missing)
rrIrrrQrRr%rSrTr+)r r%rMrLr-r.r"r"r#rULs$
zUserModel.updatePaymentcCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)NaKselect u.user_id,u.unique_id,d.membership_no,d.full_name,d.email,d.mobile,d.city,d.status,r.conf_id ,c.conf_key from user_payment as u inner join users as d on d.user_id=u.user_id inner join registration_type as r on d.reg_type_id = r.reg_type_id inner join conference as c on c.conf_id = r.conf_id where u.unique_id = :unique_id ;)r%cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Zsz)UserModel.get_user_id.<locals>.<listcomp>r)r	rr+)r r%r-r.r8r"r"r#rVWszUserModel.get_user_idcCst�|j��|�}|S)N)rr+rr)r rMr.r"r"r#raszUserModel.insertcCst�|j��|�}|jS)N)rr+rrrW)r rMr.r"r"r#rXgszUserModel.insert_userscCs(t��}|�|j��|�}|��|jS)N)rrIr+rrrJrW)r rYrLr.r"r"r#rZlszUserModel.insert_users_logscCst�|j��|�}|jS)N)rr+rrrW)r rMr.r"r"r#r[usz UserModel.insert_support_queriescCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)Nz8select * from support_query where query_id = :query_id ;)r\cSsg|]}t|��qSr")r2)r3r4r"r"r#r5~sz1UserModel.get_support_queries.<locals>.<listcomp>r)r	rr+)r r\r-r.r8r"r"r#r]{szUserModel.get_support_queriescCs>|j���|jjj�|g���|�}t�|�}|r6dSdSdS)NrHr^)	rrrQrRr_rSrTrr+)r r_rMr-r.r"r"r#r`�s
$
zUserModel.update_delegatecCs.td�||||��}t�|�}|r&dSdSdS)NzSUPDATE users SET reg_type_id={} ,status='{}' ,updated_at = '{}' WHERE user_id = {};rHr^)r	r:rr+)r rar?rDrbr-r.r"r"r#rc�s

zUserModel.update_reg_typecCs�g}t��}t��}|��}|�d|g�dd�|jD�}g}x$|��D]}	|�tt	||	���qHW|�
�|��|�|dd�tdt
|�d|d�}
|�|
�}|r�d	d�|D�nd}�x
t|�D]�\}
}|d
}tdt
|�d�}|�|�}|��}|j}|�|�|��}|�d|g�d
d�|jD�}g}x&|��D]}	|�tt	||	����qHW|�
�|��xL|D]D}td�t|�td�}d�|�}t|�}
|�|�}|�|
�}�q|W|�
�}q�W|�r�|SdSdS)NrdcSsg|]}|d�qS)rr")r3rer"r"r#r5�sz(UserModel.gen_del_no.<locals>.<listcomp>rrfz5select delegate_ids from user_payment where user_id =z  and unique_id = 'z'  ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�srgz2select user_id from delegates where delegate_id = z ;cSsg|]}|d�qS)rr")r3rer"r"r#r5�sz'userids for update status in user tablezset sql_safe_updates = 0 ;z= UPDATE users  SET  status ='completed' WHERE user_id =  {} ;)rrhrIrirjrkrlrmr2rnrJror	r@r+rqr,r?r=r:)r r?r%rrrsrLrirtrurvr-r.rgrwrxr_ryr8rzr{r|r}r~rr"r"r#r��sT





zUserModel.gen_del_nocCs>d�||�}t|�}t��}|�|�}|��|r6dSdSdS)Nz6 UPDATE users  SET  status ='{}' WHERE user_id =  {} ;rHr�)r:r	rrIr+rJ)r rDr?r}r-rLr.r"r"r#r��s
zUserModel.update_del_nocCsJtd�||��}t�|�}|r,dd�|D�nd}|rB|d�d�SdSdS)Nz@select * from setting where conf_id = {} and setting_key ='{}' ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz)UserModel.get_setting.<locals>.<listcomp>rr�)r	r:rr+r�)r r)r�r-r.r8r"r"r#r��s
zUserModel.get_settingcCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nzselect * from states;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz(UserModel.get_states.<locals>.<listcomp>)r	rrIr+rJ)r r�rLr.r8r"r"r#r��s
zUserModel.get_statescCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5sz'UserModel.get_state.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r?rsrirtr8rvr"r"r#r�szUserModel.get_statecCsXtd�|��}t��}|�|�}|r2dd�|D�nd}|��|rP|d�d�SdSdS)Nz(select * from users where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz0UserModel.get_payment_status.<locals>.<listcomp>rrD)r	r:rrIr+rJr�)r r?r�rLr.r8r"r"r#r�s
zUserModel.get_payment_statuscCsXtd�|��}t��}|�|�}|r2dd�|D�nd}|��|rP|d�d�SdSdS)Nz)select * from users  where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5'sz*UserModel.check_parent.<locals>.<listcomp>rr�)r	r:rrIr+rJr�)r r?r�rLr.r8r"r"r#r�!s
zUserModel.check_parentcCs*td�||��}t�|�}|r"dSdSdS)Nz6UPDATE users SET parent_user_id={} WHERE user_id = {};rHr^)r	r:rr+)r r�r?r-r.r"r"r#r�/s

zUserModel.update_parent_user_idcCsVtd�|��}t��}|�|�}|��}|r:dd�|D�nd}|��|rN|SdSdS)Na'select DISTINCT d.user_id,d.full_name,d.email,d.mobile,r.type_name,r.amount,p.payment_status,d.del_no,d.parent_user_id from users as d left join registration_type as r on d.reg_type_id=r.reg_type_id left join payments as p on d.user_id=p.user_id where d.parent_user_id = {} order by del_no desc;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5@sz'UserModel.get_child.<locals>.<listcomp>)r	r:rrIr+rlrJ)r r?r�rLr.r8r"r"r#r�9s
zUserModel.get_childcCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nz.SELECT * FROM addon_types where is_visible =1;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Qsz0UserModel.get_addon_reg_type.<locals>.<listcomp>)r	rrIr+rJ)r r�rLr.r8r"r"r#r�Ks
zUserModel.get_addon_reg_typecCsBtd�}t��}|j|||d�}|r2dd�|D�nd}|��|S)NaEselect a.*,ut.*,da.delegate_id,da.amount as del_amount,da.delegate_addon_id from addons a  left join user_types ut on ut.user_type_id = a.user_type_id left join delegates_addons da on da.addon_id = a.addon_id and da.delegate_id = :delegate_id where a.is_visible=1 AND :now between a.start_by and a.end_by order by a.addon_id;)r�r_cSsg|]}t|��qSr")r2)r3r4r"r"r#r5_sz(UserModel.get_addons.<locals>.<listcomp>)r	rrIr+rJ)r r_r�r�rLr.r8r"r"r#r�UszUserModel.get_addonscCs<td�}t��}|�|�}|r,dd�|D�nd}|��|S)Nz select * from registration_type;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5ssz*UserModel.get_reg_type.<locals>.<listcomp>)r	rrIr+rJ)r r�rLr.r8r"r"r#r�ms
zUserModel.get_reg_typecCsXtd|ddd|dd�}t��}|�|�}|rHdd�|D�nd}|��|S)Nz%select * from users where user_id =  r�z or user_id = r<cSsg|]}t|��qSr")r2)r3r4r"r"r#r5|sz'UserModel.get_users.<locals>.<listcomp>)r	rrIr+rJ)r r0r1r-rLr.r8r"r"r#r�ws$
zUserModel.get_userscCsBtd�|��}t�|�}|r*dd�|D�nd}|r:|dSdSdS)Nz.select * from user_logs where logs_id = '{}' ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz+UserModel.get_user_logs.<locals>.<listcomp>r)r	r:rr+)r r�r-r.r8r"r"r#r��s
zUserModel.get_user_logscCs$td�|��}tj||||d�}|S)NzjUPDATE user_logs SET   status = :status, updated_at = '{}' WHERE user_id = :user_id and logs_id= :logs_id;)r�rDr?)r	r:rr+)r r�rDr?rbr-r.r"r"r#r��szUserModel.update_user_logscCsRt��}t|jg��|jjj�|g��}|�|�}|�	�}|�
�|rJ|SdSdS)Nr)rrIrrrQrRr?rSr+r,rJ)r r?rLr-r.r"r"r#r��s 
zUserModel.get_usercCs�t��}td|ddd|ddd|ddd|dd�}|�|�}|��|rpdd	�|D�nd}|r||SdSdS)
Nz)select * from users where (email like  '%z%'z or full_name like z'%z or mobile like z or city like z);cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz-UserModel.get_search_user.<locals>.<listcomp>)rrIr	r+rJ)r r�rLr-r8rMr"r"r#r��sD
zUserModel.get_search_usercCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz,SELECT user_id  FROM users where   email = 'z' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz-UserModel.get_users_email.<locals>.<listcomp>r)r	rr+)r r0r-r.r8r"r"r#r��s
zUserModel.get_users_emailcCsPtd|dd�}t|�t�|�}|r8dd�|D�nd}|rH|dSdSdS)Nz)SELECT *  FROM users where mobile like '%z%' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz.UserModel.get_users_mobile.<locals>.<listcomp>r)r	r=rr+)r r1r-r.r8r"r"r#r��s
zUserModel.get_users_mobilecCsXtd|ddd|dd�}t�|�}|r@dd�|D�nd}|rP|dSdSdS)	Nz4SELECT full_name,user_id  FROM users where email = 'z' z and full_name = r�z  ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz,UserModel.get_name_email.<locals>.<listcomp>r)r	rr+)r r0r�r-r.r8r"r"r#r��s$
zUserModel.get_name_emailcCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz'SELECT * FROM users where   user_id = 'z' r<cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz-UserModel.get_users_value.<locals>.<listcomp>r)r	rr+)r r?r-r.r8r"r"r#r��s
zUserModel.get_users_valuecCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)Nz2SELECT * FROM delegates where user_id = :user_id ;)r?cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz7UserModel.get_check_exsits_delegate.<locals>.<listcomp>r)r	rr+)r r?r-r.r8r"r"r#r��sz#UserModel.get_check_exsits_delegatecCs@td�}tj||d�}|r(dd�|D�nd}|r8|dSdSdS)NzLSELECT * FROM delegates where delegate_id = :delegate_id and delegate_no >0;)r_cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz9UserModel.get_check_delegate_complete.<locals>.<listcomp>r)r	rr+)r r_r-r.r8r"r"r#r��sz%UserModel.get_check_delegate_completecCsHtd|dd�}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz0SELECT user_id FROM users where   mobile like '%z%' z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz.UserModel.get_users_mobile.<locals>.<listcomp>r)r	rr+)r r1r-r.r8r"r"r#r��s
cCsXtd|ddd|dd�}t�|�}|r@dd�|D�nd}|rP|dSdSdS)	Nz,SELECT full_name FROM users where mobile = 'z' z and full_name = r�z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz-UserModel.get_name_mobile.<locals>.<listcomp>r)r	rr+)r r1r�r-r.r8r"r"r#r�s$
zUserModel.get_name_mobilecCs2td|ddd|dd�}t�|�}|S)Nz&SELECT * FROM users where   mobile = 'z' z  and email = r�z ;)r	rr+)r r0r1r-r.r"r"r#r�s$
zUserModel.get_both_valuecCsp|j���|jjj�|g���|�}t�|�}t	d�
|��}t�|�}|rXdd�|D�nd}|rh|dSdSdS)Nz(select * from users where user_id = {} ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5sz1UserModel.update_regtype_user.<locals>.<listcomp>r)rrrQrRr?rSrTrr+r	r:)r r?rMr-r.r�r8r"r"r#r�s$

zUserModel.update_regtype_usercCs~|j���|jjj�|g���|�}t�|�}t	|jg��|jjj�|g��}t�|�}|rjdd�|D�nd}|rv|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r5*sz)UserModel.update_user.<locals>.<listcomp>r^)
rrrQrRr?rSrTrr+r)r r?rMr-r.r7r8r"r"r#r�#s$
 
zUserModel.update_userc	Cs~d}|r |dd|dd}|r<|dd|dd}|d�||�}t|�}t��}|�|�}|��|rvdSdSdS)Nz UPDATE users SET  z
 email =  r�z ,z mobile =  z'updated_at = '{}' WHERE user_id =  {} ;rH)r:r	rrIr+rJ)	r r0r1rbr?r}r-rLr.r"r"r#r�2s
zUserModel.update_usersc	Cs�d}|r$|ddt|�dd}|r@|dd|dd}|r\|dd|dd}|d�|�}t|�}t��}|�|�}|��|r�d	SdSdS)
Nz UPDATE users SET  z otp =  r�z ,z otp_sent_at =  z otp_expire_at =  r�z WHERE user_id =  {} ;rH)r@r:r	rrIr+rJ)	r r�r�r�r?r}r-rLr.r"r"r#r�Ds
zUserModel.update_otpcCsld}|r|d}|r,|dd|dd}|d�|�}t|�}t��}|�|�}|��|rd|SdSdS)Nz UPDATE users SET  z" otp = NULL ,otp_expire_at= NULL, z otp_verified_at =  r�r�z WHERE user_id =  {} ;r�)r:r	rrIr+rJ)r r�r�r?r}r-rLr.r"r"r#r�\s
zUserModel.verified_otpcCsFtd�|||��}t�|�}|r.dd�|D�nd}|r>|dSdSdS)Nz�select user_id,full_name, (select user_id from users where full_name = '{}')as email_user_id,(select full_name from users where full_name = '{}')as email_full_name from users where email = '{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5vsz-UserModel.get_email_users.<locals>.<listcomp>r)r	r:rr+)r r0r�r-r.r8r"r"r#r�rs
zUserModel.get_email_userscCsHtd�||||��}t�|�}|r0dd�|D�nd}|r@|dSdSdS)Nz�select user_id,full_name ,(select user_id from users where full_name = '{}')as email_user_id,(select full_name from users where full_name = '{}')as mobile_full_name from users where mobile = '{}' and full_name = '{}';cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz.UserModel.get_mobile_users.<locals>.<listcomp>r)r	r:rr+)r r1r�r-r.r8r"r"r#r�}s
zUserModel.get_mobile_userscCs�g}z�t��}|��}|�d|||g�xpdd�|jD�}g}x.|��}	|	dkrRPtt||	��}
|�|
�q@W|�t	|��|�
�dkr�P|jdkr*Pq*WWd|��X|S)Nr�cSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz3UserModel.get_verification_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)r r0r1r�r�rsrir�r�r�rvr"r"r#r��s*


zUserModel.get_verification_datac	Cs�g}z�t��}|��}|�d|g�xpdd�|jD�}g}x.|��}|dkrNPtt||��}|�|�q<W|�t	|��|�
�dkr�P|jdkr&Pq&WWd|��X|S)Nr�cSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz,UserModel.get_users_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)	r r?r�rsrir�r�r�rvr"r"r#r��s*


zUserModel.get_users_datac	Cs�g}z�t��}|��}|�d|g�xpdd�|jD�}g}x.|��}|dkrNPtt||��}|�|�q<W|�t	|��|�
�dkr�P|jdkr&Pq&WWd|��X|S)Nr�cSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz.UserModel.get_preview_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)	r r?r�rsrir�r�r�rvr"r"r#r��s*


zUserModel.get_preview_datac
Cs�g}z�t��}|��}|�d||g�xpdd�|jD�}g}x.|��}|dkrPPtt||��}	|�|	�q>W|�t	|��|�
�dkr�P|jdkr(Pq(WWd|��X|S)Nr�cSsg|]}|d�qS)rr")r3rRr"r"r#r5�sz2UserModel.get_payment_msg_data.<locals>.<listcomp>)rrhrirjrkr,r2rnrmr�r�rJ)
r r?r%r�rsrir�r�r�rvr"r"r#r��s*


zUserModel.get_payment_msg_datacCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5sz>UserModel.usp_get_delegates_by_delegate_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r_rsrirtr8rvr"r"r#r�sz*UserModel.usp_get_delegates_by_delegate_idcCsPtd�}t��}|j||d�}|r0dd�|D�nd}|��|rH|dSdSdS)Nz�select user_id, membership_no,full_name,email,mobile,city,status from users where membership_no is not null and membership_no = :member_no  ;)r�cSsg|]}t|��qSr")r2)r3r4r"r"r#r5!sz2UserModel.get_member_by_mem_no.<locals>.<listcomp>r)r	rrIr+rJ)r r�r-rLr.r8r"r"r#r�szUserModel.get_member_by_mem_nocCs`t��}t|jg��|jjj�|g��}|�|�}|�	�|rLdd�|D�nd}|rX|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r5.sz1UserModel.getDelegateByUserID.<locals>.<listcomp>)
rrIrrrQrRr?rSr+rJ)r r?rLr7r8rMr"r"r#r�)s 
zUserModel.getDelegateByUserIDcCs`t��}t|jg��|jjj�|g��}|�|�}|�	�|rLdd�|D�nd}|rX|SdSdS)NcSsg|]}t|��qSr")r2)r3r4r"r"r#r59sz7UserModel.getDelegateByParentUserID.<locals>.<listcomp>)
rrIrrrQrRr�rSr+rJ)r r�rLr7r8rMr"r"r#r�4s 
z#UserModel.getDelegateByParentUserIDcCs(t��}|�|j��|�}|��|jS)N)rrIr+rrrJrW)r rMrLr.r"r"r#r�@szUserModel.insert_delegatecCs@td|dd�}t|�t�|�}|r8dd�|D�nd}|S)Nz&SELECT * FROM users where  user_id = 'r�z ;cSsg|]}t|��qSr")r2)r3r4r"r"r#r5Lsz0UserModel.get_selected_users.<locals>.<listcomp>)r	r=rr+)r r�r7r.r8r"r"r#r�Gs

zUserModel.get_selected_userscCs"td�}tj||d�}|��}|S)Nz8select * from delegates where delegate_id =:delegate_id;)r_)r	rr+r,)r r_r-r.r"r"r#r�OszUserModel.get_delegatecCs"td�}tj||d�}|��}|S)Nz�select * from addons a left join delegates_addons da on da.addon_id = a.addon_id and da.delegate_id = 100 where a.is_visible = 1)r_)r	rr+r,)r r_r-r.r"r"r#r�Vsz'UserModel.get_delegateForDefaultDisplaycCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5asz-UserModel.delete_delegate.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r_rsrirtr8rvr"r"r#r�]szUserModel.delete_delegatec
	Cs�t��}d}d}x.|D]&}|d�||d|d|d|�}qWx|D]}	|d�|	�}qFW|rrt|�}
|�|
�}|r�t|�}|�|�}|��dS)Nr�zkinsert into delegates_addons (delegate_id,addon_id,amount,reg_status,created_at) values ({},{},{},{},'{}');r�rCr�z:delete from delegates_addons where delegate_addon_id = {};T)rrIr:r	r+rJ)
r r_r�r�r�rLr�r�r�r�r�r.r�r"r"r#r�os
&


zUserModel.save_delegates_addonscCs2td�}tj||d�}|��}|r*|dSdSdS)Nz>select count(*) as count from delegates where user_id=:user_id)r?r�r)r	rr+r,)r r?r-r.r"r"r#r��szUserModel.check_user_delegatecCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5�szIUserModel.get_incompleted_delegates_by_parent_user_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r�rsrirtr8rvr"r"r#r��sz5UserModel.get_incompleted_delegates_by_parent_user_idcCsxt��}|��}|�d|g�dd�|jD�}g}x$|��D]}|�tt||���q<W|�	�|�
�|rp|SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5�szGUserModel.get_completed_delegates_by_parent_user_id.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r�rsrirtr8rvr"r"r#r��sz3UserModel.get_completed_delegates_by_parent_user_idcCs�t��}|��}|�d|||||g�dd�|jD�}g}	x$|��D]}
|	�tt||
���qDW|�	�|�
�|	rx|	SdSdS)Nr�cSsg|]}|d�qS)rr")r3rer"r"r#r5�sz3UserModel.usp_generate_payement.<locals>.<listcomp>)rrhrirjrkrlrmr2rnrJro)r r%rgr?rErFrsrirtr8rvr"r"r#r��szUserModel.usp_generate_payementcCsHtd|d�}tj||d�}|r0dd�|D�nd}|r@|dSdSdS)Na0select d.delegate_id, d.user_id,concat(d.prefix ,' ' ,d.full_name) as full_name ,d.email,d.mobile,p.amount,p.am_id,p.is_test,p.unique_id, c.conf_id,c.conf_key from delegates d inner join user_payment p on p.user_id = d.user_id  inner join conference c on d.conference_id = c.conf_id where  p.unique_id= 'z' ;)r%cSsg|]}t|��qSr")r2)r3r4r"r"r#r5�sz2UserModel.getDataAfterPayments.<locals>.<listcomp>r)r	rr+)r r%r7r.r8r"r"r#r��szUserModel.getDataAfterPaymentsN)Fr�r�r�r$r/r9r;r>rArOrUrVrrXrZr[r]r`rcr�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�r�r�r�r�r�r�r"r"r"r#r��s�

	

F











"!!#
r�)�
sqlalchemyrrrrrrrr	Zsqlalchemy.sqlr
r�corer�json�configrrr�r"r"r"r#�<module>s"(o

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists