
    pg                     
   d dl 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 d dlT ddlmZ d d	lmZ d d
lmZ d dlmZ d dlZd dl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#T d dl$m%Z% d dl&m&Z& d dl'Z'd dl$m(Z( d dl)Z)d dlmZ d dl*m+Z, d dlm-Z- d dl.m/Z/ d dl0T d dl1Z1d Z2d Z3d Z4 G d de          Z5 G d de          Z6 G d d e          Z7 G d! d"e          Z8 G d# d$e          Z9 G d% d&e          Z: G d' d(e          Z; G d) d*e          Z< G d+ d,e          Z= G d- d.e          Z> G d/ d0e          Z? G d1 d2e          Z@ G d3 d4e          ZA G d5 d6e          ZB G d7 d8e          ZC G d9 d:e          ZD G d; d<e          ZE G d= d>e          ZF G d? d@e          ZG G dA dBe          ZH G dC dDe          ZI G dE dFe          ZJ G dG dHe          ZK G dI dJe          ZL G dK dLe          ZM G dM dNe          ZN G dO dPe          ZO G dQ dRe          ZP G dS dTe          ZQ G dU dVe          ZR G dW dXe          ZS G dY dZe          ZT G d[ d\e          ZU G d] d^e          ZV G d_ d`e          ZW G da dbe          ZX G dc dde          ZY G de dfe          ZZ G dg dhe          Z[ G di dje          Z\ G dk dle          Z] G dm dne          Z^ G do dpe          Z_ G dq dre          Z` G ds dte          Za G du dve          Zb G dw dxe          Zc G dy dze          Zd G d{ d|e          Ze G d} d~e          Zf G d de          Zg G d de          Zh G d de          Zi G d de          Zj G d de          Zk G d de          Zl G d de          Zm G d de          Zn G d de          Zo G d de          Zp G d de          Zq G d de          Zr G d de          Zs G d de          Zt G d de          Zu G d de          Zv G d de          Zw G d de          Zx G d de          Zy G d de          Zz G d de          Z{ G d de          Z| G d de          Z} G d de          Z~ G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdS )    )View)TemplateView)authenticateloginlogout)renderredirect)HttpResponse)*   )forms)messages)mail)render_to_stringN)settings)	Paginator)JsonResponse)login_required)method_decorator)Q)datetime)Count)django_pbkdf2_sha256)HttpResponseRedirect)defaultdictc                     | j                             d          }t          j                            |                                          }|rt          d          S d}t          |d          S )Nemailr   truez)This email does not exist in our databaseFsafe)GETgetUserobjectsfilterfirstr
   r   )requesttextpostmessages       </var/www/html/Investors/ModernInvestors/admin_panel/views.py
checkEmailr-   %   sg      $''--// *	v		7'	g5	)	)	))    c                 "   | j                             dd          }| j                             d          }t          j                            |          }|                    |          dk    rd}t          |d          S t          d          S )	Nr    passwordr   Fz!Please enter the correct passwordr    r   )r"   r#   r$   r%   check_passwordr   r
   )r(   r)   r1   userr+   s        r,   checkLoginPasswordr4   .   s    ##KOOJ''  t ,,!!U**/'	g5	)	)	))	v		r.   c                     | j                             d          }t          j                            | j        j                  }|                    |          dk    rd}t          |d          S t          d          S )Nold_passwordr   Fz%Does not match with the old password.r    r   )	r"   r#   r$   r%   r3   r   r2   r   r
   )r(   r6   r3   r+   s       r,   adminCheckPasswordr7   8   sq    //  w|'9 ::%%..3'	g5	)	)	))	v		r.   c                       e Zd ZdZd Zd ZdS )
AdminLogInzadmin-signin.htmlc                 b    |j         j        rt          d          S t          || j                  S N/admin-dashboardr3   is_authenticatedr   r   template_nameselfr(   s     r,   r#   zAdminLogIn.getD   1    \" 3
1
2
22	*	+	++r.   c                    	 t          j        |j                  }|                                r|j                            d          }|j                            d          }t          ||          }|j        dk    r$t          j	        |d           t          d          S |j        r$t          j	        |d           t          d          S |r4t          ||           t          j        |d           t          d	          S t          j	        |d
           t          d          S t          || j        d|i          S # t           $ r.}t          j        |d           t          d          cY d }~S d }~ww xY w)Nr   r1   )r   r1   Fz/You account has been deactivated by superadmin./admin-loginz+You account has been deleted by superadmin.zLogin successfullyr<   zInvalid email and password.form&Something went wrong.Please try again.zadmin-login)r   AdminSigninFormPOSTis_validcleaned_datar#   r   statusr   errorr	   end_dater   successr   r?   	Exceptionwarning)rA   r(   rE   r   r1   r3   es          r,   r*   zAdminLogIn.postI   s   "


-
-4
mmoo > $$W--E $$Z00H%(;;;D{e^GNOOO^$$$} %^GJKKK^$$$ %GTw 4555())) ^G:;;;^$$$'$,vtn===	 " " "GEFFF
=
!
!!!!!!!"s6   B E  #*E  5E  #E  (E   
E8
#E3-E83E8N__name__
__module____qualname__r?   r#   r*    r.   r,   r9   r9   B   s7        $, , ,
" " " " "r.   r9   c                       e Zd ZdZd Zd ZdS )AdminForgetPasswordzforgot-password.htmlc                 b    |j         j        rt          d          S t          || j                  S r;   r=   r@   s     r,   r#   zAdminForgetPassword.getj   rB   r.   c                    t          j        |j                  }|                                r.|j                            d          }t          j                            |          	                                }d
                    d t          d          D                       }dt          |j                  z   dz   |z   }t          t          j                  |z   }||_        |                                 d}t%          d	d
|i          }	|	}
t          j        }|}t)          j        ||
||g|	           t-          j        |d           t1          d          S t3          || j        d|i          S )Nr   r   r0   c                 d    g | ]-}t          j        t          j        t          j        z             .S rV   )randomchoicestringascii_lettersdigits).0ns     r,   
<listcomp>z,AdminForgetPassword.post.<locals>.<listcomp>t   s,    ]]]afmF$86=$HII]]]r.      z/forgot-admin//zForgot Passwordz forget_admin_password_email.htmllinkhtml_messagez/A link has been successfully sent to your mail.z/admin-forget-passwordrE   )r   AdminForgetPasswordFormrH   rI   rJ   r#   r$   r%   r&   r'   joinrangestrr   r   BASE_URLforgot_password_linksaver   EMAIL_HOST_USERr   	send_mailr   rN   r	   r   r?   )rA   r(   rE   r   	admin_objran_numbaselinkcompletelinksubjectrh   plain_message
from_emailtos                r,   r*   zAdminForgetPassword.posto   sY   		&w|	4	4$	]]__ >!!'**5|""5"1177999WW]]SXY[S\S\]]]^^7#io"6"66<wF8h'((83<$,9!>>7"#EP\G]^^<=(:2>'=*rdVVVVGNOOO
+
,
,,
$,vtn
=
==r.   NrR   rV   r.   r,   rX   rX   h   s7        ', , ,
> > > > >r.   rX   c                       e Zd ZdZd Zd ZdS )ForgetPasswordVerificationzreset-password.htmlc                    t          | j        j                  }|                    d          d         }t          j                            |                                          }|j        dk    rt          |d          S t          j                            ||                                          }|rd}nd}t          || j
        t                                S )	Nre   r   
LinkExpiryzlink_expire.html)r   rn   TF)rl   r(   pathsplitr$   r%   r&   r'   rn   r   r?   locals)rA   r(   rf   
user_emaillink_expiryrr   valids          r,   r#   zForgetPasswordVerification.get   s    	T\		$zz#r"*##J#77==??+%55
+
,
,,l!!*T!RRXXZZ) 555	*688	4	44r.   c                    t          j        |j                  }|                                r#|j                            d          }|j                            d          }t          | j        j                  }|	                    d          d         }t          |           t          j                            |                                          }|rT|                    |           d|_        |                                 t%          j        |d           t)          d          S t%          j        |d	           t)          d          S t-          || j        d
|i          S )Nnew_passwordconfirm_new_passwordre   r   r~   zPassword changed successfullyrD   zSomething went wrongrE   )r   ForgetVerificationFormrH   rI   rJ   r#   rl   r(   r   r   printr$   r%   r&   r'   set_passwordrn   ro   r   rN   r	   rL   r   r?   )rA   r(   rE   r   r   rf   r   user_objs           r,   r*   zForgetPasswordVerification.post   s7   		%gl	3	3$	]]__ >#''77<+//0FGG
dl
 
 4

3#:l!!*!55;;==8 $,'''$0H!MMOOOW=>>>N###N72333N###
$,vtn
=
==r.   NrR   rV   r.   r,   r{   r{      s7        &5 5 5> > > > >r.   r{   c                   N    e Zd ZdZ e ed                    d             ZdS )AdminDashboardzdashboard.htmlrD   	login_urlc                    t           j                            dd                                          }t           j                            dd          d d         }t           j                            dd                                          }t          j                            d                                          }t
          j                            d                                          }t          j                            d                                          }t          j                            d                                          }t          j        	                                }	t           j                            dd          
                    d          }
