o
    H`6                    @   s  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mZ d dlmZ d dlmZ d dlmZ d dlmZ zd dlmZ W n eym   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'm(Z(m)Z) d dl*m+Z+ d dl*m,Z, d dl-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZDmEZEmFZFmGZG d dlHmIZI d dlJZJe ddge!e1e2fed d! ZKe ddge!e1e2fed"d# ZLe ddge!e1e2fed$d% ZM	 e ddge!e1e2fed&d' ZNe ddge!e1e2fed(d) ZOe ddge!e1e2fed*d+ ZPed,d- ZQe ddge!e1e2fed.d/ ZRd0d1 ZSe ddge!e1e2fed2d3 ZTe ddge!e1e2fed4d5 ZUe ddge!e1e2fed6d7 ZVe ddge!e1e2fed8d9 ZWe ddge!e1e2fed:d; ZXe ddge!e1e2fed<d= ZYe ddge!e1e2fed>d? ZZe ddge!e1e2fed@dA Z[dBdC Z\dDdE Z]dFdG Z^e ddge!e1e2fedHdI Z_e ddge!e1e2fedJdK Z`e ddge!e1e2fedLdM Zae ddge!e1e2fedNdO Zbe ddge!e1e2fedPdQ Zce ddge!e1e2fedRdS Zde ddge!e1e2fedTdU ZedS )V    N)datechoice)relativedelta)make_password)EmailMultiAlternatives)
connection)Q)model_to_dict)HttpResponse)JsonResponse)render)render_to_string)never_cache)logger)api_viewauthentication_classes)CelebrityPlansLikes)PlanSelectedAbilities	PlanGoalsPlanCountry
GymCountry)
celeblikes)celebreviewList)PAGING_ROWSS3URL)SessionAuthenticationIsAuthenticatedStartFitSessionUtil)UserUserAddressOrganizationSocialProfile)OrganizationOrganizationAdress)UserPlanGymuserplansUserSets)exceptionMail)OrderDetail)PartnerTypeCountryPriceMappingPriceConversion)
officeMailGETPOSTc              
   C   s  t  }|| }|d }t| jd}|}d}zt| |d krd|d  }t	j
j|dd}d|v rtd t	j
j|d d}	||	_|d	 |	_|d
 |	_|d |	_|d |	_|d |	_|	  tj
j|d d}
|d |
_|d |
_|d |
_|d |
_|d |
_|
  tdddW S td | rtdddW S t	j
j||||d
 d}d	|v r|d	 dkr|d	 |_nd |_d|v r|d dkr|d |_nd |_d|v r|d dkr|d |_nd |_d|v r|d dkr|d |_nd |_d|v r|d dkr|d |_nd |_d|v r%|d dkr%|d |_ nd |_ |  tj
j|j!||d}d|v rH|d dkrH|d |_nd |_d|v r]|d dkr]|d |_nd |_d |v rr|d  dkrr|d  |_"nd |_"d!|v r|d! dkr|d! |_#nd |_#d|v r|d dkr|d |_nd |_d|v r|d dkr|d |_nd |_d|v r|d dkr|d |_nd |_|  tdd"dW S tdd#dW S  t$y } zt%&d$ t'|||t(| td%t(|iW  Y d }~S d }~ww )&Nidutf-8startorg/creategym/ gymNamer5   +++++++++update+++++++++pkaboutGymgymTypenum_of_usersnum_of_trainers	fitbaseidZorgAdidcountrystatecityaddresslocationTz$Gym information updated successfullysuccessmessage+++++++++create+++++++++FzOrganization already exists)r5   	createdBy
modifiedByr;    phoneweburlsocialMediaDetails)organization_idrH   rI   	latitutde	longitudezGym Created Successfullyuser logged outerrormsg))r   get_user_insessionjsonloadsbodydecodeprintjoinsplitr#   objectsfiltervaluesgetr5   r:   r;   r<   r=   r>   saver$   r?   r@   townrB   rC   r   existscreaterK   webUrlrM   r1   rO   rP   	Exceptionr   rR   r(   str)requeststratsessionutilusernameuserdatarequrlZgymName1ZexistingDetailsgym	gymAdress
gymDetails	orgAdresse rs   C:\Users\DELL\Desktop\soubhikg1894-stratfit-d75d91182fa3\soubhikg1894-stratfit-d75d91182fa3\services\StratFitOrganization\views.py	createGym*   s   












ru   c              
   C   s  t  }|| }|d }t| jd}|}d}z|d kr|d }|d }t| d|v rd|d v rU|d d d	krUtjj	|d d d
}	|	
 rUtdddW S tjj|d d}
|dkrd|d v rw|d d d	krw|d d |
_d|d v r|d d d	kr|d d |
_|d d |
_|d d |
_|d d |
_d|
_|
  tdddW S d|v r	d|v r|d d	kr|d d krtjj	|d d}|
 rtjj|d d}|d |_|  tdddW S tjj|d |d d}|  tdddW S nztjj	|d d
}|
 r!tdddW W S tjj|||d |d |d d|d }
