U
    ``                     @   s~  d dl m Z mZmZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlmZ d dlZd dlZd d	lmZ d d
lmZ d dlmZmZ zd dlmZ W n  ek
r   d dl mZ Y nX d dl!m"Z"m#Z# d dl$m%Z% d dl&m'Z'm(Z(m)Z) d dl*m+Z+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9 dd Z:e"ddge#e'e(fedd Z;dd Z<e"ddge#e'e(fedd Z=e"ddge#e'e(fedd Z>d d! Z?e"ddge#e'e(fed"d# Z@e"ddge#e'e(fed$d% ZAe"ddge#e'e(fed&d' ZBe"ddge#e'e(fed(d) ZCe"ddge#e'e(fed*d+ ZDe"ddge#e'e(fed,d- ZEe"ddge#e'e(fed.d/ ZFe"ddge#e'e(fed0d1 ZGe"ddge#e'e(fed2d3 ZHe"ddge#e'e(fed4d5 ZIe"ddge#e'e(fed6d7 ZJd8d9 ZKe"ddge#e'e(fed:d; ZLd<d= ZMe"ddge#e'e(fed>d? ZNd@dA ZOe"ddge#e'e(fedBdC ZPe"ddge#e'e(fedDdE ZQdFdG ZRdHdI ZSe"ddge#e'e(fedJdK ZTe"ddge#e'e(fedLdM ZUdNdO ZVdS )P    )datetime	timedeltatimeNchoice)relativedelta)EmailMultiAlternatives)CountSum)model_to_dict)render)render_to_string)never_cache)JsonResponseHttpResponse)logger)api_viewauthentication_classes)settings)SessionAuthenticationIsAuthenticatedStartFitSessionUtil)UserReferralUser)CampaignFeedCampaignLikesCampaignCommentsCampaignAdvertisementsBaahubaliHistoryBaahubaliPromoVideosFeedback)cachescache)
officeMailc                 C   sz   t jdjddjtdd}g }|D ]B}t|}|d dkr`|d d kr`|d dd|d< || q(t	d	|d
S )NtagName   status)Zdcount  _uniqueTsuccessZtagNames)
r   objectsvaluesfilterannotater	   dictreplaceappendr   )requestZtagdatatagArrdttagObj r9   (/var/www/html/services/campaign/views.py
gettagname"   s     r;   GETPOSTc                 C   s  t  }t| jd}g }t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j	d|d d
d}|D ],}t|}|d d|d< i }| jd d k	r|| }|d }	tjd!j	|d |	d" }
|
d#krd$|d%< nd&|d%< tjd!j	|d d' }||d(< tjd!j	|d d' }||d)< tjd*d+d,j	|d d'jtd,d-}|D ]0}t|}|d. |d* d/||d+ < ||d0< qf|| qttd$|d1S )2Nutf-8User__idPlan__idUserPlan__idExercise__ididuser_iduser_id__first_nameuser_id__avatarplan_idplan_id__planNamefeedorm	avgWeighttonnageworkcaloriesr$   	totalReps	intensityvideoUrlimageUrlexerciseNamecreatedDater'   	videoTyper%   userId)r'   rD   -id%Y-%m-%dHTTP_AUTHORIZATIONCampaignFeed__idcampaignfeed_idrD   r   TdisableLikeFr\   totalcommentsbaahubalihistoryr\   likeTypepoint
totalpointrd   Ztotalpointsr\   points)r-   campaignData)r   jsonloadsbodydecoder   r.   select_relatedr/   r0   order_byr2   strftimeMETAgetget_user_insessionr   countr   r   r1   r
   r4   r   )r5   stratsessionutildataZshareArrZ	shareinfodt3ZshareObj	likeslistuseruserid
mylikesObjcmntsCntbhistorylikesCntlikesdtlikesObjr9   r9   r:   getuserpostdata,   s4    T


(r   c                 C   sD  t  }ztd }t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jddjddd d d! }g }t	
t}|D ]F}t|}|d
 d"kr|d
 d kr|d d# t|d
  }t|d$}	t|	d%}