t          t                    |
D ]}|j        j        }|xx         dz  cc<   g dfd	t          dd
          D             }fdt          dd
          D             }d|dg}t           j                            dd                                          }||d}t!          || j        t%                                S )Nr   Tis_userend_date__isnull   )r   r   r   -id)JanFebMarAprMayJunJulAugSepOctNovDecc                 &    g | ]}|d z
           S )r   rV   )ra   imonth_namess     r,   rc   z&AdminDashboard.get.<locals>.<listcomp>   s"    999qAE"999r.      c                 <    g | ]}                     |d           S )r   )r#   )ra   r   users_by_months     r,   rc   z&AdminDashboard.get.<locals>.<listcomp>   s)    @@@a##Aq))@@@r.   Users)namedata)has_subscriptionr   )
categoriesuser_series_data)r$   r%   r&   countBlogsCategoryEventsInvestmentResearchInvestmentEducationContentCustomerSubscriptionallorder_byr   int
start_datemonthrk   r   r?   r   )rA   r(   total_users	users_objtotal_workerstotal_blogstotal_eventstotal_researchtotal_educationsub_objactive_workerentryr   r   user_countsr   total_subscriberscontextr   r   s                     @@r,   r#   zAdminDashboard.get   s>   ##a4#HHNNPP+|""Q$"GGK),%%tQ%GGMMOO-%,,d,CCIIKK+&&&==CCEE,%-44d4KKQQSS..6==t=TTZZ\\/ (,,..',%%tQ%GGPPQVWW-s##.  e!5%Addd+9999E!RLL999*@@@@5B<<@@@+&<<=l))TUY)ZZ``bb & '
 
*688	4	44r.   NrS   rT   rU   r?   r   r   r#   rV   r.   r,   r   r      sK        !>>N;;;<<5 5 =<5 5 5r.   r   c                   T    e Zd ZdZ e ed                    d             Zd ZdS )AdminProfilezadmin_profile.htmlrD   r   c                 F    t          || j        t                                S Nr   r?   r   r@   s     r,   r#   zAdminProfile.get       	*688	4	44r.   c                 z   t          j        |j                  }|                                ry|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            |j	        j
                                      |||||           |j                            d          rwt          |j                            d                    }d	|z   }t          j                            |j	        j
                                      t          |          
           t          j        |d           t#          d          S t%          || j                  S )N
first_name	last_namer   phone_numberusernameid)r   r   r   r   r   avatarre   r   zUpdate Succesfullyzadmin-profile)r   AdminProfileFormrH   rI   rJ   r#   r$   r%   r&   r3   r   updateFILESuploadTheImagesrl   r   rN   r	   r   r?   )	rA   r(   rE   r   r   r   r   r   fileUrls	            r,   r*   zAdminProfile.post   s   

 
.
.4
mmoo ."&&|44J!%%k22I!!'**E$((88L $$Z00HL7<?++22jS\ch  wC  NV2  W  W  W}"" IW]..x8899W[W	\GLO,,333w<<3HHHW2333O$$$'$,---r.   NrS   rT   rU   r?   r   r   r#   r*   rV   r.   r,   r   r      sZ        %>>N;;;<<5 5 =<5. . . . .r.   r   c                   T    e Zd ZdZ e ed                    d             Zd ZdS )AdminResetPasswordadmin_reset_password.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zAdminResetPassword.get   r   r.   c                 :   	 t          j        |j                  }|                                r|j                            d          }t
          j                            |j        j                  }|	                    |           |
                                 t          |           t          j        |d           t          d          S t          |dd|i          S # t           $ r.}t          j        |d           t          d          cY d }~S d }~ww xY w)	NconfirmPasswordr   z)You have successfully reset your passwordrD   r   rE   rF   admin-dashboard)r   ChangePasswordFormrH   rI   r#   r$   r%   r3   r   r   ro   r   r   infor	   r   rO   rP   )rA   r(   rE   r1   r3   rQ   s         r,   r*   zAdminResetPassword.post   s   &

"7<
0
04
mmoo 
H| 122H|gl&899DhIIKKK
7OOOM'FGGGN### '6GGG	 & & &GEFFF
$
%
%%%%%%%&s$   CC" C" "
D,#DDDNr   rV   r.   r,   r   r      sZ        ,>>N;;;<<5 5 =<5& & & & &r.   r   c                   J    e Zd Z e ed                    d             ZdS )AdminLogoutrD   r   c                 h    t          |           t          j        |d           t          d          S )NzLogout SuccesfullyrD   )r   r   rN   r	   r@   s     r,   r#   zAdminLogout.get   s/    ///
70111	.	!	!!r.   NrS   rT   rU   r   r   r#   rV   r.   r,   r   r      sF        >>N;;;<<" " =<" " "r.   r   c                   T    e Zd ZdZ e ed                    d             Zd ZdS )privacyPolicyzprivacy_policy.htmlrD   r   c                     t           j                            d                                          }t	          || j        t                                S )NPrivacy	page_typeContentPagesr%   r&   r'   r   r?   r   rA   r(   cont_objs      r,   r#   zprivacyPolicy.get
  s@    !((9(==CCEE(	*688	4	44r.   c                 t   t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            d          	                                }|r<t          j                            |j
                                      ||d           n"t          j                            ||d           t          j        |d           t          d          S t!          || j        t%                                S )	Ntitlecontentr   r   r   r   r   r   Updated Successfullyz/privacy-policyr   content_page_formrH   rI   rJ   r#   r   r%   r&   r'   r   r   creater   rN   r	   r   r?   r   rA   r(   rE   r   r   r   s         r,   r*   zprivacyPolicy.post  s   		 	.	.$	]]__ 6  ))5""9--7


%
%	
%
:
:
@
@
B
B4
 Q47++22wYb2cccceGiPPPG3444
$
%
%%
+FHH
5
55r.   Nr   rV   r.   r,   r   r     sZ        &>>N;;;<<5 5 =<56 6 6 6 6r.   r   c                   T    e Zd ZdZ e ed                    d             Zd ZdS )termsAndConditionsz
terms.htmlrD   r   c                     t           j                            d                                          }t	          || j        t                                S )NTermsr   r   r   s      r,   r#   ztermsAndConditions.get!  s@    !((7(;;AACC(	*688	4	44r.   c                 t   t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            d          	                                }|r<t          j                            |j
                                      ||d           n"t          j                            ||d           t          j        |d           t          d          S t!          || j        t%                                S )	Nr   r   r  r   r   r   r   z/terms-and-conditionsr   r   s         r,   r*   ztermsAndConditions.post&  s   		 	.	.$	]]__ 6  ))5""9--7