|dkr\d|v rJ|d d	krJ|d |
_d|v r[|d d	kr[|d |
_n|d!krptjj|d"}d#|
_|j|
_nd#|
_d$|v r|d$ d	kr|d$ |
_nd |
_d|v r|d d	kr|d |
_nd |
_|
  tjj|
jd"}tjj|
jd
}d	d%d& tdD }|jd' t| }t|d(}| j d) }d*| d+ |d }d,}|j}|j||j!t|d-}t"d.|}t#||| 	 ||_$t||_%|  W n t&y# } ztt|dd/W  Y d }~W S d }~ww d0|v r|d0 d	kr|d0 d krtjj	|
j'd}td1 z$|
 rWtjj|
j'd}|d0 |_ntjj|
j'|d0 d}|  W n% t&y } zt(|||t| tt|dd/W  Y d }~W S d }~ww tdd2dW S tdd3dW S  t&y } zt)*d4 t(|||t| td5t|iW  Y d }~S d }~ww )6Nr1   r2   zstartorg/createuser/organizationuserTypeZeditidemailZupuserrJ   rx   TzEmail Exists rD   r8      usertypeuseraddZfNameZlNamerK      zUser Updated successfully Z	userUnqIdplaniduser_idProgram assigned successfullyr   plan_idFzEmail Already Exists
first_namer   )createdBy_idmodifiedBy_idr   rx   ri   	is_activerN   	   r1      	last_namec                 s   s    | ]}t d V  qdS )Z0123456789ABCDEFNr   ).0irs   rs   rt   	<genexpr>   s    zcreateUser.<locals>.<genexpr>#ascii	HTTP_HOSThttp://z/#/accountvalidate/zSet Password)r   linkr5   randzgymuserverification.html)safeplanz	came HErez<p>User Created Successfully.</p><br> <p>Activation mail sent to the given mail Id.</br></p><br>  <p>* User will be activated after the user activates his/her account from the email sent.</br></p> rQ   rR   rS   )+r   rT   rU   rV   rW   rX   rY   r    r\   r]   rb   r   r_   rw   organizationAddress_idr   r   rK   r   r`   r&   r   rc   r#   rN   rx   rZ   rangerf   base64	b64encodeencodeMETAr5   r   r.   
secretCodeotpre   r1   r(   r   rR   )rg   rh   ri   rj   userInforl   rm   orgIdrw   Z
userExistsuserInformationexistinguserplanupdateuserplancreateuserplanZexistingusersr|   ZorgnameinstanceSub
randomCodesecret_code_plainsecret_code_encodevalidateLinkr   subjectto_emailctxrF   rr   rs   rs   rt   
createUser   s   


&










&

r   c              
   C   s$  t  }|| }|d }t| jd}|}d}zP|d krbt| |d }|d D ]/}|d }	tjj	|	d
d}
|
 rMtjj|	d}||_|  q*tjj|	|d}|  q*tdd	d