|
d |d&< |d d'|d< d(|d)< i }tjd*j|d d+ }||d,< tjd*j|d d+ }||d-< tjd.d/d0j|d d+jtd0d1}|D ]0}t|}|d2 |d. d3||d/ < ||d4< q~|| ||d  | q|d5|tj |d6|tj tjd*ddd.d7ddd	djdd8d }g }t	
t}|D ]<}t|}|d d'|d< || ||d.  | q.|d9|tj tjddd:d;dd<dd d d= }g }|D ]*}t|}|d d'|d< || q|d>|tj t||||d?W S  tk
r> } z"t !d@ tdAt|i W Y S d }~X Y nX d S )BNdefaultr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r$   rO   rP   rQ   rR   rS   rT   r'   rU   exercise_id   )
company_idr%   r&   rW   i  r(   #ascii'
encodedurlrX   Fr]   rZ   r^   r_   r`   r\   ra   rb   rc   rd   re   rf   CampaignArrtagNameInfocomment)Zcampaignfeed_id__statustotalcmntsDataimageurlcreatedBy_id__first_name   advertisementsArr)campaigndataZcommentsdataZtagnamesdataZadvertisementssomething wrongmsg)"r   r!   r   r.   rl   r/   excluder0   rm   collectionsdefaultdictlistr2   strbase64	b64encodeencodesplitrn   r   rr   r   r   r1   r
   r4   setr   SESSION_VALIDITYr   r   	Exceptionr   	exception)r5   rs   r"   cdatar   r   r7   cObjsecret_code_plainsecret_code_encode
encodedValrv   rz   r{   r|   r}   r~   ZgetcmntsZ
getcmntArrr   cmntObjadsdatar   adsObjer9   r9   r:   LoadCampaignDataN   sb    `

(
.

*
r   c                 C   s  t  }t| jd}z4td }|d}|d krH|d t| }i }|d}|d k	r|D ]}t	|| ||< t
| qbt	||d< |d dkr|d }td }|d}t
| |d k	rt
d ||krl|| }	t	|	}
|d t	|| krt	|| |d< || }n|| }g }|d d	krtd	|d D ]~}|| }d
|d< | jdd k	r|| }|d }tjdj|d |d }|d	krd|d< nd
|d< || q@td||
|ddW S |d k	r|D ]n}| jdd k	rF|| }|d }tjdj|d |d }|d	kr>d|d< nd
|d< || qtd||
|ddW S ntddd	|dW S qLt
d t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-j|d. d/d0}g }|D ]}t|}|d* d1|d*< d|d< tjdj|d d2 }||d3< | jdd k	r|| }|d }tjdj|d |d }|d	krd|d< nd
|d< tjdj|d d2 }||d4< || qt	|}td|||dW S nnt	|}
t
d5 g }|d t	|krt	||d< |d d	krtd	|d D ]v}|| }| jdd k	r|| }|d }tjdj|d |d }|d	krd|d< nd
|d< || q,td||
|ddW S t
d6 |D ]n}| jdd k	r(|| }|d }tjdj|d |d }|d	kr d|d< nd
|d< || qtd||
|ddW S W nB tk
r } z"td7 td8t|i W Y S d }~X Y nX d S )9Nr>   r   r   r   Allr$   zCOMING FROM CACHEendr   Fr]   rY   rC   rZ   r[   Tz
From Cache)r-   rg   	totalfeed	feedCountr   r(   )r-   rg   r   r   z+++coming from server++++r?   r@   rA   rB   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r'   rU   r   tagr%   r$   r'   rX   r^   
totalLikesr_   z&----getting feed data from cache1-----z&+++++++coming into else block+++++++++r   r   )r   rh   ri   rj   rk   r!   rp   deleter   lenprintrangero   rq   r   r.   rl   r0   rr   r4   r   r   r/   r2   rn   r   r   r   r   r   )r5   rs   Zcinfor"   loaddataZ
tagFeedCntZtagloaddatar   tagnamejsonloaddatatotal
searchDataZsendDatanumr   rw   rx   ry   r   capArrr7   r|   rz   totalcapArrr   r9   r9   r:   getcampaignpost   s    












 