%
%
%
8
8
>
>
@
@4
 O47++22wY`2aaaaeGgNNNG3444
*
+
++
+FHH
5
55r.   Nr   rV   r.   r,   r   r     sZ        >>N;;;<<5 5 =<56 6 6 6 6r.   r   c                   N    e Zd ZdZ e ed                    d             ZdS )
faqListingzfaq_listing.htmlrD   r   c                 *   t           j                            d                              d          }t	          |d          }|j                            d          }|                    |          }t          || j	        t                                S )NTr   r      page)Faqr%   r&   r   r   r"   r#   get_pager   r?   r   )rA   r(   data_obj	paginatorpage_numberfaq_objs         r,   r#   zfaqListing.get8  sv    [488AA%HH(!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r  r  6  sK        #>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addFaqzadd_faq.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   z
addFaq.getD  r   r.   c                    t          j        |j                  }|                                ry|j                            d          }|j                            d          }t          j                            ||           t          j
        |d           t          d          S t          || j        t                                S )Nr   r   r   r   zCreated Successfully/faq-listing)r   r   rH   rI   rJ   r#   r  r%   r   r   rN   r	   r   r?   r   )rA   r(   rE   r   r   s        r,   r*   zaddFaq.postG  s    		 	.	.$	]]__ 6  ))5""9--7;E'222G3444
>
"
""
+FHH
5
55r.   Nr   rV   r.   r,   r  r  B  sZ        >>N;;;<<5 5 =<5	6 	6 	6 	6 	6r.   r  c                       e Zd ZdZd Zd ZdS )editFaqzedit_faq.htmlc                     t           j                            |d                                          }t	          || j        t                                S NTr   r   )r  r%   r&   r'   r   r?   r   )rA   r(   r   r  s       r,   r#   zeditFaq.getU  sA    K"==CCEE'	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          	                    ||           t          j        |d           t          d          S t          || j        t                                S )Nr   r   r   r  r   r  )r   r   rH   rI   rJ   r#   r  r%   r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r   s         r,   r*   zeditFaq.postY  s    		 	.	.$	]]__ 6  ))5""9--7;##%#@@@G3444
>
"
""
+FHH
5
55r.   NrR   rV   r.   r,   r  r  S  s7         5 5 5	6 	6 	6 	6 	6r.   r  c                       e Zd Zd ZdS )	deleteFaqc                     t           j                            |                              t	          j                               t          j        |d           t          d          S )Nr   rM   zFaq Deleted Successfullyr  )	r  r%   r&   r   r   nowr   rN   r	   rA   r(   r   s      r,   r#   zdeleteFaq.gete  sT    +""HLNN";;;
76777	.	!	!!r.   NrS   rT   rU   r#   rV   r.   r,   r  r  d  s#        " " " " "r.   r  c                       e Zd ZdZd ZdS )userListingzuser_listing.htmlc                 :   t           j                            dd                              d          }|j                            d          }|rvt           j                            t          |          t          |          z  t          |          z  t          |	          z  dd                              d          }|j                            d
          }d}|j                            d          }|r=t           j                            ||dz   |z   gdd                              d          }t          |d          }|j                            d          }|                    |          }	t          || j
        t                                S )Nr   Tr   r   search)phone_number__icontains)first_name__icontains)last_name__icontains)email__icontainsr   z22:44:46.873182+00rM    )start_date__ranger   r   r  r  )r$   r%   r&   r   r"   r#   r   r   r	  r   r?   r   )
rA   r(   r
  search_postsearch_starttime
search_endr  r  cust_objs
             r,   r#   zuserListing.getm  s   \  d CCLLUSS())+ el!!!K"H"H"HalImImIm"mno  FQ  oR  oR  oR  #R  ST  fq  Sr  Sr  Sr  #r  {|  PT!  U  U  ^  ^  _d  e  e8..,	${z*** Ll!!\:PSCSUYCY4Zlpyz!{{  E  E  FK  L  L8!$$)''+,,(	*688	4	44r.   NrS   rT   rU   r?   r#   rV   r.   r,   r"  r"  k  s(        $5 5 5 5 5r.   r"  c                       e Zd ZdZd Zd ZdS )editUserzedit_user.htmlc                 .   t           j                            d          }t          j                            d          }t          j                            |dd                                          }t          || j        t                                S )NTr   r   r   r   r   )	JobFunctionsr%   r&   JobLevelr$   r'   r   r?   r   )rA   r(   r   job_function	job_levelr   s         r,   r#   zeditUser.get  su    %,,d,CC,%%t%<<)\  BqD IIOOQQ(	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            |          }|j                            d          }	t          j                            |	          }
t          j        
                    |d                              |||||
	           |j                            d
          rmt          |j                            d
                    }d|z   }t          j        
                    |                              t          |                     t          j        |d           t#          d          S t%          || j        t)                                S )Nr   r   r   r7  r   r8  r   r   r   )r   r   r   r7  r8  r   re   r   Updated successfully/user-listing)r   editcustomerformrH   rI   rJ   r#   r5  r%   r6  r$   r&   r   r   r   rl   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r   r   r7  job_fun_objr8  job_level_objr   s               r,   r*   zeditUser.post  s   			-	-$	]]__ 6##J//8  ))5#''77<#''77<%))|)<<; $$[119#''Y'77=<"q))00HUbn  J  Ub0  c  c  cm!! ;GM--h7788GKGL2%%S\\%:::G3444
?
#
##
+FHH
5
55r.   NrR   rV   r.   r,   r2  r2  ~  s7        !5 5 56 6 6 6 6r.   r2  c                       e Zd ZdZd ZdS )userDetailszuser_details.htmlc                     t           j                            |dd                                          }t	          || j        t                                S )Nr   Tr4  )r$   r%   r&   r'   r   r?   r   )rA   r(   r   r/  s       r,   r#   zuserDetails.get  sC    \  BqD IIOOQQ(	*688	4	44r.   Nr0  rV   r.   r,   rA  rA    s(        $5 5 5 5 5r.   rA  c                       e Zd Zd ZdS )
deleteUserc                     t           j                            |d                              t	          j                               t          j        |d           t          d          S )Nr   r:  r  zUser Deleted Successfullyr<  )	r$   r%   r&   r   r   r  r   rN   r	   r  s      r,   r#   zdeleteUser.get  sV    r!,,33X\^^3LLL"=>>>(((r.   Nr   rV   r.   r,   rD  rD    s#        ) ) ) ) )r.   rD  c                       e Zd ZdZd ZdS )adminNotificationszadmin_notifications.htmlc                     t           j                                                            d          }t	          || j        t                                S )Nr   )AdminNotificationsr%   r   r   r   r?   r   )rA   r(   
notify_objs      r,   r#   zadminNotifications.get  s=    !)--//88??*	*688	4	44r.   Nr0  rV   r.   r,   rG  rG    s(        +5 5 5 5 5r.   rG  c                       e Zd Zd ZdS )deleteAdminNotificationsc                    	 |j         dk    r|j                            d          }|rgd |                    d          D             }t          j                            |                                           t          j	        |d           nt          j
        |d           t          d          S t          d          S # t          $ r.}t          j        |d	           t          d
          cY d }~S d }~ww xY w)Nr"   	delete_idc                 ,    g | ]}t          |          S rV   )r   )ra   r   s     r,   rc   z0deleteAdminNotifications.get.<locals>.<listcomp>  s    "D"D"Dr3r77"D"D"Dr.   ,)pk__inzDeleted Sucessfullyz*At least One notification must be selectedz/admin-notificationsrF   r   )methodr"   r#   r   rI  r%   r&   deleter   rN   rL   r	   rO   rP   )rA   r(   idsint_id_listrQ   s        r,   r#   zdeleteAdminNotifications.get  s   	/~&&kook22 Y"D"DSYYs^^"D"D"DK&.55[5IIPPRRR$W-BCCCCN7+WXXX 6777   6777 	/ 	/ 	/W&NOOO-........	/s$   B1C 4C 
C;#C60C;6C;Nr   rV   r.   r,   rL  rL    s#        / / / / /r.   rL  c                       e Zd ZdZd ZdS )helpAndSupportListzhelp_support_list.htmlc                 (   t           j                                                                        }t           j                            d                                          }t           j                            d                                          }t           j                                        }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S )NT)rK   Fr  r  )HelpSupportr%   r   r   r&   r   r"   r#   r	  r   r?   r   )	rA   r(   totalresolvedpendinghelp_objr  r  sup_objs	            r,   r#   zhelpAndSupportList.get  s    


!
!
#
#
)
)
+
+% '''66<<>>(&&&66<<>>' $$&&(!$$)''+{++'	*688	4	44r.   Nr0  rV   r.   r,   rW  rW    s(        )5 5 5 5 5r.   rW  c                   N    e Zd ZdZ e ed                    d             ZdS )viewHelpAndSupportzhelp_support_view.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S Nr   rY  r%   r&   r'   r   r?   r   )rA   r(   r   r^  s       r,   r#   zviewHelpAndSupport.get  s@    &&"&--3355'	*688	4	44r.   Nr   rV   r.   r,   r`  r`    sK        )>>N;;;<<5 5 =<5 5 5r.   r`  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )sendReplyHelpSupportzhelp_support_reply.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  rc  )rA   r(   r   helps       r,   r#   zsendReplyHelpSupport.get  s@    


$
$
$
+
+
1
1
3
3$	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }t          d|||d          }|}d}	|}
t          j        |||	|
g|           t          j
                            |                              |t          j                                        d	
           t          j        |d           t#          d          S t%          || j        t)                                S )Nr   rv   replyzsupport_email.html)
reply_textr   rv   ztesteresfera@gmail.comrg   r   T)ri  
reply_daterK   zsend successfullyz/help-and-support-list)r   sendsupportformrH   rI   rJ   r#   r   r   rq   rY  r%   r&   r   r   r  r   rN   r	   r   r?   r   )rA   r(   r   rE   r   rv   ri  rh   rw   rx   ry   s              r,   r*   zsendReplyHelpSupport.post  s)   		w|	,	,$	]]__ 6!!'**5""9--7  ))5"#7V[fm9n9noo<=(:2>'=*rdVVVV$$++%XEVEZEZE\E\dh+iiiG0111
+
,
,,
+FHH
5
55r.   Nr   rV   r.   r,   re  re    sZ        *>>N;;;<<5 5 =<56 6 6 6 6r.   re  c                   N    e Zd ZdZ e ed                    d             ZdS )ratingsFeedbackListzservice_feedback_list.htmlrD   r   c                     t           j                                        }t          |d          }|j                            d          }|                    |          }t          || j        t                                S Nr  r  )
RatingAndFeedbackr%   r   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  service_objs         r,   r#   zratingsFeedbackList.get  sd    &**,,(!$$)''+"";//+	*688	4	44r.   Nr   rV   r.   r,   rn  rn    sK        ->>N;;;<<5 5 =<5 5 5r.   rn  c                   N    e Zd ZdZ e ed                    d             ZdS )viewRatingsFeedbackzservice_feedback_view.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )rq  r%   r&   r'   r   r?   r   )rA   r(   r   rr  s       r,   r#   zviewRatingsFeedback.get  s@    !)00B077==??+	*688	4	44r.   Nr   rV   r.   r,   rt  rt    sK        ->>N;;;<<5 5 =<5 5 5r.   rt  c                   N    e Zd ZdZ e ed                    d             ZdS )subscriptionListzsubscription_listing.htmlrD   r   c                 8   	 t           j                            d          }|j                            d          }|rBt           j                            t          |          d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w)
NTr   r$  )subscription_name__icontainsr   r  r  rF   r   )SubscriptionPlansr%   r&   r"   r#   r   r   r   r	  r   r?   r   rO   r   rP   r	   )rA   r(   
method_objr+  r  r  r
  rQ   s           r,   r#   zsubscriptionList.get  s   &!)00$0GG:**; G"*11!Q\2]2]2]qu1vv  AF  G  GJQ''9((;  --8
+FHH
5
55	 & & &GEFFF
$
%
%%%%%%%&s   CC! !
D+#DDDNr   rV   r.   r,   rw  rw    sK        ,>>N;;;<<& & =<& & &r.   rw  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addSubscriptionPlanzadd_subscription.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddSubscriptionPlan.get  r   r.   c                 j   t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            ||||||          }	t          j
        |d           t          d	          S t          || j        t                                S )