W S tddd
W S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww )Nr1   r2   zstartorg/assignplanstousers/r   selectedUsersr   r   Tr   rD   FrQ   rR   rS   )r   rT   rU   rV   rW   rX   rY   r&   r\   r]   r^   rb   r_   r   r`   rc   r   re   r   rR   r(   rf   )rg   rh   ri   rj   pInforl   rm   r   dtuseridr   r   r   rr   rs   rs   rt   assignPlanstoUsers"  s<   



r   c                 C   s  t  }|| }|d }d}d}z|d }t| jd |d krt| jd}d|v r?|d dkr?t|d }t| nt}d	|v rV|d	 dkrVt|d	 }	t|	 nd
}	|	d
 | }
|	| }|d dkrt	j
j|d
|d dddddddddddddjdd}nt	j
j|d
dddddddddddddjdd}t }t|}||
| }|D ] }t|}d|d< tj
dj|d dd d!d"}| r&|D ]N}t|}|d" td#d$ }|d%}t d%}||krd&|d< nd|d< |d  d
ks|d  d'kr|d! |d(< |d" d%|d)< qd|d(< d|d)< qnd|d(< d|d)< tj
dj|d ddd*d!d+d,d-d.d/d0	}| r|D ]1}t|}|d |d1< |d+ |d2< |d/ |d3< |d0 |d4< |d! |d5< |d, |d6< |d- |d7< qLnd|d1< d|d2< d|d3< d|d4< d|d5< d|d6< d|d7< tj
j|d dd}| rd&|d8< nd|d8< tj
j|d d9d:}| rd;|d<< nd=|d<< || qt||d>W S tdd?d@W S  ty } zt dA t!|||t"| tdBt"|iW  Y d }~S d }~ww )CNr1   r/   zstartorg/userDetails/rv   12345678r2   rowsrJ   pager}   rw   r   organizationAddress)rN   r   r   ri   rx   r   middle_namer   rK   r   rH   r   -idrw   rN   r   rz   FpaymentsPlan__idr   statusplan_id__planNamenextRenewalDater   days%Y-%m-%dT   ZupexistsrenewalDater   plan_id__priceplan_id__proposedStateplan_id__royaltyr   plan_id__iosPriceplan_id__iosStatusexistingPlanid	planpriceiosPrice	iosStatusexistingPlanNameproposedStateroyaltyZuserWorkout
forUser_idtotalAmountZPaidZpaymentMadeFreer   totalUser logged outrD   something wrongrS   )#r   rT   rY   rW   rU   rV   rX   intr   r    r\   r]   r^   order_byexcludelistlendictr%   select_relatedrb   r   strftimer   todayr&   r'   r)   appendr   re   r   	exceptionr(   rf   )rg   rh   ri   rj   rl   rm   r   r   r   r   offsettotusersdataArrr   rk   r   dataObjuplansZuplZexplansoneweekbeforeoneweek	todaydateplanDetailsvalvalueZuserssetDetailsZpaymentvaluesrr   rs   rs   rt   userDetailsh  s   



@8
"



.






r   c                 C   s>  t  }|| }|d }d}d}zd|d }|d krnd| jv r/| jd dkr/t| jd }nt}d| jv rE| jd dkrEt| jd }nd}|d | }	|| }
tjj|dd	dd
dddddd	dj
dd}t }t|}||	|
 }|D ]}t|}d|d< tjj|d dddd}| r|D ]H}t|}t|d d d |d< |d tdd }|d}t d}||krd|d< nd|d< |d dkr|d d|d< qd|d< qnd|d< d |d< tjj|d d!d}| rd|d"< nd|d"< tjd#d$j|d ddd%d&d'd(d)d*d+d,d-
}| re|D ]B}t|}|d% |d.< |d' |d/< |d, |d0< |d- |d1< |d+ |d2< |d& |d3< |d( |d4< |d) |d5< |d* |d6< || q"qyt||d7W S tdd8d9W S  ty } ztd: t|||t| td;t|iW  Y d }~S d }~ww )<Nr1   r/   zstartorg/paymentDetails/rv   r   rJ   r   r}   r   ri   rx   r   r   r   rK   r   r   rz   r   Fr   r   r   r   irenewalr   r   r   Tr   zPlan Transitionr   Z	freeusersr   User__idr   r   r   r   r   Z'plan_id__originalPlanner_id__first_nameZplan_id__originalPlanId__pricer   r   r   r   r   r   ZoriginalPlanpricer   r   r   	coachNamer   r   rD   r   rS   )r   rT   r0   r   r   r    r\   r]   r^   r   r   r   r   r   r%   rb   rf   r   r   r   r   r)   r&   r   r   r   re   r   r   r(   )rg   rh   ri   rj   rl   rm   r   r   r   r   r   r   r   r   rk   r   r   	userPlansZuplanr   r   r   r   Zpaymentusersr   r   r   rr   rs   rs   rt   paymentDetails  s   

2



2

r   c           F      C   s  t  }|| }|d kr|d }nd}zt| jd}d|v r2|d dkr2tjj|d d}n|d kr>tjj|d}ntjjdd}t	jj
|d d	d
ddddddddddddjdd}t }g }g }	tjjd	d}
|
j}|D ]X}t|}g }tjj|d d}|j}tjj
|d dddddddddd}|D ]+}t|}|d }tjj
|d }|D ]}t|}|d |d< q|| ||d < qtjj|d}|d }|j}t|d! |d }g |d"< t|d d#  t|d d#   t| d$ t| |d%< |d dks|d d krd&|d'< nt|d  |d'< |d dks3|d d kr8d(|d)< nt|d  |d)< tjj
|d d	d*djdd+}t|}||d,< tjj
|d dd-dd.d/}d0|v r|d0 d1krtjd2d3j
|d d	d	d	d4dd5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJd5}n+tjd2d3j
|d d	d	dKdd5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJd5}i }dL|dM< g } |  rdN}!|D ]}"t|"}#|#d5 dO t|#d  }$t!"|$#dP}%t|%$dQ}&|&d	 |#dR< t%|#d }'t&|#d }(|'|#dS< |(|#dT< t'jj
|#d d	dU( })t'jj
|#d dVjdWdXjddY( }*|)|#dZ< |*|#d[< d|#d\< d|#d]< d|#d^< d|v r|d d kr|d dkrt'jj
|#d |d d	d_ }+|+  rwd	|#d\< t'jj
|#d |d d` },|,  rd	|#d]< |,D ]}-t|-}.|.d^ dkr|.d^ d kr|.d^ |#d^< qd|v r|d dkrt)jd2j
da|d db }/|/  r|/D ]}0t|0}1|1d |dM< qdW}!t*jj
|#d dV }2|2D ]}3t|3}4|4dc dakrI|#d; dd |#d<  |#de< |#d7 |#df< d0|v r|d0 d1kr|j+dgkrE|dM dakr1|#dI |#d7< |#d7 |#df< n|#dE |#d7< t,|#d7 dkrDdh|#d7< n|dM dakrXt-j j
|#dI di}5nt-j j
|#dE di}5|5D ]}6t|6}7|7dj }8qe|8|#d7< t,|#d7 dkrdh|#d7< nht,|#d7 dkrdh|#d7< nZ|j+dgkr|dM dakrt.|#dH t/| |#d7< |#d7 |#df< n-t.|#d7 t/| |#d7< |#d7 |#df< n|dM dakr|#dH |#d7< |#d7 |#df< n|#d7 |#d7< t/|#d7 dkrdh|#d7< t0jdkj
|#d dVdl}9d}:|9D ]};t|;}<|:dm|<dl  7 }:q|:dkr|:d	d  }=nd}=|#d6 dn t|= do |#d6< |#dA dpks8|#dA dqkr\tjj|#d: d}>t|#d6 dr tt|>j1dd t|>j2  ds |#d6< n#tjj|#dD d}?t|#d6 dr tt|?j1dd t|?j2  ds |#d6< t3jdtj
|#d dVdu}@d}A|@D ]};t|;}<|Adm|<du  7 }Aq|Adkr|Ad	d  }Bnd}B|#d? |#dv< |#d= |#dw< |B|#dx< |=|#dy< |#d: |#dz< t4jj
|d dVd{5 ( }C|C|#d|< |#dA d}krt|#dB dd t|#dC  |#d~< |#d@ d urt|#d@  |#d@< |#dG d urt|#dG  |#dG< |#d? dkr#d|#dv< d|#d< n|#d? dkr3d|#dv< d|#d< n|#d? dkrBd|#dv< d|#d< | |# q|#d; dd |#d<  |#de< |#d7 |#df< d0|v r|d0 d1kr|j+dgkr|dM dakr{|#dI |#d7< n|#dE |#d7< t,|#d7 dkrdh|#d7< n|dM dakrt-j j
|#dI di}5nt-j j
|#dE di}5|5D ]}6t|6}7|7dj }8q|8|#d7< t,|#d7 dkrdh|#d7< nVt,|#d7 dkrdh|#d7< nH|j+dgkr|dM dakrt.|#dH t/| |#d7< n!t.|#d7 t/| |#d7< n|dM dakr|#dH |#d7< n|#d7 |#d7< t/|#d7 dkr#dh|#d7< t0jdkj
|#d dVdl}9d}:|9D ]};t|;}<|:dm|<dl  7 }:q6|:dkrR|:d	d  }=nd}=|#d6 dn t|= do |#d6< |#dA dpksp|#dA dqkrtjj|#d: d}>t|#d6 dr tt|>j1dd t|>j2  ds |#d6< n#tjj|#dD d}?t|#d6 dr tt|?j1dd t|?j2  ds |#d6< t3jdtj
|#d dVdu}@d}A|@D ]};t|;}<|Adm|<du  7 }Aq|Adkr|Ad	d  }Bnd}B|#d? |#dv< |#d= |#dw< |B|#dx< |=|#dy< |#d: |#dz< t4jj
|d dVd{5 ( }C|C|#d|< |#dA d}kr-t|#dB dd t|#dC  |#d~< |#d@ d ur:|#d@ |#d@< |#dG d urG|#dG |#dG< |#d? dkrWd|#dv< d|#d< n|#d? dkrgd|#dv< d|#d< n|#d? dkrvd|#dv< d|#d< |	|# q|!dWkr| |d"< q|	|d"< qng |d"< |  r|D ]}t|}D||D q||d< ng |d< d|v r|d dkrtjj|d d}|j+|d< || qvt6t7|W S  t8y }E zt9:d t;dt|EiW  Y d }E~ES d }E~Eww )Nr1   r   r2   r   rJ   r   rz   ZOrgNamer}   )r5   r   r5   r<   r=   r:   r   logo
coverImagerd   rK   r;   r   r   rN   r@   r?   rO   rP   rC   rB   namecountryNameZorgAddrZsfsfplans   z#000ZgymID*http://stratfit.net/assets/images/logo.pnglogo1)http://stratfit.net/assets/images/SF1.jpgcover1r   r   Znum_of_Database_users
socailNamerN   	socialUrl
deviceTypeiosr   Organization__id)createdBy_id__organization_id
planStatusr   activationStatusplanNameplanDescriptionpriceabilitycreatedBy_id__avatarr   createdBy_id__first_namecreatedBy_id__last_nameplanGoal__goalNameduration_weeksprogramType_id__programTypeName	planPhotolicencePolicyZoriginalPlanner_id__first_nameZoriginalPlanner_id__last_nameoriginalPlanner_idr   r   planLogoindianPriceindianIosPriceprogramType_id)r  r  r     userCountryFr   r   '
encodedurl	planlikesplanreviews)r   r   )r   T)reviews__isnull)reviews__exactplanlikesCountreviewsCountceleblikedPlancelebreviewPlanreviews)r   r   r   )r   r   X   r?   r   
country_idr4   r   	planPriceINRr   )inrusdPlanPurposesplanGoal_id__GoalNamez, z<br><br><font><b>Purposes:</b> z</font>3zWhite-Labelz<br><h6>Copyright &copy; 2017 z. All rights reserved.</h6>PlanAbilitiesability_id__abilityplanTypeplanGoalplanPurpose
plan_goalscoachIdr   	planUserszCo-BrandoriCoachNameSTARTERBeginnerSptypeINTERMEDIATEIntermediateIADVANCEDAdvancedAsocialluctyper   rS   )<r   rT   rU   rV   rW   rX   r    r\   r_   r#   r]   r^   r   r   r   r-   inrValuer   r*   partnerTypeCoder$   r+   r   r   rY   rf   upperr   r   r"   r   r   rb   r   r   r   r[   r   r   r   countr!   r   currencyTyper   r,   roundfloatr   r   r   r   r%   distinctr   dumpsre   r   r   r   )Frg   rh   ri   rj   rk   userCurrency	gymvaluesr   ZSocialMediaArrZPlanArrcurrencyValuesrF  r   r   rB   partnerTypeZpartnerCodeZorgAddorgorgObjZ
orgCountryZcountryVal1ZcntrycntryObjZ
countryValZorgStater   ZidValr   r<   socialDetailsZgymPlansZIndianPlanArrindiar   r   r   r   
encodedValclelebLikescelebReviewsplalikescountreviewscountcelebplanlikescelebplanreviewscelbdtcelbObj	countryIDconconObjindianPlansinpinpObjusdValuer-  usdObj	dollarValplanPurposesValpurposesr   valObj	planGoalspartnerNamer   planAbilityValabilitieslistsplanAbilitiesdownloadUsersr^   rr   rs   rs   rt   rp     s*  