P

 










r   c                 C   s  t  }zt| jd}|d }td }|d}|d k	r|d }t|}||krltd|| |dW S tdd|dW S nPt	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"j|d d#d$}g }	|D ]}
t|
}|d d%|d< d|d&< tj
d'j|d d( }||d)< | jd*d k	r|| }|d }tj
d'j|d |d+ }|d,krxd|d&< nd-|d&< tj
d'j|d d( }||d.< |	| qt|	}td|	|dW S  tk
r
 } z"td/ td0t|i W Y S d }~X Y nX d S )1Nr>   r   r   r   	baahubaliT)r-   rg   r   r(   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r$   rO   rP   rQ   rR   rS   rT   r'   rU   r   r%   r   rX   r]   rZ   r^   r   rY   r[   r   Fr_   r   r   )r   rh   ri   rj   rk   r!   rp   r   r   r   r.   rl   r/   r0   r2   rn   r   rr   ro   rq   r   r4   r   r   r   r   )r5   rs   Ztaginfor   r"   r   r   r   r   r   r7   r   r|   rw   rx   ry   rz   r   r   r9   r9   r:   searchtagname  sF    
P



r   c              
   C   s   ztt | jd}tjdj|d dd }g }|D ]*}t	|}|d 
dd|d< || q:td	|d
W S  tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   r$   r   r%   )ZtagName__istartswithr'   r)   r*   r+   Tr,   r   r   )rh   ri   rj   rk   r   r.   r/   r0   distinctr2   r3   r4   r   r   r   r   r   )r5   tdatar   r6   r7   r8   r   r9   r9   r:   filtertagnames.  s    
r   c              
   C   s  t  }zR|| }|d }t| jd}d|d krX|d d dkrX|d d }nd}|d krHd|krXtjj||d}|d d |_	d	|d kr|d d	 dkr|d d	 |_
d
|d kr
|d d
 dkr
d|d d
 kr|d d
 |_nd|d d
  |_|  |j}td t| }td}	tdd|dW S ntdddW S W nB tk
r }
 z"td tdt|
i W Y S d }
~
X Y nX d S )NrC   r>   r   campInfor(   r   )rD   r$   Z
composeMsgZtitleMsgr   httphttp://r   TzPost Shared successfully)r-   messageZfeedidFuser logged outr-   r   r   r   )r   rq   rh   ri   rj   rk   r   r.   createrI   title
websiteUrlsaverC   r"   r   r   rp   r   r   r   r   r   )r5   rs   usernamerx   postinfor$   r   
lastfeedidr   loadfeeddatar   r9   r9   r:   savecampaignpost<  s>    


 


r   c              
   C   s   t  }z|| }t| jd}|d krd|krtd tjj	|d d}|d |_
|  td t| }t	d}tdd|d	W S ntd
ddW S W n@ tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   postidz+++ if condition +++rC   Zpostfeedr   TzPost updated successfullyr-   r   rg   Fr   r   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   rp   rI   r   r"   r   r   r   r   r   r   r   )r5   rs   rw   pinfor   r   r   r   r9   r9   r:   updatecampaignfeedd  s$    




r   c           	   
   C   s   t  }z|| }t| jd}|d krd|kr|d }tjj|d}d|_	|
  td t| }td}tdd|dW S ntd	d
dW S W n@ tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   r   r   r   r   TzPost deleted successfullyr   Fr   r   r   r   )r   rq   rh   ri   rj   rk   r   r.   rp   r'   r   r"   r   r   r   r   r   r   r   )	r5   rs   rw   Zpostdatar   rI   r   r   r   r9   r9   r:   deletecampaignpost}  s$    



r   c              
   C   s   t  }z|| }|d }t| jd}|d krtjj|d}|d |_	|d |_