Nsubscription_namesubscription_descriptiondurationpriceunlock_realinvestment_tool)r  r  r  r  r  r  zAdded Succesfully/subscription-list)r   subscriptionformrH   rI   rJ   r#   rz  r%   r   r   rN   r	   r   r?   r   )
rA   r(   rE   r  r  r  r  r  r  r{  s
             r,   r*   zaddSubscriptionPlan.post#  s%   			-	-$	]]__ 6(,,-@AA"/334NOO##J//8  ))5"&&}55;&**+<==?!)00Jb  vG  QY  `e#O 1 E E:G0111
'
(
((
+FHH
5
55r.   Nr   rV   r.   r,   r}  r}    sZ        (>>N;;;<<5 5 =<56 6 6 6 6r.   r}  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editSubscriptionPlanedit_subscription.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )rz  r%   r&   r'   r   r?   r   )rA   r(   r   r{  s       r,   r#   zeditSubscriptionPlan.get7  s@     (//2/66<<>>*	*688	4	44r.   c                    	 t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            |          	                    |||||          }	t          j        |d           t          d	          S t          |d
          S # t          $ r.}
t          j        |d           t          d          cY d }
~
S d }
~
ww xY w)Nr  r  r  r  r  r   )r  r  r  r  r  zUpdated Succesfullyr  r  rF   r   )r   r  rH   rI   rJ   r#   rz  r%   r&   r   r   rN   r	   r   rO   rP   )rA   r(   r   rE   r  r  r  r  r  r{  rQ   s              r,   r*   zeditSubscriptionPlan.post<  sh   &

 
.
.4
mmoo 
4)--.ABB $$Z00H!!'**E#''66K'++,=>>O"*11R188??Rcmu  }B  OZ  kz?  {  {JW3444()))'2333	 & & &GEFFF
$
%
%%%%%%%&s$   D
D D 
E'#E
EENr   rV   r.   r,   r  r  5  sZ        )>>N;;;<<5 5 =<5& & & & &r.   r  c                   J    e Zd Z e ed                    d             ZdS )changeSubscriptionStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w)
Nmain_idr   rK   1z Subscription status is activatedHTTP_REFERERz"Subscription status is deactivatedrF   r   )rz  r%   r#   rH   rK   ro   r   rN   r
   METArL   rO   rP   r	   rA   r(   pubrQ   s       r,   r*   zchangeSubscriptionStatus.postO  s   &!)--7<	3J-KK3X&3:88:::	jCW@AAA((88999N7@AAA((88999	 & & &GEFFF
$
%
%%%%%%%&$   BC ;C 
D #D	D	DNrS   rT   rU   r   r   r*   rV   r.   r,   r  r  N  F        >>N;;;<<& & =<& & &r.   r  c                   J    e Zd Z e ed                    d             ZdS )deleteSubscriptionMethodrD   r   c                     t           j                            |                              t	          j                               t          j        |d           t          d          S )Nr   r  Deleted successfullyr  )	rz  r%   r&   r   r   r  r   rN   r	   r  s      r,   r#   zdeleteSubscriptionMethod.get`  sV    ""b"))00(,..0III
72333	&	'	''r.   Nr   rV   r.   r,   r  r  _  sF        >>N;;;<<( ( =<( ( (r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )blogCategoryListingzblog_category_listing.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rBt           j                            t          |          d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S NTr   r   r$  name__icontainsr  r  )r   r%   r&   r   r"   r#   r   r   r	  r   r?   r   rA   r(   r
  r+  r  r  cat_objs          r,   r#   zblogCategoryListing.getj  s    "))T)BBKKERR())+ s#**1[+I+I+I]a*bbkklqrr8!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r  r  h  sK        ->>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addBlogCategoryzadd_blog_category.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddBlogCategory.getx  s     
*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          }t          j                            ||          }t          j
        |d           t          d          S t          || j        t                                S Nr   categoryr   r   r  Created successfully/blog-category-listing)r   addblogcategoryformrH   rI   rJ   r#   r   r%   r   r   rN   r	   r   r?   r   )rA   r(   rE   r   r  category_objr  s          r,   r*   zaddBlogCategory.post}  s    		"7<	0	0$	]]__ 6




'
'4##J//8'++x+88<")))NN7G3444
+
,
,,
+FHH
5
55r.   Nr   rV   r.   r,   r  r  v  sZ        )>>N;;;<<5 5 =<5
6 
6 
6 
6 
6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editBlogCategoryzedit_blog_category.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )r   r%   r&   r'   r   r?   r   rA   r(   r   r  s       r,   r#   zeditBlogCategory.get  s@    "))R)006688'	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          }t          j                            |          	                    ||           t          j        |d           t          d          S t          || j        t                                S r  )r   r  rH   rI   rJ   r#   r   r%   r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r  r  s          r,   r*   zeditBlogCategory.post  s    

#GL
1
1$	]]__ 6




'
'4##J//8'++x+88<2&&--T<-PPPG3444
+
,
,,
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        *>>N;;;<<5 5 =<5
6 
6 
6 
6 
6r.   r  c                   J    e Zd Z e ed                    d             ZdS )changeBlogCategoryStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w
Nr  r   rK   r  zCategory status is activatedr  zCategory is deactivatedrF   r   )r   r%   r#   rH   rK   ro   r   rN   r
   r  rL   rO   rP   r	   r  s       r,   r*   zchangeBlogCategoryStatus.post  s   &%))w|I/F)GG3X&3:88:::	jCW<===((88999N75666((88999	 & & &GEFFF
$
%
%%%%%%%&r  Nr  rV   r.   r,   r  r    r  r.   r  c                   J    e Zd Z e ed                    d             ZdS )deleteBlogCategoryrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  Category deleted successfullyr  )r   r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteBlogCategory.get  sp    #**bD*JJPPRR'&**,,'	,,...
7;<<<	*	+	++r.   Nr   rV   r.   r,   r  r    sF        >>N;;;<<, , =<, , ,r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )blogListingzblog_listing.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rSt           j                            t          |          t          |          z  d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S )	NTr   r   r$  category__name__icontainstitle__icontainsr  r  )Blogsr%   r&   r   r"   r#   r   r   r	  r   r?   r   )rA   r(   r
  r+  r  r  blog_objs          r,   r#   zblogListing.get  s    ]!!T!::CCEJJ())+ Wm""1#M#M#MaalNmNmNm#m  BF"  G  G  P  P  QV  W  W8!$$)''+,,(	*688	4	44r.   Nr   rV   r.   r,   r  r    sK        $>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addBlogzadd_blog.htmlrD   r   c                     t           j                            d          }t          || j        t                                S NTr   )r   r%   r&   r   r?   r   rA   r(   r  s      r,   r#   zaddBlog.get  s4    #**D*AA(	*688	4	44r.   c                    t          j        |j                  }|                                r-|j                            d          }|j                            d          }|j                            d          }t          j                            |          }t          j        	                    ||||j
        j                  }|j                            d          rTt          |j                            d                    }d|z   }t          |          |_        |                                 t#          j        |d           t'          d	          S t)          || j        t-                                S )
Nr   r   r  r   r   r   r  r3   
blog_imagere   r  /blog-listing)r   addblogformrH   rI   rJ   r#   r   r%   r  r   r3   r   r   r   rl   r  ro   r   rN   r	   r   r?   r   )	rA   r(   rE   r   r   r  r  r  r   s	            r,   r*   zaddBlog.post  s8   		7<	(	($	]]__ 6  ))5##I..7##J//8 (,,,99<m""5,^e^j^m"nn8m%% GM--l;;<<GKGg,,HMMOOOG3444
?
#
##
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ         >>N;;;<<5 5 =<56 6 6 6 6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editBlogzedit_blog.htmlrD   r   c                     t           j                            d          }t          j                            |                                          }t          || j        t                                S )NTr   r   )r   r%   r&   r  r'   r   r?   r   )rA   r(   r   r  r  s        r,   r#   zeditBlog.get  sX    #**D*AA(m""b"))//11(	*688	4	44r.   c                 V   t          j        |j                  }|                                rZ|j                            d          }|j                            d          }|j                            d          }t          j                            |          }t          j        	                    |          
                    ||||j        j                   |j                            d          rmt          |j                            d                    }d|z   }t          j        	                    |          
                    t          |                     t!          j        |d	           t%          d
          S t'          || j        t+                                S )Nr   r   r  r   r  r  re   )r  r  r  )r   r  rH   rI   rJ   r#   r   r%   r  r&   r   r3   r   r   r   rl   r   rN   r	   r   r?   r   )	rA   r(   r   rE   r   r   r  r  r   s	            r,   r*   zeditBlog.post  s`   

GL
)
)$	]]__ 6  ))5##I..7##J//8 (,,,99<=2%%eG\ahamap%qqqm%% BGM--l;;<<GKG	MB&&CLL&AAAG3444
?
#
##
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        !>>N;;;<<5 5 =<5
6 6 6 6 6r.   r  c                   J    e Zd Z e ed                    d             ZdS )changeBlogStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w)
Nr  r   rK   r  zBlog status is activatedr  zBlog is deactivatedrF   r   )r  r%   r#   rH   rK   ro   r   rN   r
   r  rL   rO   rP   r	   r  s       r,   r*   zchangeBlogStatus.post  s   &!!w|I'>!??3X&3:88:::	jCW8999((88999N71222((88999	 & & &GEFFF