<
,


@

"ZV

&&





64
  



64
  


  o



rp   c              
   C   s   z(t jddddddjdd}t }|D ]}t|}|| qtt	|W S  t
yG } ztd	 td
t|iW  Y d }~S d }~ww )Nr5   r1   r<   r=   r:   r   r}   )r   r   rS   )r#   r\   r^   r]   r   r   r   r   rU   rN  re   r   r   r   rf   )rg   rP  r   r   r   rr   rs   rs   rt   gymDetails1U  s   
rs  c                 C   sR  t  }|| }|d }d}d}zyd| jv r%| jd dkr%t| jd }nt}d| jv r;| jd dkr;t| jd }nd}|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}
t
|
}|
||	 }t }|D ]}t|}|| qvt||dW S  ty } ztd tdt|iW  Y d }~S d }~ww )Nr1   r/   zstartorg/gymValues/r   rJ   r   r}   r  organization_id__gymTypeZorganization_id__coverImageZorganization_id__logoorganization_id__gymNameorganization_id__idorganization_id__num_of_usersZorganization_id__fitbaseid organization_id__num_of_trainersorganization_id__aboutGymorganization_id__statusr?   r@   ra   rB   rK   rC   r   r   r   rS   )r   rT   r0   r   r   r$   r\   r   r^   r   r   r   r   r   r   re   r   r   rf   )rg   rh   ri   rj   rl   rm   r   r   r   r   rP  r   rk   r   r   r   rr   rs   rs   rt   	gymValuesb  s6   
@
r{  c                 C   s"  t  }zt| jd}t| d|v r"|d dkr"t|d }nt}d|v r5|d dkr5t|d }nd}|d | }|| }d|  v rKdkrn netj	
ddd	d
ddddddddddddddd}d|d v r|d d dkr|j|d d d}d|d v r|d d dkr|j|d d d}d|d v r|d d dkr|j|d d d}ntj	
ddd	d
ddddddddddddddd}t|}||| }	t }
|	D ]}t|}|
| qt|
|dW S  ty } ztd tdt|iW  Y d }~S d }~ww ) Nr2   r   rJ   r   r}   Zgyminfor  ru  rv  rw  rx  ry  rz  r?   r@   ra   rB   rK   rt  rC   r1   r   Zgymname)Z%organization_id__gymName__istartswithZno_trainers)Z+organization_id__num_of_trainers__icontainsZno_users)Z(organization_id__num_of_users__icontainsr   r   rS   )r   rU   rV   rW   rX   rY   r   r   r$   r\   r   r^   r   r]   r   r   r   r   r   re   r   r   rf   )rg   rh   ZgymDatar   r   r   r   rP  r   Zgymdatar   r   r   rr   rs   rs   rt   	gymSearch  sD   88
r|  c              
   C   s2  t  }|| }|d }t|d  d}d}zZ|d kritjddddddj|d	d	d
}t }|D ]}t|}	|	|	 q1tjddddddj|d	d	d	d}
t }|
D ]}t|}	|	|	 qTt
d||dW S t
dddW S  ty } ztd t|||t| t
dt|iW  Y d }~S d }~ww )Nr1   r/   zstartorg/userplanDetails/r	  r  r   r   r   r}   )r   r  r  )r   r  r   r  T)rE   ZownplansproposedplansFr   rD   r   rS   )r   rT   rY   r   r\   r^   r]   r   r   r   r   re   r   r   r(   rf   )rg   rh   ri   rj   rl   rm   
planValuesr   r   r   r}  ZproposedplansArrrr   rs   rs   rt   userplanDetails  s4   
"$
r  c              
   C   s   t  }|| }|d }d}d}zGt|d d |d krPtjdjdddd}t| | rKt	 }|D ]}t
