o
    H`                     @   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yo   d dl mZ Y nw 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 ZR	 dHdI 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 ]!}t|}|d dkr0|d d kr0|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   vC:\Users\DELL\Desktop\soubhikg1894-stratfit-d75d91182fa3\soubhikg1894-stratfit-d75d91182fa3\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 urx|| }|d }	tjd!j	|d |	d" }
|
d#krtd$|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 ]}t|}|d. |d* d/||d+ < ||d0< q|| q:t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   s:  t  }zxt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 ]}t|}|d
 d"kru|d
 d kru|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 ]}t|}|d2 |d. d3||d/ < ||d4< q|| ||d  | qB|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< || qU|d>|tj t||||d?W S  ty } zt !d@ tdAt|iW  Y d }~S d }~ww )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   sf   `
(

.

*
r   c                 C   s|  t  }t| jd}ztd }|d}|d u r$|d t| }i }|d}|d urF|D ]}t	|| ||< t
| q1t	||d< |d dkr|d }td }|d}t
| |d ur<t
d ||v r2|| }	t	|	}
|d t	|| krt	|| |d< || }n|| }g }|d d	krtd	|d D ]<}|| }d
|d< | jdd ur|| }|d }tjdj|d |d }|d	krd|d< nd
|d< || qtd||
|ddW S |d ur/|D ]6}| jdd ur|| }|d }tjdj|d |d }|d	krd|d< nd
|d< || qtd||
|ddW S W d S tddd	|dW S t
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 ]l}t|}|d* d1|d*< d|d< tjdj|d d2 }||d3< | jdd ur|| }|d }tjdj|d |d }|d	krd|d< nd
|d< tjdj|d d2 }||d4< || qlt	|}td|||dW S t	|}
t
d5 g }|d t	|kr t	||d< |d d	krUtd	|d D ];}|| }| jdd urC|| }|d }tjdj|d |d }|d	kr?d|d< nd
|d< || qtd||
|ddW S t
d6 |D ]7}| jdd ur|| }|d }tjdj|d |d }|d	krd|d< nd
|d< || q[td||
|ddW S  ty } ztd7 td8t|iW  Y d }~S d }~ww )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 ur>|d }t|}||v r5td|| |dW S tdd|dW S 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#d$}g }	|D ]i}
t|
}|d d%|d< d|d&< tj
d'j|d d( }||d)< | jd*d ur|| }|d }tj
d'j|d |d+ }|d,krd|d&< nd-|d&< tj
d'j|d d( }||d.< |	| qjt|	}td|	|dW S  ty } ztd/ td0t|iW  Y d }~S d }~ww )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  sJ   
P


r   c              
   C   s   z:t | jd}tjdj|d dd }g }|D ]}t	|}|d 
dd|d< || qtd	|d
W S  tyY } ztd tdt|iW  Y d }~S d }~ww )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  }z|| }|d }t| jd}d|d v r+|d d dkr+|d d }nd}|d krd|v rtjj||d}|d d |_	d	|d v rY|d d	 dkrY|d d	 |_
d
|d v r|d d
 dkrd|d d
 v rw|d d
 |_n	d|d d
  |_|  |j}td t| }td}	tdd|dW S W d S tdddW S  ty }
 ztd tdt|
iW  Y d }
~
S d }
~
ww )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<  sD   



r   c              
   C   s   t  }zN|| }t| jd}|d krJd|v rGtd tjj	|d d}|d |_
|  td t| }t	d}tdd|d	W S W d S td
ddW S  typ } ztd tdt|iW  Y d }~S d }~ww )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  }zJ|| }t| jd}|d krFd|v rC|d }tjj|d}d|_	|
  td t| }td}tdd|dW S W d S td	d
dW S  tyl } ztd tdt|iW  Y d }~S d }~ww )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rtjj||d |d d	 |d d
 |d}|  n0|D ]-}	t|	}
|
d	 }t|d d	 |krtjj||d |d d	 |d d
 |d}|  qtdddW S tdddW S  ty } zt !d tdt"|iW  Y d }~S d }~ww )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  sl   












r   c              
   C   s   t  }zN|| }t| jd}|d krJd|v rGtd tjj	|d d}|d |_
|  td t| }t	d}tdd|d	W S W d S td
ddW S  typ } ztd tdt|iW  Y d }~S d }~ww )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   sB  t  }z~|| }t| jd}t| |d krzd|v rGtjj	|d d}|d |_
|  td t| }t	d}tdd|dW S d	|v rwtjj	|d d}d
|_|d	 |_
|  td t| }t	d}tdd|dW S W d S tdddW S  ty } ztd tdt|iW  Y d }~S d }~ww )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  s<   