$
%
%%%%%%%&r  Nr  rV   r.   r,   r  r    r  r.   r  c                   J    e Zd Z e ed                    d             ZdS )
deleteBlogrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  zBlog deleted successfullyr  )r  r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteBlog.get  sn    m""bD"BBHHJJ'&**,,'	,,...
77888	/	"	""r.   Nr   rV   r.   r,   r  r    sF        >>N;;;<<# # =<# # #r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )communityPostzcommunity_post.htmlrD   r   c                    t           j                            d          }t          |d          }|j                            d          }|                    |          }t          || j        t                                S NTr   r  r  )
	Communityr%   r&   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  com_objs         r,   r#   zcommunityPost.get  si    %%%>>(!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r  r    sK        &>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editCommunityPostzedit_community_post.htmlrD   r   c                     t           j                            |d                                          }t	          || j        t                                S r  )r  r%   r&   r'   r   r?   r   )rA   r(   r   r  s       r,   r#   zeditCommunityPost.get&  sB    $$d$CCIIKK'	*688	4	44r.   c                    t          j        |j                  }|                                rs|j                            d          }t          j                            |d          	                    |           t          j        |d           t          d          S t          || j        t                                S )Nr   Tr  )r   r;  z/community-post)r   editcommunityformrH   rI   rJ   r#   r  r%   r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   s        r,   r*   zeditCommunityPost.post,  s    

!',
/
/$	]]__ 6""9--7rT::AA'ARRRG3444
$
%
%%
+FHH
5
55r.   Nr   rV   r.   r,   r  r  $  sZ        +>>N;;;<<5 5 =<5
6 6 6 6 6r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )getSubscriberszsubscriber_listing.htmlrD   r   c                     t           j                                        }t          |d          }|j                            d          }|                    |          }t          || j        t                                S rp  )
r   r%   r   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  r   s         r,   r#   zgetSubscribers.get;  sd    !)--//(!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r  r  9  sK        *>>N;;;<<5 5 =<5 5 5r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )getWebinarListingzwebinar_listing.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zgetWebinarListing.getF  r   r.   Nr   rV   r.   r,   r  r  D  sK        '>>N;;;<<5 5 =<5 5 5r.   r  c                       e Zd ZdZd ZdS )getWebinarDetailszwebinar_details.htmlc                 F    t          || j        t                                S r   r   r@   s     r,   r#   zgetWebinarDetails.getN  s    	*688	4	44r.   Nr0  rV   r.   r,   r  r  L  s(        '5 5 5 5 5r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )eventListingzevent_listing.htmlrD   r   c                    t           j                            d          }t          |d          }|j                            d          }|                    |          }t          || j        t                                S r  )
r   r%   r&   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  	event_objs         r,   r#   zeventListing.getU  sh    ^""d";;(!$$)''+  --)	*688	4	44r.   Nr   rV   r.   r,   r  r  S  sK        %>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addEventzadd_event.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddEvent.get`  r   r.   c           	         t          j        |j                  }|                                r~|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            |j        j	                  }	t          j                            |||||||	          }
|j                            d	          rTt          |j                            d	                    }d
|z   }t          |          |
_        |
                                 t#          j        |d           t'          d          S t)          || j        t-                                S )N
event_namedescriptiondate
start_timeend_timelocationr   )r  r  r  r  r  r  r3   event_imagere   r  /event-listing)r   addEventformrH   rI   rJ   r#   r$   r%   r3   r   r   r   r   r   rl   r  ro   r   rN   r	   r   r?   r   )rA   r(   rE   r  r  r  r  r  r  r   r  r   s               r,   r*   zaddEvent.postd  s   

W\
*
*$	]]__ 6!%%l33:"&&}55;




'
'4!%%l33:##J//8##J//8lGLO448~$$
{X\hr  }E  OW  _g$  h  h9m&& GM--m<<==GKGLLINNG3444
#
$
$$
+FHH
5
55r.   Nr   rV   r.   r,   r  r  ^  sZ        !>>N;;;<<5 5 =<56 6 6 6 6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )	editEventzedit_event.htmlrD   r   c                     t           j                            |          }t          || j        t                                S rb  )r   r%   r#   r   r?   r   )rA   r(   r   r  s       r,   r#   zeditEvent.get|  s3    n  B '')	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }	t          j                            |          	                    ||||||	          }
|j
                            d	          rmt          |j
                            d	                    }d
|z   }t          j                            |          	                    t          |                     t          j        |d           t          d          S t!          || j        t%                                S )Nr  r  r  r  r  r  r   )r  r  r  r  r  r  r  re   )r  r;  r  )r   r  rH   rI   rJ   r#   r   r%   r&   r   r   r   rl   r   rN   r	   r   r?   r   )rA   r(   r   rE   r  r  r  r  r  r  r  r   s               r,   r*   zeditEvent.post  s   

W\
*
*$	]]__ 6!%%l33:"&&}55;




'
'4!%%l33:##J//8##J//8~$$$++22jU`fj  wA  KS  ]e2  f  f9m&& DGM--m<<==GKG
NR  ''c'll'CCCG3444
#
$
$$
+FHH
5
55r.   Nr   rV   r.   r,   r   r   z  sZ        ">>N;;;<<5 5 =<5
6 6 6 6 6r.   r   c                   N    e Zd ZdZ e ed                    d             ZdS )	viewEventzview_event.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )r   r%   r&   r'   r   r?   r   )rA   r(   r   view_objs       r,   r#   zviewEvent.get  s?    ^""b"))//11(	*688	4	44r.   Nr   rV   r.   r,   r  r    sK        ">>N;;;<<5 5 =<5 5 5r.   r  c                   J    e Zd Z e ed                    d             ZdS )deleteEventrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  zEvent deleted successfullyr  )r   r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteEvent.get  so    n##rT#CCIIKK'&**,,'	,,...
78999	"	#	##r.   Nr   rV   r.   r,   r  r    sF        >>N;;;<<$ $ =<$ $ $r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )reportSectionzreport_section.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zreportSection.get  r   r.   Nr   rV   r.   r,   r  r    sK        &>>N;;;<<5 5 =<5 5 5r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )investeduCategoryzinvest_edu_category.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rBt           j                            t          |          d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S r  )InvestmentEducationCategoryr%   r&   r   r"   r#   r   r   r	  r   r?   r   r  s          r,   r#   zinvesteduCategory.get  s    (0777NNWWX]^^())+ C)188[9Y9Y9Ymq8rr{{  }B  C  C8!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r  r    sK        +>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addInvesteduCategoryzadd_invest_edu_category.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddInvesteduCategory.get  r   r.   c                    t          j        |j                  }|                                ry|j                            d          }|j                            d          }t          j                            ||           t          j
        |d           t          d          S t          || j        t                                S )Nr   is_subscriptionr   r  Added successfully/invest-edu-category)r   addInvestEduCategoryFormrH   rI   rJ   r#   r  r%   r   r   rN   r	   r   r?   r   )rA   r(   rE   r   r  s        r,   r*   zaddInvesteduCategory.post  s    

(
6
6$	]]__ 6




'
'4'++,=>>?&--4-XXXG1222
)
*
**
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        />>N;;;<<5 5 =<5	6 	6 	6 	6 	6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editInvesteduCategoryzedit_invest_edu_category.htmlrD   r   c                     t           j                            |d                                          }t	          || j        t                                S r  )r  r%   r&   r'   r   r?   r   r  s       r,   r#   zeditInvesteduCategory.get  sB    '/66"t6TTZZ\\'	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |d          	                    ||           t          j        |d           t          d          S t          || j        t                                S )Nr   r  Tr  r  r;  r  )r   r  rH   rI   rJ   r#   r  r%   r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r  s         r,   r*   zeditInvesteduCategory.post  s    

(
6
6$	]]__ 6




'
'4'++,=>>?&--"t-LLSSY]n}S~~~G3444
)
*
**
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        0>>N;;;<<5 5 =<5	6 	6 	6 	6 	6r.   r  c                   J    e Zd Z e ed                    d             ZdS )deleteInvesteduCategoryrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  r  r  )r  r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteInvesteduCategory.get  sq    )188BRV8XX^^``'&**,,'	,,...
7;<<<	(	)	))r.   Nr   rV   r.   r,   r  r    sF        >>N;;;<<* * =<* * *r.   r  c                   J    e Zd Z e ed                    d             ZdS )changeInvesteduCategoryStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY wr  )r  r%   r#   rH   rK   ro   r   rN   r
   r  rL   rO   rP   r	   r  s       r,   r*   z"changeInvesteduCategoryStatus.post  s   &+377W\)=T7UU3X&3:88:::	jCW<===((88999N75666((88999	 & & &GEFFF