|}	||	 q7tt|W S td	W S td
ddW S  ty }
 ztd t|||t|
 tdt|
iW  Y d }
~
S d }
~
ww )Nr1   r/   zstartorg/gymplanDetails/Z1234567ur    r   )Z#originalPlanner_id__organization_idr	  zNo Plans AvailableFr   rD   r   rS   )r   rT   rY   r   r\   r   r]   r^   rb   r   r   r   r   rU   rN  r   re   r   r   r(   rf   )rg   rh   ri   rj   rl   rm   gymplansr   r   r   rr   rs   rs   rt   gymplanDetails  s0   


r  c                 C   s  t  }|| }|d }t| jd}|}d}zt|d  d}|d kr|d dkr.d}tjj	|d d
d	dd
dddddd	}t }	|D ]H}
t|
}||d< g }tjj	|d d
dddddddddd
}tjj|d d}|j}||d< |D ]}t|}|| ||d< qz|	| qGtt|	W S tdddW S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww ) Nr1   r2   zstartorg/gymProfile/Frw   rz   Tr   r5   r<   r=   r:   rK   rd   r   r   gymsuperUserr   r?   r@   ra   rB   rO   rP   rC   rH   ordAdressIdr   rD   r   rS   )r   rT   rU   rV   rW   rX   rY   r#   r\   r]   r^   r   r   r$   r    r_   r   r   r   rN  r   re   r   r   r(   rf   )rg   rh   ri   rj   rk   rl   rm   r  rP  r   r   r   rB   Z
gymAddressZuserAddrressr  addZaddObjrr   rs   rs   rt   
gymProfile  sF   
(*


r  c           	   
   C   sF  t  }|| }|d }t| jd}|}d}zat|d  t| |d krstjj	|d d}|d |_