|d |_|d |_|d d	 |_|d d
 |_|d d |_|d |_|d d |_|d d |_|d d |_|d d |_|d |_|  |j}tjdd	d
dd d }t|dkrRtjj||d |d d	 |d d
 |d}|  nd|D ]^}	t|	}
|
d	 }t|d d	 |krVtjj||d |d d	 |d d
 |d}|  qVtdddW S tdddW S W nB tk
r } z"t !d tdt"|i W Y S d }~X Y nX d S )NrC   r>   rD   rG   exerciseName_id
session_idrS   ZStatsessionDetailsrJ   rK   totalTonnageZ	totalWorkrN   repsDonerP   rW   r%   r   )r\   r   rJ   rK   rD   TzPost Shared Successfullyr   Fr   r   r   )#r   rq   rh   ri   rj   rk   r   r.   r   rG   r   r   rI   rJ   rK   rL   r$   rM   rN   rO   rP   rS   r   rC   r   r/   rm   r   r2   floatr   r   r   r   r   )r5   rs   rw   rx   r   r   r   ZbinfoZbdatar7   ZbObjrJ   r   r9   r9   r:   sharecampaignpost  sf    













r   c              
   C   s   t  }z|| }t| jd}|d krd|krtd tjj	|d d}|d |_
|  td t| }t	d}tdd|d	W S ntd
ddW S W n@ tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   r   z ++++++++imageUpload+++++++++++++fidr   r   TzImage Uploaded successfullyr   Fr   r   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   rp   rR   r   r"   r   r   r   r   r   r   r   )r5   rs   rw   Zimginfoimgr   r   r   r9   r9   r:   uploadimage  s$    




r   c              
   C   sJ  t  }z|| }t| jd}t| |d krd|krtjj	|d d}|d |_
|  td t| }t	d}tdd|dW S d	|krtjj	|d d}d
|_|d	 |_
|  td t| }t	d}tdd|dW S ntdddW S W nB tk
rD } z"td tdt|i W Y S d }~X Y nX d S )Nr>   videor   r   r   TzVideo Uploaded successfullyr   Z
youtubeurlyoutubeFr   r   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   rp   rQ   r   r"   r   r   r   rU   r   r   r   r   )r5   rs   r   vidinfor   r   r   r   r9   r9   r:   videoupload  s6    







r   c           	   
   C   s  t  }z|| }|d }t| jd}|d krtjj||d d d	d}|
 rjtdddW S tjj|d d |d}|  td	 t| }td
ddW S ntdddW S W nB tk
r } z"td tdt|i W Y S d }~X Y nX d S )NrC   r>   Z	likesdata)rD   r\   FLikedr   r[   CampaignFeedDataTr   r   r   )r   rq   rh   ri   rj   rk   r   r.   r0   r/   existsr   r   r   r"   r   r   r   r   r   r   )	r5   rs   r   rx   cpdata	existdatar   r   r   r9   r9   r:   	savelikes  s*    



r   c           	   
   C   s,  t  }z|| }|d }t| jd}t| |d krtj	dddddj
|d |d}| r~td	 td
ddW S td tjj|d |d |d |d}|  td t| }tdddW S ntd
ddW S W nB tk
r& } z"td tdt|i W Y S d }~X Y nX d S )NrC   r>   r\   ra   rb   rD   r   r[   z!==============exists=============Fzalready likedr   z====create========ZliketypeZ
pointvalue)r\   ra   rb   rD   r   Tz
like savedr   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   r/   r0   r   r   r   r   r"   r   r   r   r   r   r   )	r5   rs   r   rx   Z
pointsdatar   r   r   r   r9   r9   r:   
savepoints(  s4    
"

r   c           
   
   C   s8  t  }z|| }|d }t| jd}g }|d krtjj||d |d d}|	  t
jj|d}|jd kr|jdkrtjt|j |_nd|_||j|j|j|j|j|jd	 td
 t| }tdd|dW S tdddW S W nB tk