$
%
%%%%%%%&r  Nr  rV   r.   r,   r"  r"    r  r.   r"  c                   N    e Zd ZdZ e ed                    d             ZdS )investeduSubCategoryzinvest_edu_sub_category.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rSt           j                            t          |          t          |          z  d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S )	NTr   r   r$  r  r  r  r  )InvestmentEducationSubCategoryr%   r&   r   r"   r#   r   r   r	  r   r?   r   r  s          r,   r#   zinvesteduSubCategory.get  s
   +3::D:QQZZ[`aa())+ q,4;;AZe<f<f<fgh  |G  hH  hH  hH  =H  \`;  a  a  j  j  kp  q  q8!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   r%  r%    sK        />>N;;;<<5 5 =<5 5 5r.   r%  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addInvesteduSubCategoryzadd_invest_edu_subcategory.htmlrD   r   c                     t           j                            d          }t          || j        t                                S r  )r  r%   r&   r   r?   r   )rA   r(   main_categorys      r,   r#   zaddInvesteduSubCategory.get  s4    -5<<d<SS-	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          }t          j        	                    ||           t          j        |d           t          d          S t          || j        t                                S )Nr   r  r   r  r  /invest-edu-subcategory)r   addInvestEduSubCategoryFormrH   rI   rJ   r#   r  r%   r'  r   r   rN   r	   r   r?   r   )rA   r(   rE   r   r  r  s         r,   r*   zaddInvesteduSubCategory.post  s    

+GL
9
9$	]]__ 6




'
'4"":..7-599w9GG<!)00dl0SSSG1222
,
-
--
+FHH
5
55r.   Nr   rV   r.   r,   r)  r)  
  sZ        2>>N;;;<<5 5 =<5
6 
6 
6 
6 
6r.   r)  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editInvesteduSubCategoryz edit_invest_edu_subcategory.htmlrD   r   c                     t           j                            d          }t          j                            |d                                          }t          || j        t                                S NTr   r  )r  r%   r&   r'  r'   r   r?   r   )rA   r(   r   r+  r  s        r,   r#   zeditInvesteduSubCategory.get  s\    -5<<d<SS-*299RRV9WW]]__'	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          }t          j        	                    |          
                    ||           t          j        |d           t          d          S t          || j        t!                                S )Nr   r  r   r  r;  r-  )r   r.  rH   rI   rJ   r#   r  r%   r'  r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r  r  s          r,   r*   zeditInvesteduSubCategory.post%  s    

+GL
9
9$	]]__ 6




'
'4"":..7-599w9GG<!)00R088??TUa?bbbG3444
,
-
--
+FHH
5
55r.   Nr   rV   r.   r,   r0  r0    sZ        3>>N;;;<<5 5 =<5

6 
6 
6 
6 
6r.   r0  c                   J    e Zd Z e ed                    d             ZdS )deleteInvesteduSubCategoryrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  z SubCategory deleted successfullyr-  )r'  r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteInvesteduSubCategory.get4  sq    ,4;;rUY;[[aacc'&**,,'	,,...
7>???	+	,	,,r.   Nr   rV   r.   r,   r5  r5  3  sF        >>N;;;<<- - =<- - -r.   r5  c                   J    e Zd Z e ed                    d             ZdS ) changeInvesteduSubCategoryStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w)
Nr  r   rK   r  zSubCategory status is activatedr  zSubCategory is deactivatedrF   r   )r'  r%   r#   rH   rK   ro   r   rN   r
   r  rL   rO   rP   r	   r  s       r,   r*   z%changeInvesteduSubCategoryStatus.post>  s   &.6::Y@W:XX3X&3:88:::	jCW?@@@((88999N78999((88999	 & & &GEFFF
$
%
%%%%%%%&r  Nr  rV   r.   r,   r8  r8  =  r  r.   r8  c                   N    e Zd ZdZ e ed                    d             ZdS )investmentEducationListingzinvest_edu_listing.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rSt           j                            t          |          t          |          z  d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S 	NTr   r   r$  )sub_category__name__icontainsr  r  r  )r   r%   r&   r   r"   r#   r   r   r	  r   r?   r   )rA   r(   r
  r+  r  r  content_objs          r,   r#   zinvestmentEducationListing.getR  s
   '/666MMVVW\]]())+ r(077Ze8f8f8fgh  }H  hI  hI  hI  9I  ]a7  b  b  k  k  lq  r  r8!$$)''+"";//+	*688	4	44r.   Nr   rV   r.   r,   r;  r;  P  sK        *>>N;;;<<5 5 =<5 5 5r.   r;  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addInvestmentEducationzadd_invest_edu.htmlrD   r   c                     t           j                            d          }t          || j        t                                S r  )r'  r%   r&   r   r?   r   r  s      r,   r#   zaddInvestmentEducation.get`  s4    +3::D:QQ(	*688	4	44r.   c                    t          j        |j                  }|                                r"|j                            d          }|j                            d          }|j                            d          }t          j                            |          }t          j        	                    |||          }|j
                            d          rTt          |j
                            d                    }d|z   }t          |          |_        |                                 t          j        |d           t#          d	          S t%          || j        t)                                S )
Nr   r   r  r   r   r   sub_categoryvideore   r  /investment-education-listing)r   addInvestEduContentFormrH   rI   rJ   r#   r'  r%   r   r   r   r   rl   rF  ro   r   rN   r	   r   r?   r   )	rA   r(   rE   r   r   r  r  r   r   s	            r,   r*   zaddInvestmentEducation.poste  s1   

'
5
5$	]]__ 6  ))5""9--7 $$Z00808<<(<KK<(077eGam7nn8m   GM--g6677GKG\\HNMMOOOG3444
2
3
33
+FHH
5
55r.   Nr   rV   r.   r,   rA  rA  ^  sZ        &>>N;;;<<5 5 =<56 6 6 6 6r.   rA  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editInvestmentEducationzedit_invest_edu.htmlrD   r   c                     t           j                            d          }t          j                            |d                                          }t          || j        t                                S r2  )r'  r%   r&   r   r'   r   r?   r   )rA   r(   r   r  r   s        r,   r#   zeditInvestmentEducation.get}  s\    +3::D:QQ((077RQU7VV\\^^(	*688	4	44r.   c                 @   t          j        |j                  }|                                rO|j                            d          }|j                            d          }|j                            d          }t          j                            |          }t          j        	                    |          
                    |||          }|j                            d          rmt          |j                            d                    }	d|	z   }	t          j        	                    |          
                    t          |	                     t          j        |d	           t!          d
          S t#          || j        t'                                S )Nr   r   r  r   rD  rF  re   rF  r;  rG  )r   rH  rH   rI   rJ   r#   r'  r%   r   r&   r   r   r   rl   r   rN   r	   r   r?   r   )
rA   r(   r   rE   r   r   r  r  r   r   s
             r,   r*   zeditInvestmentEducation.post  s[   

'
5
5$	]]__ 6  ))5""9--7 $$Z00808<<(<KK<(077R7@@GGe\cq}G~~8m   TGM--g6677GKG&--2-66==c'll=SSSG3444
2
3
33
+FHH
5
55r.   Nr   rV   r.   r,   rJ  rJ  {  sZ        '>>N;;;<<5 5 =<5
6 6 6 6 6r.   rJ  c                   J    e Zd Z e ed                    d             ZdS )deleteInvesteduContentrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  z)Investment education deleted successfullyrG  )r   r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteInvesteduContent.get  sq    (0772QU7WW]]__'&**,,'	,,...
7GHHH	1	2	22r.   Nr   rV   r.   r,   rO  rO    sF        >>N;;;<<3 3 =<3 3 3r.   rO  c                   J    e Zd Z e ed                    d             ZdS )changeInvesteduContentStatusrD   r   c                 "   	 t           j                            |j        d                   }|j        d         |_        |                                 |j        dk    r<t          j        |d           t          |j	                            d                    S t          j
        |d           t          |j	                            d                    S # t          $ r.}t          j        |d           t          d	          cY d }~S d }~ww xY w)
Nr  r   rK   r  zInvestment status is activatedr  zInvestment is deactivatedrF   r   )r   r%   r#   rH   rK   ro   r   rN   r
   r  rL   rO   rP   r	   r  s       r,   r*   z!changeInvesteduContentStatus.post  s   &*266GL<S6TT3X&3:88:::	jCW>???((88999N77888((88999	 & & &GEFFF
$
%
%%%%%%%&r  Nr  rV   r.   r,   rR  rR    r  r.   rR  c                   N    e Zd ZdZ e ed                    d             ZdS )jobFunctionListingzjob_function_listing.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rBt           j                            t          |          d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S )NTr   r   r$  r  r  r  )r5  r%   r&   r   r"   r#   r   r   r	  r   r?   r   rA   r(   r
  r+  r  r  job_objs          r,   r#   zjobFunctionListing.get  s    !(($(??HHOO())+ u"))!{*K*K*K_c)ddmmnstt8!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   rU  rU    sK        ,>>N;;;<<5 5 =<5 5 5r.   rU  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )jobAddFunctionzadd_job_function.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zjobAddFunction.get  r   r.   c                 \   t          j        |j                  }|                                r^|j                            d          }t          j                            |          }t          j
        |d           t          d          S t          || j        t                                S )Nr   r   r  /job-function-listing)r   addJobFunctionFormrH   rI   rJ   r#   r5  r%   r   r   rN   r	   r   r?   r   rA   r(   rE   r   r   s        r,   r*   zjobAddFunction.post  s    