|d |_|d |_|d |_|d	 d kr_d
|d	 v rW|d	 |_nd
|d	  |_nd |_|d |_|  tdddW S tdddW S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww )Nr1   r2   zstartorg/updategymdetails/r8   r   aboutr<   r=   rL   r   rK   Tz Gym profile updated successfullyrD   Fr   r   rS   )r   rT   rU   rV   rW   rX   rY   r#   r\   r_   r5   r:   r<   r=   rd   rK   r`   r   re   r   r   r(   rf   )	rg   rh   ri   rj   rk   rl   rm   rP  rr   rs   rs   rt   updategymdetails	  s<   






r  c              
   C   s  t  }|| }|| }|d }t| jd}|}d}z|d }	|d krt|d t|d }
t|
D ]}d|d | v r|d | d }t|d |d | d }d	|d | d
 v rg|d | d
 }n
d	|d | d
  }t	j
j|d}td ||_||_|  q5d|d | vrtd |d | d }d	|d | d
 v r|d | d
 }n
d	|d | d
  }t	|	|d}||_||_|  q5t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 )Nr1   r2   zstartorg/socialmediainfo/rv   1234567	socialinfz----------------r  r   r  r8   z-----update socialz-----create social01)rN   r   Tz+User Social Information Saved Successfully rD   FrQ   r   rS   )r   rT   rU   rV   rW   rX   rY   r   r   r"   r\   r_   r  r  r`   r   re   r   r   rf   )rg   rh   ri   r1   rj   r   socInforl   rm   r   	rangeDatar   
socialtyper  dupsocailinf	socialurl	socailinfrr   rs   rs   rt   socialmediainfo-  s\   




r  c           
   
   C   s   t  }z?|| }|d }|d }|d kr;tjdddddj|d}g }|D ]}t|}|| q'td|d	W S td
ddW S  t	ya }	 zt
d tdt|	iW  Y d }	~	S d }	~	ww )Nr1   rv   r   rN   r  r  r   T)rE   
socialinfoFrQ   rD   r   rS   )r   rT   r"   r\   r^   r]   r   r   r   re   r   r   rf   )
rg   rh   rj   r   r   ZorgsocialinfZorgsocialArrsdt	socailObjrr   rs   rs   rt   getorgsocialmediainfob  s$   

r  c           
   
   C   s   t  }|| }|d }t| jd}|}d}z3|d }|d krEt||d tjj	|d}|d |_
|  t|j
 tdd	d