r2 }	 z"td tdt|	i W Y S d }	~	X Y nX d S )NrC   r>   Z
postfeedIdr   )rD   r\   r   r   r(   z*http://stratfit.net/assets/images/user.png)rC   	firstNamelnameavatar	commentIdcommentsr   Tzcomment saved)r-   r   detailsFr   r   r   r   )r   rq   rh   ri   rj   rk   r   r.   r   r   r   rp   r   r   S3URLr   r4   rC   
first_name	last_namer   r"   r   r   r   r   r   r   )
r5   rs   r   rx   Z	cmmtsdataarrcmntZusercommentsr   r   r9   r9   r:   savecommentsI  s2    
$

r   c           	   
   C   s   t  }z|| }t| jd}|d krd|kr|d }tjj|d d}|d |_	|
  td t| }td}tdd|| d	W S ntd
ddW S W n@ tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   ZpostIdr   r   r   r   Tzcomment updatedr-   r   campaignCmntsFr   r   r   r   )r   rq   rh   ri   rj   rk   r   r.   rp   r   r   r"   r   r   r   r   r   r   r   )	r5   rs   rw   Zeditdatar   r   r   	loadcmntsr   r9   r9   r:   editpostcommentsj  s$    




r   c           	   
   C   s   t  }z|| }t| jd}|d krd|kr|d }tjj|d d}|	  t
	d t| }t
d}tdd|| dW S ntd	d
dW S W n@ tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   r   Z	commentidr   r   Tzcomment deletedr   Fr   r   r   r   )r   rq   rh   ri   rj   rk   r   r.   rp   r   r"   r   r   r   r   r   r   )	r5   rs   rw   Zcmtdatar   r   r   r   r   r9   r9   r:   deletecomment  s"    