"7<
0
0$	]]__ 6  ))5")))668G3444
*
+
++
+FHH
5
55r.   Nr   rV   r.   r,   rZ  rZ    sZ        (>>N;;;<<5 5 =<56 6 6 6 6r.   rZ  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )jobEditFunctionzedit_job_function.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )r5  r%   r&   r'   r   r?   r   rA   r(   r   rX  s       r,   r#   zjobEditFunction.get  s@    !((b(117799'	*688	4	44r.   c                    t          j        |j                  }|                                rr|j                            d          }t          j                            |          	                    |          }t          j        |d           t          d          S t          || j        t                                S )Nr   r   r]  r;  r^  )r   r_  rH   rI   rJ   r#   r5  r%   r&   r   r   rN   r	   r   r?   r   rA   r(   r   rE   r   r   s         r,   r*   zjobEditFunction.post  s    

"7<
0
0$	]]__ 6  ))5"))R)0077e7DD8G3444
*
+
++
+FHH
5
55r.   Nr   rV   r.   r,   rb  rb    sZ        )>>N;;;<<5 5 =<56 6 6 6 6r.   rb  c                   J    e Zd Z e ed                    d             ZdS )deleteJobFunctionrD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  z!Job function deleted successfullyr^  )r5  r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteJobFunction.get  sp    "))R4)IIOOQQ'&**,,'	,,...
7?@@@	)	*	**r.   Nr   rV   r.   r,   rh  rh    sF        >>N;;;<<+ + =<+ + +r.   rh  c                   N    e Zd ZdZ e ed                    d             ZdS )jobRoleListingzjob_role_listing.htmlrD   r   c                    t           j                            d                              d          }|j                            d          }|rSt           j                            t          |          t          |          z  d                              d          }t          |d          }|j                            d          }|                    |          }t          || j
        t                                S r=  )r6  r%   r&   r   r"   r#   r   r   r	  r   r?   r   rW  s          r,   r#   zjobRoleListing.get  s    $$d$;;DDUKK())+ `%%a&T&T&TUVjuUvUvUv&v  KO%  P  P  Y  Y  Z_  `  `8!$$)''+{++'	*688	4	44r.   Nr   rV   r.   r,   rk  rk    sK        (>>N;;;<<5 5 =<5 5 5r.   rk  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )
jobAddRolezadd_job_role.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zjobAddRole.get  r   r.   c                 \   t          j        |j                  }|                                r^|j                            d          }t          j                            |          }t          j
        |d           t          d          S t          || j        t                                S )Nr   r]  r  /job-level-listing)r   addJobRoleFormrH   rI   rJ   r#   r6  r%   r   r   rN   r	   r   r?   r   r`  s        r,   r*   zjobAddRole.post  s    

w|
,
,$	]]__ 6  ))5%%E%228G3444
'
(
((
+FHH
5
55r.   Nr   rV   r.   r,   rn  rn     sZ        $>>N;;;<<5 5 =<56 6 6 6 6r.   rn  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )jobEditRolezedit_job_role.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  )r6  r%   r&   r'   r   r?   r   rd  s       r,   r#   zjobEditRole.get  s@    $$"$--3355'	*688	4	44r.   c                    t          j        |j                  }|                                rr|j                            d          }t          j                            |          	                    |          }t          j        |d           t          d          S t          || j        t                                S )Nr   r   r]  r;  rq  )r   rr  rH   rI   rJ   r#   r6  r%   r&   r   r   rN   r	   r   r?   r   rf  s         r,   r*   zjobEditRole.post  s    

w|
,
,$	]]__ 6  ))5%%%,,33%3@@8G3444
'
(
((
+FHH
5
55r.   Nr   rV   r.   r,   rt  rt    sZ        %>>N;;;<<5 5 =<56 6 6 6 6r.   rt  c                   J    e Zd Z e ed                    d             ZdS )deleteJobRolerD   r   c                    t           j                            |d                                          }t          j                                        |_        |                                 t          j	        |d           t          d          S )NTr  zJob level deleted successfullyrq  )r6  r%   r&   r'   r   r  rM   ro   r   rN   r	   r  s       r,   r#   zdeleteJobRole.get%  sp    %%t%EEKKMM'&**,,'	,,...
7<===	&	'	''r.   Nr   rV   r.   r,   rx  rx  $  sF        >>N;;;<<( ( =<( ( (r.   rx  c                   N    e Zd ZdZ e ed                    d             ZdS )quizListingzquiz_listing.htmlrD   r   c                 &   t           j                                                            d          }t	          |d          }|j                            d          }|                    |          }t          || j	        t                                S )Nr   r  r  )	QuizModelr%   r   r   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  quiz_objs         r,   r#   zquizListing.get0  sr     $$&&//66(!$$)''+,,(	*688	4	44r.   Nr   rV   r.   r,   r{  r{  .  sK        $>>N;;;<<5 5 =<5 5 5r.   r{  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addQuestionzadd_quiz_question.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddQuestion.get;  r   r.   c                 j   t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }t          j                            ||||||          }	t          j
        |d           t          d	          S t          || j        t                                S )
Nquestionop1op2op3op4ansr  r  r  r  r  r  r  /quiz-listing)r   addQuestionFormrH   rI   rJ   r#   r}  r%   r   r   rN   r	   r   r?   r   )
rA   r(   rE   r  r  r  r  r  r  r   s
             r,   r*   zaddQuestion.post@  s   


-
-$	]]__ 6##J//8				u	%	%3				u	%	%3				u	%	%3				u	%	%3				u	%	%3&&SSSUX]`&aa8G3444
?
#
##
+FHH
5
55r.   Nr   rV   r.   r,   r  r  9  sZ        )>>N;;;<<5 5 =<56 6 6 6 6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editQuestionzedit_quiz_question.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  r}  r%   r&   r'   r   r?   r   rA   r(   r   r   s       r,   r#   zeditQuestion.getQ  s@    &&B&//5577(	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }|j                            d          }	t          j                            |          	                    ||||||	          }
t          j        |d	           t          d
          S t          || j        t                                S )Nr  r  r  r  r  r  r   r  r;  r  )r   r  rH   rI   rJ   r#   r}  r%   r&   r   r   rN   r	   r   r?   r   )rA   r(   r   rE   r  r  r  r  r  r  r   s              r,   r*   zeditQuestion.postW  s   


-
-$	]]__ 6##J//8				u	%	%3				u	%	%3				u	%	%3				u	%	%3				u	%	%3&&B&//66SUX]`ehmp6qq8G3444
?
#
##
+FHH
5
55r.   Nr   rV   r.   r,   r  r  O  sZ        *>>N;;;<<5 5 =<5
6 6 6 6 6r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )
quizDetailzquiz_detail.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  r  r  s       r,   r#   zquizDetail.geth  s@    %%2%..4466(	*688	4	44r.   Nr   rV   r.   r,   r  r  f  sK        #>>N;;;<<5 5 =<5 5 5r.   r  c                   J    e Zd Z e ed                    d             ZdS )deleteQuizQuestionrD   r   c                     t           j                            |                                          }|                                 t          j        |d           t          d          S )Nr   z"Quiz question deleted successfullyr  )r}  r%   r&   r'   rS  r   rN   r	   r  s       r,   r#   zdeleteQuizQuestion.getp  sY    &&"&--3355'	..
7@AAA	/	"	""r.   Nr   rV   r.   r,   r  r  o  sF        >>N;;;<<# # =<# # #r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )getInvestmentResearchListzinvest_research_list.htmlrD   r   c                    t           j                            d          }t          |d          }|j                            d          }|                    |          }t          || j        t                                S r  )
r   r%   r&   r   r"   r#   r	  r   r?   r   )rA   r(   r
  r  r  
invest_objs         r,   r#   zgetInvestmentResearchList.gety  si    '..$.GG(!$$)''+!!+..*	*688	4	44r.   Nr   rV   r.   r,   r  r  w  sK        ,>>N;;;<<5 5 =<5 5 5r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )addInvestmentResearchzadd_investment_research.htmlrD   r   c                 F    t          || j        t                                S r   r   r@   s     r,   r#   zaddInvestmentResearch.get  r   r.   c                 T   t          j        |j                  }|                                rY|j                            d          }|j                            d          }t          j                            ||          }|j	                            d          rVt          |j	                            d                    }|}d|z   }t          |          |_        |                                 |j	                            d          rVt          |j	                            d                    }|}d|z   }t          |          |_        |                                 t          j        |d           t#          d          S t%          || j        t)                                S )	Nr   r   r  research_imagere   rF  r  /get-investment-research-list)r   addInvestResearchformrH   rI   rJ   r#   r   r%   r   r   r   rl   r  ro   rF  r   rN   r	   r   r?   r   )rA   r(   rE   r   r   r  r   s          r,   r*   zaddInvestmentResearch.post  sk   

%gl
3
3$	]]__ 6  ))5##I..7"*11%1PP:m()) GM--.>??@@GGKG #GJOOm   GM--g6677GGKG7||JOOG3444
2
3
33
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        />>N;;;<<5 5 =<56 6 6 6 6r.   r  c                   T    e Zd ZdZ e ed                    d             Zd ZdS )editInvestmentResearchzedit_investment_research.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  r   r%   r&   r'   r   r?   r   )rA   r(   r   r  s       r,   r#   zeditInvestmentResearch.get  s@    !)00b099??AA*	*688	4	44r.   c                    t          j        |j                  }|                                r|j                            d          }|j                            d          }t          j                            |          	                    ||          }|j
                            d          rot          |j
                            d                    }|}d|z   }t          j                            |          	                    t          |                     |j
                            d          rot          |j
                            d                    }|}d|z   }t          j                            |          	                    t          |          	           t          j        |d
           t          d          S t!          || j        t%                                S )Nr   r   r   r  r  re   )r  rF  rM  r  r  )r   r  rH   rI   rJ   r#   r   r%   r&   r   r   r   rl   r   rN   r	   r   r?   r   )rA   r(   r   rE   r   r   r  r   s           r,   r*   zeditInvestmentResearch.post  s   