W S tddd
W S  tyt }	 ztd t|||t|	 tdt|	iW  Y d }	~	S d }	~	ww )Nr1   r2   zstartorg/uploadlogo/rv   in Herer   imageTImage Uploaded SuccessfullyrD   FrQ   r   rS   )r   rT   rU   rV   rW   rX   rY   r#   r\   r_   r   r`   r   re   r   r   r(   rf   
rg   rh   ri   rj   rk   rl   rm   r   	picUploadrr   rs   rs   rt   
uploadlogox  s,   



r  c           
   
   C   s   t  }|| }|d }t| jd}|}d}z1|d }|d krCtd tjj	|d}|d |_
|  t|j
 tdd	d
W S tddd
W S  tyr }	 ztd t|||t|	 tdt|	iW  Y d }	~	S d }	~	ww )Nr1   r2   zstartorg/uploadCover/rv   r  r   r  Tr  rD   FrQ   r   rS   )r   rT   rU   rV   rW   rX   rY   r#   r\   r_   r   r`   r   re   r   r   r(   rf   r  rs   rs   rt   uploadCover  s,   



r  c           
   
   C      d}t | jd}|}d}z3tjj|d ddd}t| |	 r>t
 }|D ]}t|}|| q*tt |W S tdW S  tyj }	 ztd	 t|||t|	 td
t|	iW  Y d }	~	S d }	~	ww )NNULLr2   zstartorg/gymLogo/OrgIdr   r   r1   No Images Availabler   rS   rU   rV   rW   rX   r#   r\   r]   r^   rY   rb   r   r   r   r   rN  re   r   r   r(   rf   r   
rg   rj   rk   rl   rm   r  r   r   r   rr   rs   rs   rt   gymLogo  (   

r  c           
   
   C   r  )Nr  r2   zstartorg/gymcover/r  r   r   r1   r  r   rS   r  r  rs   rs   rt   gymcover  r  r  c                 C   s  t | jd}|}d}zt| tjj|d dddd}t	jj
|d d	}|j}|D ]&}t|}|d d
krDtddd  W S |d dkrTtddd  W S q.tjjdd|d |d |d |d t|d |d
d	}	d|v r|d dkr|d |	_nd |	_d|v r|d dkr|d |	_nd |	_|	  tdddW S  ty }
 ztd td||t|
 tdt|
iW  Y d }
~
S d }
~
ww )Nr2   zstartorg/gymrequests/rx   ry   rw   rN   r   rv   r6   r   FzRequest Already SentrD   r}   TzUser already existsrJ   r   pword)	r   r   rw   r   rx   ri   passwordrN   r   r   rK   zRequest sent to the GymrR   1rS   )rU   rV   rW   rX   rY   r    r\   r]   r^   r#   r_   r1   r   r   rc   r   r   rK   r`   re   r   rR   r(   rf   )rg   r   rl   rm   ZexistingUsersorgValr   r   r^   r   rr   rs   rs   rt   gymrequests  sP   

r  c                 C   sn  t  }|| }|d }d}d}z~|d }|d krd| jv r-| jd dkr-t| jd }nt}d| jv rC| jd dkrCt| jd }nd}|d | }	|| }
tjj|d	d
d dddddddddd	}t	 }t
|}||	|
 }|D ]}t|}|| qst||dW S tdddW S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww )Nr1   r/   zstartorg/gymRequestsDetails/rv   r   rJ   r   r}   r   r   )rN   r   rw   r   ri   rx   r   r   r   rK   r   r   r   Fr   rD   r   rS   )r   rT   r0   r   r   r    r\   r]   r^   r   r   r   r   r   re   r   r   r(   rf   )rg   rh   ri   rj   rl   rm   r   r   r   r   r   r   r   r   rk   r   r   rr   rs   rs   rt   gymRequestsDetails  s>   
*
r  c              
   C   s$  t  }|| }|d }t| jd}|}d}zP|d }|d krbt|d }t|D ]#}	t|d |	 d  t	j
j|d |	 d d}
d|
_||
_|
  q,t|d d d  td	d