r   c           	   
   C   s   t  }zZ|| }|d }t| jd}|d krVtjj||d d d	d}|
 r5tdddW S tjj|d d |d}|  td	 t| }td
ddW S tdddW S  ty| } ztd tdt|iW  Y d }~S d }~ww )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  }zl|| }|d }t| jd}t| |d krht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 td
ddW S  ty } ztd tdt|iW  Y d }~S d }~ww )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(  s8   
"

r   c           
   
   C   s,  t  }zs|| }|d }t| jd}g }|d krotjj||d |d d}|	  t
jj|d}|jd krH|jdkrHt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  ty }	 ztd tdt|	iW  Y d }	~	S d }	~	ww )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  s6   
$

r   c           	   
   C   s   t  }zP|| }t| jd}|d krLd|v rI|d }tjj|d d}|d |_	|
  td t| }td}tdd|| d	W S W d S td
ddW S  tyr } ztd tdt|iW  Y d }~S d }~ww )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  }zK|| }t| jd}|d krGd|v rD|d }tjj|d d}|	  t
	d t| }t
d}tdd|| dW S W d S td	d
dW S  tym } ztd tdt|iW  Y d }~S d }~ww )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   s&  zst | jd}|d }td }|d}t| |d ur7||v r0td td|| iW S tddiW S td tj	
d	d
dddddddj|d dd}g }|D ]}t|}|d d|d< || qXtd|iW S  ty }	 ztd tdt|	iW  Y d }	~	S d }	~	ww )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  s0   
2
r   c           
   
   C   s  t  }z`|| }|d }t| jd}|d kr\d|d v r*|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  ty }	 ztd tdt|	iW  Y d }	~	S d }	~	ww )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  s8   




r  c              
   C   s   zDt d }|d}|d urtd|dW S tjddddd	d
d}g }|D ]}t|}|d d|d< |	| q(td|dW S  t
yc } ztd tdt|iW  Y d }~S d }~ww )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  }zq|| d }t| jd}|d }d krmg  tjjd d	dd} fdd	}d
d }t
j }|||}	|	 }
W d    n1 sRw   Y  tj||
||fd}|  tdddW S tdddW S  ty } ztd tdt|iW  Y d }~S d }~ww )Nr   r>   ZrefemailrC   r   referralCoderD   c                    s   |   rt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 )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  s0   


r'  c              
   C   sn   zd}|}|| d}t d|}t||| W d S  ty6 } ztd tdt|iW  Y d }~S d }~ww )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r;tjdj|d dddd}| r3|D ]}|d }q$td|dW S td	d
dW S td	dd
dW S  t	yb } zt
d tdt|iW  Y d }~S d }~ww )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  }zb|| }|d }t| jd}t| |d kr^d|v r<td tjj	|d |d}|
  tdddW S d	|v r[td
 tjj	|d	 d|d}|
  tdddW S W d S tdddW S  ty } ztd tdt|iW  Y d }~S d }~ww )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  s>   


r-  c              
   C   s   z(t jdddddd d }g }|D ]}t|}|| qtd|dW S  tyG } zt	d	 td
t
|iW  Y d }~S d }~ww )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rP fdd}dd }tj }|||}|	 }W d    n1 s7w   Y  t
j|||fd}|  tddd	S td
dd	S )Nr>   c                    sp   t jj| d | d | d d}d| v r| d dkr| d |_d| v r-| d dkr-| 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   sD  t  }|| }t| zv|d kr{d| jv r%| jd dkr%t| jd }nd}d| jv r;| jd dkr;t| jd }nd}|d | }|| }tjdddd	d
d}g }t	|}	||| }
|
D ]}t
|}t| || qbtd||	dW S tdddW S  ty } ztd tdt|iW  Y d }~S d }~ww )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  s8   

rF  c              
   C   s  t  }|| }t| jd}z|d krt| d|v r)ddkr)t|d }nd}d|v r:ddkr:t|d }nd}|d | }|| }tj	
ddd	d
dd}t| d|  v radkrn nBd|d v r|d d dkrtd|d d  |j|d d d}d|d v r|d d dkrtd|d d  |j|d d d}t }	t|}
||| }|D ]}t|}|	| t|	 qtd|	|
dW S tdddW S  ty } ztd tdt|iW  Y d }~S d }~ww )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  sJ   



rK  c                 C   s   t  }zJt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< |	| q2t
d!|iW S  tyl } ztd" t
d#t|iW  Y d }~S d }~ww )$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   Z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




+

$
+