%gl
3
3$	]]__ 6  ))5##I..7 (//R/88??V]?^^8m()) UGM--.>??@@GGKG%%2%..55s7||5TTTm   LGM--g6677GGKG%%2%..55c'll5KKKG3444
2
3
33
+FHH
5
55r.   Nr   rV   r.   r,   r  r    sZ        0>>N;;;<<5 5 =<5
6 6 6 6 6r.   r  c                   N    e Zd ZdZ e ed                    d             ZdS )detailInvestmentResearchz investment_research_details.htmlrD   r   c                     t           j                            |                                          }t	          || j        t                                S rb  r  r  s       r,   r#   zdetailInvestmentResearch.get  s@    '..B.77==??(	*688	4	44r.   Nr   rV   r.   r,   r  r    sK        3>>N;;;<<5 5 =<5 5 5r.   r  c                   J    e Zd Z e ed                    d             ZdS )deletedInvestmentResearchrD   r   c                     t           j                            |                                          }|                                 t          j        |d           t          d          S )Nr   r  r  )r   r%   r&   r'   rS  r   rN   r	   r  s       r,   r#   zdeletedInvestmentResearch.get  sZ     (//2/66<<>>'	..
72333	1	2	22r.   Nr   rV   r.   r,   r  r    sF        >>N;;;<<3 3 =<3 3 3r.   r  c           
      b   t           j                            d          }t          d          }d|d<   t	          j        |          }|                    g d           |D ]K}|                    |j        |j        |j	        |j
        j        |j        j        |j        |j        g           L|S )NF)is_superusertext/csvcontent_typezattachment; filename="user.csv"Content-Disposition)EmailzPhone NumberUsernamez	Job LevelzJob FunctionzHas SubscriptionAddres)r$   r%   r&   r
   csvwriterwriterowr   r   r   r8  r   r7  r   addressr(   querysetresponser  items        r,   exportCsvUSerr    s    LU33j111#D
 
*X

oooppp U UT//4:d/t~?SUYUfUlos  pE  FJ  FR  T  U  U  U  Ur.   c                 F   t           j                                        }t          d          }d|d<   t	          j        |          }|                    g d           |D ]?}|                    |j        j        |j	        j
        |j        |j        |j        g           @|S )Nr  r  z%attachment; filename="Subscriber.csv"r  )r  SubscriptionzBuy DatezExpiry Datez	Is Active)r   r%   r   r
   r  r  r  r3   r   subscriptionr  buyDate
expiryDate	is_activer  s        r,   exportSubscriberUserr    s     (,,..j111#J
 
*X

SSSTTT { {T//49%d&7&I4<X\Xgimiwyzzzzr.   c                 4   t           j                            d          }t          d          }d|d<   t	          j        |          }|                    g d           |D ]4}|                    |j        j        |j	        |j
        |j        g           5|S )NTr   r  r  z attachment; filename="Blogs.csv"r  )CategoryTitleContentCreated Date)r  r%   r&   r
   r  r  r  r  r   r   r   r   r  s        r,   exportBlogsr    s    M  D 99j111#E
 
*X

@@@AAA S ST//4=%tz$,QRRRRr.   c           
      X   t           j                            d          }t          d          }d|d<   t	          j        |          }|                    g d           |D ]F}|                    |j        |j        j	        |j
        |j        |j        |j        |j        g           G|S )NTr   r  r  z!attachment; filename="Events.csv"r  )z
Event Namer  DescriptionDatez
Start TimezEnd TimeLocation)r   r%   r&   r
   r  r  r  r  r3   r   r  r  r  r  r  r  s        r,   exportEventsr    s    N!!T!::j111#F
 
*X

eeefff B BT//4?DI$6t7GSWSbcgcpquq~  A  B  B  B  Br.   c                    t           j                            d          }t          d          }d|d<   t	          j        |          }|                    g d           |D ])}|                    |j        |j        |j	        g           *|S )NTr   r  r  z#attachment; filename="Research.csv"r  )r  r  r  )
r   r%   r&   r
   r  r  r  r   r   r   r  s        r,   exportInvestmentResearchr    s    &---FFj111#H
 
*X

444555 > >T//4:t|DO<====r.   c                 T   t           j                            d          }t          d          }d|d<   t	          j        |          }|                    g d           |D ]D}|                    |j        j        |j        j	        j        |j
        |j        |j        g           E|S )NTr   r  r  z$attachment; filename="Education.csv"r  )r  zSub Categoryr  r  r  )r   r%   r&   r
   r  r  r  rE  r   r  r   r   r   r  s        r,   exportInvestmentEducationr  	  s    &.555NNj111#I
 
*X

OOOPPP u uT//4$)$*;*D*I4:VZVbcgcrsttttr.   )django.views.generic.baser   django.views.genericr   django.contrib.authr   r   r   django.shortcutsr   r	   django.http.responser
   admin_panel.modelsr0   r   django.contribr   django.corer   django.template.loaderr   mathr\   r^   django.confr   django.core.paginatorr   django.httpr   django.contrib.auth.decoratorsr   django.utils.decoratorsr   	functionsdjango.db.modelsr   r   jsonr   astpasslib.hashr   handlerr   collectionsr   panel_apis.modelsr  r-   r4   r7   r9   rX   r{   r   r   r   r   r   r   r  r  r  r  r"  r2  rA  rD  rG  rL  rW  r`  re  rn  rt  rw  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r"  r%  r)  r0  r5  r8  r;  rA  rJ  rO  rR  rU  rZ  rb  rh  rk  rn  rt  rx  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rV   r.   r,   <module>r     s(   * * * * * * - - - - - - ; ; ; ; ; ; ; ; ; ; - - - - - - - - - - - - - -               # # # # # #       3 3 3 3 3 3                         + + + + + + $ $ $ $ $ $ 9 9 9 9 9 9 4 4 4 4 4 4                  " " " " " " 



 - - - - - - 8 8 8 8 8 8 , , , , , , # # # # # #     



* * *    #" #" #" #" #" #" #" #"L> > > > >, > > >:"> "> "> "> "> "> "> ">J5 5 5 5 5\ 5 5 5D. . . . .< . . .4& & & & & & & &2" " " " ", " " "6 6 6 6 6D 6 6 6.6 6 6 6 6 6 6 6.5 5 5 5 5 5 5 56 6 6 6 6T 6 6 6"6 6 6 6 6d 6 6 6"" " " " " " " "5 5 5 5 5, 5 5 5&6 6 6 6 6| 6 6 6@5 5 5 5 5, 5 5 5) ) ) ) ) ) ) )5 5 5 5 5 5 5 5/ / / / /t / / /,
5 
5 
5 
5 
5 
5 
5 
55 5 5 5 5 5 5 56 6 6 6 64 6 6 645 5 5 5 5, 5 5 55 5 5 5 5, 5 5 5& & & & &| & & &"6 6 6 6 6, 6 6 60& & & & &< & & &2& & & & &t & & &"( ( ( ( (t ( ( (5 5 5 5 5, 5 5 56 6 6 6 6l 6 6 6*6 6 6 6 6| 6 6 6(& & & & &t & & &", , , , , , , ,5 5 5 5 5, 5 5 56 6 6 6 6l 6 6 666 6 6 6 6| 6 6 64& & & & &t & & &"# # # # # # # #5 5 5 5 5L 5 5 56 6 6 6 6 6 6 6*5 5 5 5 5\ 5 5 55 5 5 5 5 5 5 55 5 5 5 5 5 5 55 5 5 5 5< 5 5 56 6 6 6 6| 6 6 686 6 6 6 6 6 6 685 5 5 5 5 5 5 5$ $ $ $ $$ $ $ $5 5 5 5 5L 5 5 55 5 5 5 5 5 5 56 6 6 6 6< 6 6 6"6 6 6 6 6L 6 6 6(* * * * *d * * *& & & & &D & & &$5 5 5 5 5< 5 5 56 6 6 6 6l 6 6 6&6 6 6 6 6| 6 6 6,- - - - - - - -& & & & &t & & &&5 5 5 5 5 5 5 56 6 6 6 6\ 6 6 6:6 6 6 6 6l 6 6 663 3 3 3 3T 3 3 3& & & & &4 & & &(5 5 5 5 5 5 5 56 6 6 6 6\ 6 6 6$6 6 6 6 6l 6 6 6$+ + + + + + + +5 5 5 5 5\ 5 5 56 6 6 6 6 6 6 6$6 6 6 6 6, 6 6 6$( ( ( ( (D ( ( (5 5 5 5 5, 5 5 56 6 6 6 6, 6 6 6,6 6 6 6 6< 6 6 6.5 5 5 5 5 5 5 5# # # # # # # #5 5 5 5 5 5 5 56 6 6 6 6L 6 6 6@6 6 6 6 6\ 6 6 6<5 5 5 5 5| 5 5 53 3 3 3 3 3 3 3              r.   