r   c           
   
   C   s4  zt | jd}|d }td }|d}t| |d k	rp||kr`td td|| iW S tddiW S nztd tj	
d	d
dddddddj|d dd}g }|D ](}t|}|d d|d< || qtd|iW S W nB tk
r. }	 z"td tdt|	i W Y S d }	~	X Y nX d S )Nr>   Z
feedpostidr   r   z----getting from cache-----r   r(   z----server call-----rZ   r?   rC   r\   r   rD   rE   rF   rT   r^   rW   z%Y-%m-%d %H:%M:%Sr   r   )rh   ri   rj   rk   r!   rp   r   r   r   r.   rl   r/   r0   rm   r2   rn   r4   r   r   r   r   )
r5   Z	cmmtsinfoZ
postfeedidr"   r   r   ZcmntArrr7   r   r   r9   r9   r:   getcomments  s,    
2
r   c           
   
   C   s  t  }z|| }|d }t| jd}|d krd|d krT|d }t|d nd|d  }t|d tjj	|d |d|d	}|
  td
 t| }td
}tdd|dW S tdddW S W nB tk
r }	 z"td tdt|	i W Y S d }	~	X Y nX d S )NrC   r>   r   Zadvurlz++ifz++elseZadvimager%   )r   r   r'   createdBy_idr   Tzadvertisement saved)r-   r   r   Fr   r   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   r   r   r"   r   r   rp   r   r   r   r   r   )
r5   rs   r   rx   ZadvdataZadsurlZadsr   Zload_adsdatar   r9   r9   r:   createadvertisements  s4    




r  c              
   C   s   zt d }|d}|d k	r,td|dW S tjddddd	d
d}g }|D ](}t|}|d d|d< |	| qPtd|dW S W n@ t
k
r } z"td tdt|i W Y S d }~X Y nX d S )Nr   r   T)r-   r   r?   rC   r   r   r'   r   rT   rX   r   r   )r!   rp   r   r   r.   rl   r/   r2   rn   r4   r   r   r   r   )r5   r"   r   r   ZadsArrr7   r   r   r9   r9   r:   getadvertisements  s    

r  c              
      s   t  }z|| d }t| jd}|d }d krg  tjjd d	dd} fdd	}d
d }t
j }|||}	|	 }
W 5 Q R X tj||
||fd}|  tdddW S tdddW S W nB tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr   r>   ZrefemailrC   r   referralCoderD   c                    s   |   r0td | D ]}|d } | q S td t tdd }ddd td	D }t|}t	j
jd
 |d|d}|  td  |  S d S )Nz++if condition+++r  z++else condition+++   )daysr(   c                 s   s   | ]}t d V  qdS )
0123456789Nr   ).0ir9   r9   r:   	<genexpr>  s     z/userReferral.<locals>.store2.<locals>.<genexpr>   rC   r%   )rD   r  r'   
expiryDatez+++code saved++++)r   r   r4   r   todayr   joinr   r   r   r.   r   r   )checkr7   randcodeZ	sevendays
randomCodeuserrefZrandomnumberrw   r9   r:   store2  s(    
zuserReferral.<locals>.store2c                 S   s   | }t ||| d S )N)sendreferralemail)randuEmailfnamer  r9   r9   r:   mail2  s    zuserReferral.<locals>.mail2targetargsTz$Thank you for referring your friend.r   Fr   r   r   )r   rq   rh   ri   rj   rk   r   r.   r0   r/   
concurrentfuturesThreadPoolExecutorsubmitresult	threadingThreadstartr   r   r   r   r   )r5   rs   r  Zurefr  r  r  r  executorfuturer  t2r   r9   r  r:   userReferral  s*    

r'  c              
   C   sr   z,d}|}|| d}t d|}t||| W n@ tk
rl } z"td tdt|i W Y S d }~X Y nX d S )Nz)Invitation to Stratfit Strength Coach App)Zreferred_userZreferralcodezreferral.htmlr   r   )r   r#   r   r   r   r   r   )r  r  r  subjectto_emailctxr   r   r9   r9   r:   r  !  s    

r  c              
   C   s   t  }z|| }|d krxtjdj|d dddd}| rf|D ]}|d }qHtd|dW S td	d
dW S ntd	dd
dW S W n@ t	k
r } z"t
d tdt|i W Y S d }~X Y nX d S )Nr?   rC   r   r  rD   rE   T)r-   referralinfoFr(   r   )r-   r   r+  r   r   )r   rq   r   r.   rl   r0   r/   r   r   r   r   r   r   )r5   rs   rw   r  r7   Zrefcoder   r9   r9   r:   getreferralcode/  s    
"

r,  c              
   C   s  t  }z|| }|d }t| jd}t| |d krd|krxtd tjj	|d |d}|
  tdddW S d	|krtd
 tjj	|d	 d|d}|
  tdddW S ntdddW S W nB tk
r } z"td tdt|i W Y S d }~X Y nX d S )NrC   r>   Z
promovideoz++++++++if condition++++++)rQ   rD   TzVideo uploaded successfullyr   Zyoutubelinkz++++++++else if condition++++++r   )rQ   rU   rD   Fr   r   r   )r   rq   rh   ri   rj   rk   r   r   r.   r   r   r   r   r   r   r   )r5   rs   rw   rx   ZviddataZvidZvid2r   r9   r9   r:   baahubaliVideosG  s8    

r-  c              
   C   s   zPt jdddddd d }g }|D ]}t|}|| q*td|dW S  tk
r } z"t	d	 td
t
|i W Y S d }~X Y nX d S )NrC   rQ   rD   rU   rW   r   T)r-   Zbaahuabalivideosr   r   )r   r.   r/   rm   r2   r4   r   r   r   r   r   )r5   r   ZvidArrr7   ZvidObjr   r9   r9   r:   getBaahubaliVideosi  s     
r.  c              	      s   t | jd}t| g  |d kr fdd}dd }tj }|||}|	 }W 5 Q R X t
j|||fd}|  tddd	S td
dd	S d S )Nr>   c                    sp   t jj| d | d | d d}d| kr<| d dkr<| d |_d| krZ| d dkrZ| d |_|   |  S )Nnameemailfeedback)r/  r0  r1  orgr(   number)r    r.   r   organization	phone_numr   r4   )rt   r   infr9   r:   store1  s    


zsavefeedback.<locals>.store1c                 S   s<   | d }d}|d }|j |jd}td|}t||| |S )Nr   r    r0  )r   r0  zfeedback.html)r/  r0  r   r#   )infort   r   r(  r)  r*  r   r9   r9   r:   mail1  s    
zsavefeedback.<locals>.mail1r  TzThank you for your feedbackr   Fzplease enter valid data)rh   ri   rj   rk   r   r  r  r  r  r   r!  r"  r#  r   )r5   rt   r8  r:  r$  r%  r9  r&  r9   r6  r:   savefeedback  s    r;  c              
   C   sP  t  }|| }t| z|d krd| jkrJ| jd dkrJt| jd }nd}d| jkrv| jd dkrvt| jd }nd}|d | }|| }tjdddd	d
d}g }t	|}	||| }
|
D ]}t
|}t| || qtd||	dW S tdddW S W nB tk
rJ } z"td tdt|i W Y S d }~X Y nX d S )Nrowsr(   2   pager%   rC   r/  r0  r1  r4  rW   Tr-   r   r   FzUser logged outr   r   r   )r   rq   r   r=   intr    r.   r/   rm   r   r2   r4   r   r   r   r   r   )r5   rs   r   r<  r>  offsettotuserpageuserarryr   rt   r7   dataObjr   r9   r9   r:   getfeedback  s4    

rF  c              
   C   s  t  }|| }t| jd}z|d krt| d|krVddkrVt|d }nd}d|krxddkrxt|d }nd}|d | }|| }tj	
ddd	d
dd}t| d|  krdkrXn nd|d kr|d d dkrtd|d d  |j|d d d}d|d krX|d d dkrXtd|d d  |j|d d d}t }	t|}
||| }|D ] }t|}|	| t|	 qvtd|	|
dW S tdddW S W nB tk
r } z"td tdt|i W Y S d }~X Y nX d S )Nr>   r<  r(   r=  r>  r%   rC   r0  r1  r4  r/  rW   ZfeedDatazcame IN to hereee)name__icontainszThis Came IN here)email__icontainsTr?  Fz
logged outr   r   r   )r   rq   rh   ri   rj   rk   r   r@  r    r.   r/   rm   r0   r   r   r2   r4   r   r   r   r   r   )r5   rs   r   ZfeedInfor<  r>  rA  rB  Z
feedFilterdataArrr   	totaldatar7   rE  r   r9   r9   r:   feedbacksearch  sF    

  

rK  c                 C   s   t  }zt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jdddd}g }|D ](}t|}|d d |d< |	| qdt
d!|iW S  tk
r } z"td" t
d#t|i W Y S d }~X Y nX d S )$Nr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r$   rO   rP   rQ   rR   rS   rT   r'   rU   r   r   r%   Zstratfitpost)r'   r$   rW   rX   r   r   r   )r   r   r.   rl   r/   r0   rm   r2   rn   r4   r   r   r   r   r   )r5   rs   r   r   r7   r   r   r9   r9   r:   getPostsData  s    T
rL  )Wr   r   r   rh   r   r   randomr   dateutil.relativedeltar   django.core.mailr   django.db.modelsr	   r
   Zdjango.formsr   django.shortcutsr   concurrent.futuresr  r!  django.template.loaderr   django.views.decorators.cacher   django.httpr   r   pip._internal.req.req_installr   ImportErrorZpip.req.req_installrest_framework.decoratorsr   r   StratFitr   Subscriber.Authenticationr   r   r   Subscriber.modelsr   r   Zcampaign.modelsr   r   r   r   r   r   r    django.core.cacher!   r"   utility.viewsr#   r;   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r'  r  r,  r-  r.  r;  rF  rK  rL  r9   r9   r9   r:   <module>   s   $


5

|

)

%





8















!

2



++

$

+