
    g                         S SK JrJr  S SKJrJr  S SKJr  S SKJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S SKrS SKrS S	KJr  S S
KJr  S SKrS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$g)    )redirectrender)authenticatelogin)	Paginator)JsonResponse)FacultyLecture_TopicsLive_Lecture)settings)	send_mailN)timezone)Prefetchc                    U R                   S:X  GaF  U R                  R                  S5      nU R                  R                  S5      nSn[        R                  " X15      (       d  [        SSS.5      $ U(       a  U(       a  [        R                  R                  XS9R                  5       nUR                  5       S	:  a|  [        U5      nS
U R                  S'   US	   S   U R                  S'   US	   S   U R                  S'   US	   S   U R                  S'   US	   S   U R                  S'   [        S
SS.5      $ [        SSS.5      $ [        SSS.5      $ g )NPOSTemailpasswordz4\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\bFz Please enter valid email addresssuccessmessage)r   r   r   Tis_logged_inid
faculty_idfaculty_namefaculty_emailcontactfaculty_mobilezLogged in successfullyzInvalid credentialsz"Please enter your email & password)methodr   getrematchr   r	   objectsfiltervaluescountlistsession)requestr   r   regexfacultyfaculty_datas         +C:\Users\Abcom\Desktop\cet\faculty\views.pyfaculty_loginr-      sC   ~~  )<<##J/Gxx$$E=_ `aa!//00u0PWWY==?1$#'=L6:GOON34@OD4IGOOL16B1on6UGOON37CAw7OGOOO48DQ	8RGOO$45'D 8): ; ; (EEZ([\\9]^__+      c                    U R                   S:X  a  U R                  R                  S5      nU(       a  XR                  S'   [        R
                  " SS5      nX R                  S'   SnS[        U5      -   S	-   n[        R                  nU/n[        R                  R                  US
9nUR                  5       S:  a  [        X4XV5        [        SSS.5      $ [        SSS.5      $ [        SSS.5      $ g )Nr   r   r   i  i'  otpz!Reset password - Crack Every TestzHi, z otp to reset passwordr   r   TzOTP sent successfully.r   FzAccount not foundzPlease enter your email.)r   r   r   r'   randomrandintstrr   EMAIL_HOST_USERr	   r"   r#   r%   r   r   )r(   r   r0   subjectr   
email_fromrecipient_listr*   s           r,   sendOTPr9   (   s    	6	!  )/4OOO,..d+C%(OOE"9Gc#h&'??G!11J#YNoo,,5,9G}}"7ZI#@X$YZZ#AT$UVVE=W XYY# 
"r.   c                    U R                   S:X  at  U R                  R                  S5      nU(       aD  [        U5      U R                  R                  S5      :X  a  [        SSS.5      $ [        SSS.5      $ [        SSS.5      $ g )	Nr   r0   TOTP verified successfully.r   FzPlease enter correct OTP.zPlease enter OTP.)r   r   r   intr'   r   )r(   r0   s     r,   
processOTPr=   <   sx    	6	!llu%3x7??..u55#@\$]^^#A\$]^^E=P QRR 
"r.   c                 &   U R                   S:X  a  U R                  R                  S5      nU(       aQ  [        R                  R                  U R                  R                  S5      S9R                  US9  [        SSS.5      $ [        S	S
S.5      $ g )Nr   r   foget_emailr1   )r   Tr;   r   FzPlease enter your password.)	r   r   r   r	   r"   r#   r'   updater   )r(   r   s     r,   savePasswordrA   G   s    	6	!<<##J/OO"")<)<])K"LSS]eSfD<X YZZE=Z [\\ 
"r.   c                     [        U S0 5      $ )Nzauth/faculty-login.htmlr   r(   s    r,   r   r   Q   s    '4R88r.   c                     [        U S0 5      $ )Nzauth/forget-password.htmlrC   rD   s    r,   forgetPasswordrF   T   s    '6r::r.   c                     [        U S0 5      $ )Nzauth/verify-otp.htmlrC   rD   s    r,   	verifyOTPrH   W   s    '1"55r.   c                     [        U S0 5      $ )Nzauth/reset-password.htmlrC   rD   s    r,   resetPasswordrJ   Z   s    '5b99r.   c                 L    U R                   R                  5         [        S5      $ )Nzfaculty/login)r'   flushr   rD   s    r,   logoutrM   ]   s    OOO$$r.   c                     [        U S0 5      $ )NzfacultyDashboard.htmlrC   rD   s    r,   facultyDashboardrO   b   s    '2266r.   c           	      F   U R                   R                  S5      n[        R                  R                  US9n[        R
                  " 5       R                  5       n[        R                  R                  XS9R                  S5      n/ nU Hn  nUR                  UR                  UR                  R                  S5      UR                  R                  S5      UR                  R                  S5      S.5        Mp     [!        U SUU["        R$                  " U5      S	.5      $ )
Nr   r   r   lacture_date__gtelacture_date%Y-%m-%dz%H:%M)titlestart
start_timeend_timezupcomming-lecture-list.htmlr*   upcommingLectureslecture_json)r'   r   r	   r"   r   nowdater   r#   order_byappendrV   rT   strftimerX   rY   r   jsondumpsr(   r   r*   todayr[   lecture_datalecs          r,   uplcommingLecturesrh   |   s    			\	*Boo!!R!(GLLN!E$,,33r3[ddestL YY%%..z:..11':--g6	
 	 ! '8.

<0;  r.   c           	         U R                   R                  S5      n[        R                  R                  US9n[        R
                  " 5       R                  5       n[        R                  R                  XS9R                  S5      n/ nU HN  nUR                  UR                  UR                  R                  S5      UR                  =(       d    SS.5        MP     [        U SUU[         R"                  " U5      S	.5      $ )
Nr   rQ   rR   rT   rU    )rV   rW   descriptionz	demo.htmlrZ   )r'   r   r	   r"   r   r]   r^   r   r#   r_   r`   rV   rT   ra   video_descriptionr   rb   rc   rd   s          r,   	demoEventrm      s    			\	*Boo!!R!(GLLN!E$,,33r3[ddestL YY%%..z:006B
 	 ! ';.

<0)  r.   c                    U R                   R                  S5      n[        R                  R                  US9n[        R
                  " 5       R                  5       n[        R                  R                  XS9R                  S5      n[        US5      nU R                  R                  S5      nUR                  U5      n[        U SUUUS.5      $ )	Nr   rQ   )r   lacture_date__ltz-lacture_date
   pagezpast-lecture-list.html)r*   paginated_lecturespastlecture)r'   r   r	   r"   r   r]   r^   r   r#   r_   r   GETget_pager   )r(   r   r*   re   rs   	paginatorpage_numberrr   s           r,   pastLecturesrx      s    
//

l
+BOO2&GLLN!E&&---T]]^mnK +r*I++//&)K"++K8'30"6
  r.   )%django.shortcutsr   r   django.contrib.authr   r   django.core.paginatorr   django.httpr   learn.modelsr	   r
   r   django.confr   django.core.mailr   r    r2   django.utilsr   django.db.modelsr   rb   r-   r9   r=   rA   rF   rH   rJ   rM   rO   rh   rm   rx    r.   r,   <module>r      sq    - 3 + $ > >   & 	  ! % `4Z(	S]9;6:%
74*(r.   