dW S tdddW S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww )Nr1   r2   startorg/acceptrequests/rv   r   r   r}   r   TzRequest accepted successfullyrD   Fr   r   rS   )r   rT   rU   rV   rW   rX   r   r   rY   r    r\   r_   r   r   r`   r   re   r   r   r(   rf   )rg   rh   ri   rj   rk   rl   rm   r   r  r   ZacceptingRequestsrr   rs   rs   rt   acceptrequests(  s2   


r  c              
   C   s.  t  }|| }|d }d}d}z|d krg }g }g }tjjdd }	|	 r8|	D ]}
t|
}||d  q*tjt	dd  }| rX|D ]}t|}||d  qJd}t
jdjd|d	 }| r||D ]}t|}|d
 |d< qmd}|dkrtj jddjd|d}ntj jddjd|d}|D ]=}t|}|d dks|d d krd|d< nt|d  |d< |d dks|d d krd|d< nt|d  |d< || qtdd|dW S tdddW S  ty } ztd t|||t| tdt|iW  Y d }~S d }~ww )Nr1   r/   r  r'  )r)  gym_idFr   r(  r?   r  Tr}   r   )r   id__inr   rJ   r   r   r   r   r   zGym Details)rE   rF   r{  r   rD   r   rS   )r   rT   r   r\   r]   r^   rb   r   r   r	   r!   r   r#   r   r   r   re   r   r   r(   rf   )rg   rh   ri   rj   rl   rm   r   Z	indiaGymsZ	otherGymsZ
indianGymsr   rl  ZotherGymValuesval1valObj1rW  ra  rb  rc  Zgymvalrn   ZgymObjrr   rs   rs   rt   gymListsE  s^   



r  c           
   
   C   s  t  }|| }|d }t| jd}|}d}z t| |d krd|v rntd tjj	|d d}|d |_
|d |_|d |_|d	 |_|d
 |_|d |_|d |_|d |_|d |_|  tdddW S td tjj|d |||d d}d	|v r|d	 dkr|d	 |_nd t_d|v r|d dkr|d |_nd t_d|v r|d dkr|d |_nd t_d|v r|d dkr|d |_nd t_d
|v r|d
 dkr|d
 |_nd |_d|v r|d dkr|d |_
nd |_d|v r|d dkr|d |_nd |_|  tdddW S tdddW S  tyC }	 ztd t|||t|	 tdt|	iW  Y d }	~	S d }	~	ww )Nr1   r2   zstartorg/gymAddressEdit/r7   r8   r?   r@   rB   ra   rC   rO   rK   rP   r   Tz Gym Address updated successfullyrD   rG   r   )rN   rH   rI   r   rJ   zGym Address added succesfullyFrQ   rR   rS   )r   rT   rU   rV   rW   rX   rY   r$   r\   r_   r?   r@   rB   ra   rC   rO   rK   rP   r   r`   r   rc   rp   re   r   rR   r(   rf   )
rg   rh   ri   rj   rk   rl   rm   ro   rq   rr   rs   rs   rt   gymAddressEdit|  sx   











r  c                 C   s   t  }|| }|d }t| jd}|}d}z1t| |d krHtjj	|d d
ddddd	d
dddd
}|D ]}t|}	q9td|	dW S W d S  tyr }
 ztd t|||t|
 tdt|
iW  Y d }
~
S d }
~
ww )Nr1   r2   r3   r   r?   r@   rB   rC   rO   rP   ra   rK   r   TrE   detailsrR   rS   )r   rT   rU   rV   rW   rX   rY   r$   r\   r]   r^   r   r   re   r   rR   r(   rf   )rg   rh   ri   rj   rk   rl   rm   orgAdressInfrS  rT  rr   rs   rs   rt   getGymAddress  s(   
*

r  c           
      C   s   t  }|| }|d }d}z4|d kr@g }tjj|d dddddd	d
dddd
}|D ]}t|}|| q,td|dW S W d S  t	ya }	 zt
d tdt|	iW  Y d }	~	S d }	~	ww )Nr1   r3   rv   r   r?   r@   rB   rC   rO   rP   ra   rK   r   Tr  rR   rS   )r   rT   r$   r\   r]   r^   r   r   r   re   r   rR   rf   )
rg   rh   ri   rj   rm   Z	orgAddArrr  rS  rT  rr   rs   rs   rt   getAddressValues  s$   
*
r  c              
   C   s   t  }|| }|d }t| jd}|}d}dd l}dd l}z7t| jd}	t| |d krOd}
d}	dd	|j
|j|j |
d }td	|d
W S tddd W d S  tyw } ztd tdt|iW  Y d }~S d }~ww )Nr1   r2   zstartorg/creategymtoken/r      zFIT#rJ   )kTr  FrQ   rD   rR   rS   )r   rT   rU   rV   rW   rX   stringrandomrY   rZ   choicesascii_uppercasedigitsr   ZreturnJsonResponsere   r   rR   rf   )rg   rh   ri   rj   rk   rl   rm   r  r  numNresrr   rs   rs   rt   generateKey  s,   
 
r  )fr   rU   datetimer   r  r   dateutil.relativedeltar   django.contrib.auth.hashersr   django.core.mailr   	django.dbr   django.db.modelsr	   Zdjango.formsr
   django.httpr   r   django.shortcutsr   django.template.loaderr   django.views.decorators.cacher   Zpip._internal.req.req_installr   ImportErrorZpip.req.req_installrest_framework.decoratorsr   r   ZCelebrity.modelsr   ZPlan.modelsr   r   r   r   r   Z
Plan.viewsr   r   ZStratFit.settingsr   r   Subscriber.Authenticationr   r   r   Subscriber.modelsr    r!   r"   StratFitOrganization.modelsr#   r$   ZUserplan.modelsr%   r&   r'   ZSubscriber.viewsr(   Zpayment.modelsr)   Zutility.modelsr*   r+   r,   r-   utility.viewsr.   requestsru   r   r   r   r   rp   rs  r{  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rs   rs   rs   rt   <module>   s
   


k
 

 
#

[

H
  C



%





$

!

2





*

#



4

D




