
    SdB                    X   d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ d dlZd dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d d	lm8Z8m9Z9 d d
l:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZA d dlBZBd dlCmDZD d dl@mEZE d d
l:m;Z; dZFd ZGd ZHd ZId ZJ e;eF          d             ZK e;eF          d             ZL e;eF          d             ZM e;eF          d             ZN e;eF          d             ZO e;eF          d             ZP e;eF          d             ZQ e;eF          d             ZR e;eF          d             ZS e;eF          d             ZT e;eF          d              ZU e;eF          d!             ZV e;eF          d"             ZW e;eF          d#             ZX e;eF          d$             ZY e;eF          d%             ZZ e;eF          d&             Z[ e;eF          d'             Z\ e;eF          d(             Z] e;eF          d)             Z^ e;eF          d*             Z_ e;eF          d+             Z` e;eF          d,             Za e;eF          d-             Zb e;eF          d.             Zc e;eF          d/             Zd e;eF          d0             Ze e;eF          d1             Zf e;eF          d2             Zg e;eF          d3             Zh e;eF          d4             Zi e;eF          d5             Zj e;eF          d6             Zk e;eF          d7             Zl e;eF          d8             Zm e;eF          d9             Zn e;eF          d:             Zo e;eF          d;             Zp e;eF          d<             Zq e;eF          d=             Zr e;eF          d>             Zs e;eF          d?             Zt e;eF          d@             Zu e;eF          dA             Zv e;eF          dB             Zw e;eF          dC             Zx e;eF          dD             Zy e;eF          dE             Zz e;eF          dF             Z{ e;eF          dG             Z| e;eF          dH             Z} e;eF          dI             Z~ e;eF          dJ             Z e;eF          dK             Z e;eF          dL             Z e;eF          dM             Z e;eF          dN             Z e;eF          dO             Z e;eF          dP             Z e;eF          dQ             Z e;eF          dR             Z e;eF          dS             Z e;eF          dT             Z e;eF          dU             Z e;eF          dV             Z e;eF          dW             Z e;eF          dX             Z e;eF          dY             Z e;eF          dZ             Z e;eF          d[             Z e;eF          d\             Z e;eF          d]             Z e;eF          d^             Z e;eF          d_             Z e;eF          d`             Z e;eF          da             Z e;eF          db             Z e;eF          dc             Z e;eF          dd             Z e;eF          de             Z e;eF          df             Z e;eF          dg             Z e;eF          dh             Z e;eF          di             Z e;eF          dj             Z e;eF          dk             Z e;eF          dl             Z e;eF          dm             Z e;eF          dn             Z e;eF          do             Z e;eF          dp             Z e;eF          dq             Z e;eF          dr             Z e;eF          ds             Z e;eF          dt             Z e;eF          du             Z e;eF          dv             Z e;eF          dw             Z e;eF          dx             Z e;eF          dy             Z e;eF          dz             Z e;eF          d{             Z e;eF          d|             Z e;eF          d}             Z e;eF          d~             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             Z e;eF          d             ZdS )    )date)	Paginator)get_object_or_404redirectrenderHttpResponse)JsonResponse)logoutN)messages)'Lecture_attendanceContactUsEnquiriesCoupons	EnquiriesLead_sourseLead_statusLecture_TopicsLecture_batchesLogin_historyMockTestSectionNotifications_batchesOrdersOrderCoursesTestimonialsNotificationsLeadsLead_CommentsLead_FollowupMock_Test_SeriesBannersCourseExamCategoryMediaModuleSectionsSub_SectionsQuestion_BankTopics	Mock_TestFacultyBatch_ManagementStudentsBlogsBlog_categoryOptionExam_MasterExam_SubjectsLive_LectureStudent_ResultVocab_Questions)authenticatelogin)login_required)AuthenticationForm)UserRegisterForm)Sum)Concat)Value/admin/loginc                    | j                             d          }| j        dk    r| j                            d          }| j                            d          }| j                            d          }t	          | ||          }|t          | |           t          |          S t          | dd|d          S t          | dd	|d          S )
NnextPOSTusernamepasswordr?   r@   
login.htmlInvalid credentials.)errorr=    )GETgetmethodr>   r3   r4   r   r   )requestr=   r?   r@   users        =/Users/imac/Downloads/projects/cet/22-july/admin_app/views.pyadmin_loginrL      s    ;??6""D ~<##J//<##J//|''GhJJJ'4   D>>!'<;QY]1^1^___g|Rt,D,DEEE    c                 ,   | j         dk    rz| j                            d          }| j                            d          }t          | ||          }|t	          | |           t          d          S t          | dddi          S t          | d          S )	Nr>   r?   r@   rA   	dashboardrB   rD   rC   )rH   r>   rG   r3   r4   r   r   )rI   r?   r@   rJ   s       rK   login_processrP   '   s      ~<##J//<##J//GhJJJ'4   K((('<';Q1RSSSg|,,,rM   c                 "    t          | d          S )Nzregistration.htmlr   rI   s    rK   registrationrT   C   s    './//rM   c                 >    t          |            t          d          S )Nr;   )r
   r   rS   s    rK   admin_logoutrV   F   s    
7OOON###rM   )	login_urlc                    t          j                    }t          j                            d                                          }t          j                            d                                          }t          j                            d                                          }t          j                                        }t          j        	                    t          d                    d         }t          j                            |	                                          }t          j                            |
                              d          }t          | d|||||||d          S )NForder_courses__isnullT   statusorder_price)totalr_   )lacture_date)follwup_datestudentzdashboard.html)paid_studentsunpaid_students	new_leadstotal_courses
total_saletodays_lecturetodays_followup)r   todayr*   objectsfiltercountr   r    r   	aggregater8   r0   valuesr   select_relatedr   )	rI   rj   rc   rd   re   rf   rg   rh   ri   s	            rK   rO   rO   `   sN   
*,,E$++%+HHNNPPM&--D-IIOOQQO$$A$..4466IN((**M))M0B0B)CCGLJ!)00e0DDKKMMN#+222FFUUV_``O'+m^m  {D  Ub  pz  LZ  m|  .}  .}  ~  ~  ~rM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |	          }t          |d
          }| j                             d          }|                    |          }t          | d||||||d          S )Nnamer]   	from_dateto_date-id)exam_category_name__icontainsr\   created_at__gtecreated_at__lte
   pagezexam-category.html)all_categoriesr|   rr   r]   rs   rt   )	rF   rG   r!   rk   rl   order_byr   get_pager   )	rI   rr   r]   rs   rt   r}   	paginatorpage_numberpage_objs	            rK   exam_categoryr      se    
	 	 D;??8$$Fkook**IKOOI&&G!)0022;;EBBN S'..T.RR  >'..f.== J'..y.II H'..w.GG ."--I+//&))K!!+..H'/(R]eisy  GP  [b  1c  1c  d  d  drM   c                 l   | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt	          ddd          S |dk    rt	          dd	d          S | j                            d          rL|j        d
k    rt	          dd|j        |j        d          S t          j                            |||          }n!t          j                            ||          }t	          ddd          S t	          ddd          S )Nr>   exam_category_namer]   imagerE   rD    Please enter exam category name.r]   msgPlease select image.   4Please select image size less than or equal to 1 MB.r]   r   databyterr   r   r]   )r   r]   success!Exam category saved successfully.Something went wrong.)	rH   r>   rG   FILESr	   sizer!   rk   create)rI   r   r]   r   categorys        rK   add_exam_categoryr      sz   ~$\--.BCC!!(++!!'**r!!7;] ^ ^___BYY7;Q R RSSS }  )) :''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g'/66#5 7   (/66#5 7    9=` a abbb  7;R S STTTrM   c                    | j         dk    rC| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          ddd	          S |dk    rt	          dd
d	          S | j                            d          rU|j        dk    rt	          dd|j        |j        d          S t          ||||          }|                    g d           n*t          |||          }|                    ddg           t	          ddd	          S t	          ddd	          S )Nr>   idrr   r]   r   rE   rD   r   r   Please select status.r   r   r   )r   r   r   r]   r   update_fields)r   r   r]   r   r   r   r   )rH   r>   rG   r   r	   r   r!   save)rI   r   r   r]   r   r   s         rK   edit_exam_categoryr      s   ~\d##$\--f55!!(++!!'**r!!7;] ^ ^___RZZ7;R S STTT}  )) M:''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g''9!	   ,S,S,STTTT ('9!   -A(,KLLL9=` a abbb  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   z#Exam category deleted successfully.r   )r>   rG   r!   soft_deleter	   rI   r   s     rK   delete_exam_categoryr      sJ     
		$		B  """95Z[[\\\rM   c                 n   | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }|r|                    |          }|r|                    |          }t          |d          }| j                             d          }	|                    |	          }
t          | d|
|	||||||d          S )Nfaculty_namefaculty_emailfaculty_contactr]   rs   rt   ru   )faculty_name__icontains)email__icontains)contact__icontainsr\   rw   ry   r{   r|   zfaculty_module.html)all_facultiesr|   r   r]   r   r   rs   rt   )	rF   rG   r(   rk   rl   r~   r   r   r   )rI   r   r   r   r]   rs   rt   r   r   r   r   s              rK   faculty_moduler      s   00L+///22MKOO$566O;??8$$Fkook**IKOOI&&G
 O**,,55e<<M  S%,,\,RR M%,,m,LL Q%,,,PP <%,,F,;; H%,,Y,GG F%,,W,EE-,,I+//&))K!!+..H'0(R]my  DJ  [h  {J  W`  kr  2s  2s  t  t  trM   c           	      r   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S t	          |||||||          }|                                 t          ddd          S t          d
dd          S )Nr>   r   emailr@   contact
experiencedate_of_birthr]   rE   rD   Please enter faculty name.r   Please enter faculty email.Please enter password.Please enter contact number.Please enter experience.Please enter date_of_birth.r   r   r   r@   r   r   r   r]   r   zFaculty added successfully.r   rH   r>   rG   r	   r(   r   )	rI   r   r   r@   r   r   r   r]   facultys	            rK   add_facultyr   "  s    ~|''77  ))<##J//,""9--\%%l33
((99!!(++7;W X XYYYBYY7;X Y YZZZr\\7;S T TUUUb[[7;Y Z Z[[[^^7;U V VWWWB7;X Y YZZZRZZ7;R S STTT )! & -  G LLNNN  9=Z [ [\\\  7;R S STTTrM   c           
         | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }|d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S t	          ||||||||          }	|	                    g d           t          ddd          S t          ddd          S )Nr>   r   rr   r   r@   r   r   dobr]   rE   rD   r   r   r   r   r   r   r   r   )r   r   r   r@   r   r   r   r]   r   r   r   zFaculty updated successfully.r   r   )
rI   r   r   r   r@   r   r   r   r]   r   s
             rK   edit_facultyr   R  s   ~\d##|''//  ))<##J//,""9--\%%l33
((//!!(++7;W X XYYYBYY7;X Y YZZZr\\7;S T TUUUb[[7;Y Z Z[[[^^7;U V VWWWB7;X Y YZZZRZZ7;R S STTT )! & -	 	 	G LL'z'z'zL{{{  9=\ ] ]^^^  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zfaculty deleted successfully.r   )r>   rG   r(   r   r	   r   s     rK   delete_faculty_by_Idr     sF    
,

4
 
 RR[[I6UVVWWWrM   c           
         | j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |	          }t          |d
          }| j                             d          }|                    |          }t          | d|||||d          S )Nrr   r]   rs   rt   ru   )section_name__icontainsr\   rw   ry   r{   r|   zsection.html)all_sectionr|   rs   rt   rr   )	rF   rG   r#   rk   rl   r~   r   r   r   )	rI   rr   r]   rs   rt   r   r   r   r   s	            rK   sectionr     sZ    
	 	 D;??8$$Fkook**IKOOI&&G"))++44U;;K G!(((FF  8!(((77 D!(((CC B!(((AA+r**I+//&))K!!+..H'>aju|  EI  +J  +J  K  K  KrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          dd	d          S |dk    rt          dd
d          S t	          |||          }|                                 t          ddd          S t          ddd          S )Nr>   section_namer]   display_orderrE   rD   Please enter section name.r   Please enter display order.r   r   r   r]   r   zSection created successfully.r   rH   r>   rG   r	   r#   r   )rI   r   r]   r   r   s        rK   add_sectionr     s   ~|''77!!(++((997;W X XYYYB7;X Y YZZZRZZ7;R S STTT )+  G LLNNN  9=\ ] ]^^^  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd	          S |dk    rt          dd
d	          S |dk    rt          ddd	          S t	          ||||          }|                    g d           t          ddd	          S t          ddd	          S )Nr>   r   rr   r]   r   rE   rD   r   r   zPlease enter Display order.r   )r   r   r   r]   r   r   r   zSection updated successfully.r   r   )rI   r   r   r]   r   r   s         rK   edit_sectionr     s8   ~\d##|''//!!(++((997;W X XYYYB7;X Y YZZZRZZ7;R S STTT !-"/!	  G LL'P'P'PLQQQ  9=\ ] ]^^^  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S Nr   r   zsection deleted successfully.r   )r>   rG   r#   r   r	   r   s     rK   delete_section_by_Idr     sF    
,

4
 
 Rb\\I6UVVWWWrM   c                 F   | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                        }t
          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                             d          }	|	                    |	          }
t          | d|
||	|||||d          S )N
batch_namecourse_namer]   rs   rt   ru   )batch_name__icontains)couse_name__icontainsr\   rw   ry   r{   r|   zbatch-management.html)all_batchesall_coursesr|   r   r]   r   rs   rt   )rF   rG   r    rk   allr)   rl   r~   r   r   r   )rI   r   r   r]   rs   rt   r   r   r   r   r   s              rK   batch_managementsr     s   {|,,J..K;??8$$Fkook**IKOOI&&G ""$$K"*1133<<UCCK K!((z(JJ L!(({(KK 8!(((77 D!(((CC B!(((AA +r**I+//&))K!!+..H'2(Ydmx  GQ  [a  p{  HQ  \c  4d  4d  e  e  erM   c                 r   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S t	          ||	          }|                                 t          d
dd          S t          ddd          S )Nr>   r   r]   rE   rD   Please enter batch name.r   r   )r   r]   r   zcreated batch successfully.r   rH   r>   rG   r	   r)   r   )rI   r   r]   batchs       rK   	add_batchr     s    ~\%%l33
!!(++r>>7;U V VWWW RZZ7;R S STTT %%  E JJLLL  9=Z [ [\\\  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          dd	d          S t	          |||
          }|                    ddg           t          ddd          S t          ddd          S )Nr>   r   rr   r]   rE   rD   r   r   r   )r   r   r]   r   r   r   zBatch updated successfully.r   r   )rI   r   r   r]   r   s        rK   
edit_batchr   ,  s    ~\d##\%%f--
!!(++r>>7;U V VWWW
 RZZ7;R S STTT %)!	  E JJl8%<J===  9=Z [ [\\\  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S r   )r>   rG   r)   r   r	   r   s     rK   delete_batch_by_Idr   M  sH    
,

4
 
 Rb%%'''I6UVVWWWrM   c                     | j                             d          }t          j                            |          }t          | dd|i          S )Nr   
section_idzselect_sub_section.htmlsub_section)rF   rG   r$   rk   rl   r   )rI   r   r   s      rK   section_selctr   U  sF    ++J&---DDK'4}[6QRRRrM   c                     | j                             d          }t          j                            |          }t          | dd|i          S )Nr   sub_section_idzselect_topic.htmltopicrF   rG   r&   rk   rl   r   )rI   r   r   s      rK   subsection_selectr   [  sD    [__]33NN!!!@@E'.@@@rM   c                 F   t           j                                        }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }t
          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                            d          }	|	                    |	          }
t          | d|
||	|||||d          S )Nrr   r   r]   rs   rt   ru   )sub_section_name__icontainsr   r\   rw   ry   r{   r|   zsub-section.html)Sub_Sections_listsection_listr|   rr   r   r]   rs   rt   )r#   rk   r   rF   rG   r$   rl   r~   r   r   r   )rI   r   rr   r   r]   rs   rt   r   r   r   r   s              rK   r   r   a  s   #''))L 
	 	 DKOOL))G;??8$$Fkook**IKOOI&&G$,3355>>uEE W-44QU4VV I-444HH D-44F4CC P-44Y4OO N-44W4MM+R00I+//&))K!!+..H'-8[goz  CG  RY  ci  v  JQ  /R  /R  S  S  SrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd	          S |dk    rt          dd
d	          S |dk    rt          ddd	          S t	          ||||          }|                                 t          ddd	          S t          ddd	          S )Nr>   r   sub_section_namer   r]   rE   rD   Please enter sub section name.r   r   r   r   r   r   r]   r   zSub Section saved successfully.r   rH   r>   rG   r	   r$   r   )rI   r   r   r   r]   r   s         rK   add_sub_sectionr   }  s,   ~|''55"<++,>??((99!!(++R7;[ \ \]]]B7;X Y YZZZRZZ7;R S STTT #'"2+	  G LLNNN  9=^ _ _```  7;R S STTTrM   c                 ~   | j         dk    r | j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          dd	d
          S |dk    rt          ddd
          S |dk    rt          ddd
          S |dk    rt          ddd
          S t	          |||||          }|                    g d           t          ddd
          S t          ddd
          S )Nr>   r   r   r   r   r]   rE   rD   zid is empty please pass the id r   r   r   r   )r   r   r   r   r]   r   r   r   zSub-section saved successfully.r   r   )rI   r   r   r   r   r]   r   s          rK   edit_sub_sectionr     su   ~\d##  .."<++,>??((99!!(++B;;7;\ ] ]^^^R7;[ \ \]]]B7;X Y YZZZRZZ7;R S STTT '#3"+  K +e+e+efff  9=^ _ _```  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S r   )r>   rG   r$   r   r	   r   s     rK   delete_sub_section_by_Idr     H    
,

4
 
 R"!!###I6UVVWWWrM   c                    t           j                                        }t          j                                        }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }t          j                                                            d          }	|r|	                    |          }	|r|	                    |	          }	|r|	                    |
          }	|r|	                    |          }	|r|	                    |          }	|r|	                    |          }	t          |	d          }
| j                            d          }|

                    |          }t          | d||||||||||d
          S )Nrr   r   r   r]   rs   rt   ru   )topic_name__icontainsr   r   r\   rw   ry   r{   r|   zTopic-list.html)

Topic_listr   r   r|   rr   r   r   r]   rs   rt   )r#   rk   r   r$   rF   rG   r&   rl   r~   r   r   r   )rI   r   r   rr   r   r   r]   rs   rt   r   r   r   r   s                rK   
topic_listr    s   #''))L$,0022		 	 DKOOL))G 011K;??8$$Fkook**IKOOI&&G&&((11%88J C&&T&BB
 ;&&'&::
 C&&k&BB
 6&&f&55
 B&&y&AA
 @&&w&??

 *b))I+//&))K!!+..H',8Xi  zF  NY  ae  pw  FQ  [a  nw  BI  .J  .J  K  K  KrM   c                    | j         dk    r4| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          dd	d
          S |dk    rt          ddd
          S |dk    rt          ddd
          S |dk    rt          ddd
          S |dk    rt          ddd
          S t	          |||||          }|                                 t          ddd
          S t          ddd
          S )Nr>   r   r   
topic_namer   r]   rE   rD   zPlease select section.r   zPlease select sub section.Please enter topic name.r   r   )r   r   r  r   r]   r   zTopic saved successfully.r   rH   r>   rG   r	   r&   r   )rI   r   r   r  r   r]   s         rK   	add_topicr    s   ~,""9--l&&}55\%%l33
((99!!(++B;;7;S T TUUU"__7;W X XYYY^^7;U V VWWWB7;X Y YZZZRZZ7;R S STTT "*%+  G LLNNN  9=X Y YZZZ  7;R S STTTrM   c                 T   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          d	d
d          S |dk    rt          d	dd          S t	          ||||||          }|                    g d           t          ddd          S t          d	dd          S )Nr>   topic_idr   r   tnamed_orderedit_statusrE   rD   r  r   r   )r   r   r   r  r   r]   )r   r   r   r  r   r]   r   r   zTopic Updated successfully.r   r  )rI   r   r   r   r  r   r]   r   s           rK   
edit_topicr    sC   ~\j)),"">22l&&'9::\%%g..
((33!!-00r>>7;U V VWWWRZZ7;R S STTT "*%+  E JJ%{%{%{J|||9=Z [ [\\\  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zTopic deleted successfully.r   )r>   rG   r&   r   r	   r   s     rK   delete_topicr  6  sF    			$		B
2JJ95RSSTTTrM   c                    t           j                                        }t          j                                        }t          j                                        }t
          j                                        }t           j                            d          }t          j                            d          }t          j                            d          }| j        	                    d          }| j        	                    d          }	| j        	                    d          }
| j        	                    d          }| j        	                    d          }| j        	                    d	          }t          j                                                            d
          }|r|                    |          }|r|                    |          }|r|                    |          }|rP|dk    r|                    |          }n3|dk    r|                    |          }n|                    |          }|	r|                    |	          }|
r|                    |
          }t          |d          }| j        	                    d          }|                    |          }t          | d||||||||||||	|
|d          S )Nr   	topics_idr   titlers   rt   r   r   r   ru   )title__icontainsr   )
faculty_idopen_for_all)lecture_typer   )lecture_batches__batches_idrw   ry   r{   r|   zlive_lecture.html)all_lectures
batch_listtopics_listfaculty_listr   r   r   r  r|   r   r   rs   rt   r   )r)   rk   r   r&   r(   r#   rp   r   rF   rG   r0   rl   r~   r   r   r   )rI   r  r  r  r   r   r   r   r  rs   rt   r   r  r   r   r   s                   rK   live_Lecturesr  A  s   !)--//J.$$&&K?&&((L#''))L$33LAAE"11+>>Eo,,^<<G
+//'
"
"Ekook**IKOOI&&GKOOI&&G
+//'
"
"EKOOI&&G'..0099%@@L  C#**E*BB ?#**g*>> ?#**g*>> RN""'..E.BBLLm##'..E.BBLL'..5.QQL  F#**9*EE D#**7*CC ,++I+//&))K!!+..H'.x+\\clqz  IN  Va  mt  F  S\  gn  ~J0L 0L   rM   c                    | j         dk    r/| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	| j                            d          }
|dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |	dk    rt	          ddd          S t
          j                            ||||||||	|
	  	        }|j        }|D ]'}t          ||          }|
                                 (t	          ddd          S t	          ddd          S )Nr>   urlr  r  r   r   r   r   r`   
start_timeend_timerE   rD   Please enter the title .r   Please  enter the url zPlease select lecture type Please select batch.Please select subject.Please select faculty.Please select lecture datePlease select start time)	r  r  r  r   r  r  r`   r  r  
lecture_id
batches_idr   z&live lecture info  saved successfully.r   )rH   r>   rG   getlistr	   r0   rk   r   r   r   r   )rI   r  r  r  batchesr   r   r   r`   r  r  livelecturer(  batch_idlecturebatchs                  rK   addLiveLecturer/  y  s   ~lu%%  ))|''77,&&w//,""9--  )),""9--|''77\%%l33
<##J// "997;U V VWWW"WW7;S T TUUU27;X Y YZZZb[[7;Q R RSSSb[[7;S T TUUU
 b[[7;S T TUUU 27;W X XYYY^^7;U V VWWW '.55)"")%! 6  K" %J $ $ $.)'      !!####  9=e f fggg  7;R S STTTrM   c                 r   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	| j                            d          }
| j                            d          }|dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |	dk    rt	          ddd          S |
dk    rt	          ddd          S | j                            d          rt          ||||||||	|
|
  
        }|                    g d           t          j	        
                    |                                           t          j	        
                    |                                           |D ]'}t          ||          }|                                 (t	          ddd          S t          ||||||||	|
|
  
        }|                    g d           t          j	        
                    |                                           t          j	        
                    |                                           |D ]'}t          ||          }|                                 (t	          ddd          S t	          dd d          S )!Nr>   r   r  r  r  r   r   r   r   r`   r  r  rE   rD   r   r   r!  zPlease enter lecture type 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   z%Lecture Details Updated successfully.r   )rH   r>   rG   r*  r	   r   r0   r   r   rk   rl   deleter   )rI   r   r  r  r  r+  r   r   r   r`   r  r  r,  r-  r.  s                  rK   editLiveLecturer3    sO   ~\d##lu%%  ))|''77,&&w//,""9--  )),""9--|''77\%%l33
<##J// "997;U V VWWW"WW7;S T TUUU27;W X XYYYb[[7;Q R RSSSb[[7;S T TUUU
 b[[7;S T TUUU 27;W X XYYY^^7;U V VWWW }  )) Qk +)"")%!       0Z  0Z  0Z   [  [  [
  '..".==DDFFF&---<<CCEEE ' ( (H#2#%#+$ $ $L
 !%%'''' $yAh$i$ijjj +!-&"&!-)%       0Z  0Z  0Z   [  [  [  '..".==DDFFF&---<<CCEEE ' ( (H#2#%#+$ $ $L !%%'''' $yAh$i$ijjj w7NOOPPPrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zlecture deleted successfully.r   )r>   rG   r0   r   r	   r   s     rK   deleteLiveLecturebyIdr5  Q  r   rM   c                 n   | j         dk    r| j                            d          }| j                            dd          }| j                            d          }| j                            dd          }|dk    rt	          ddd	          S |d
k    rt	          ddd	          S |dk    rt	          ddd	          S |j        dk    rt	          dd|j        |j        d          S t          ||||          }|                    g d           t	          ddd	          S t	          ddd	          S )Nr>   r   	thumbnailFvideo_descriptionzvideo-lecturerD   zPlease select thumbnail .r   rE   zPlease enter video description.z"Please select video file to uploadr   r   r   )r   r7  r8  videos)r7  r8  r9  r   r   zvideo uploaded successfully.r   )rH   r>   rG   r   r	   r   r0   r   )rI   r   r7  r8  r9  videos         rK   uploadVideobyLectureIdr;  X  s   ~\d##M%%k%88	#L,,-@AA""?5997;V W WXXX""7;\ ] ]^^^e^^7;_ ` `aaa~''+wG}  GP  GU  _h  _m  -n  -n   o   o  o #"3	  E JJ%O%O%OJPPP  9=[ \ \]]]  7;R S STTTrM   c                     | j                             d          }t          j                            |          }t          | dd|i          S )Nr   r   zselect_section_topic.htmltopicsr   )rI   r   r=  s      rK   Select_section_topicr>  {  sE    {y))J>  J 77F'6&8IJJJrM   c                    t           j                                        }t          j                                        }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }	| j                            d          }
|	
                    |
          }t          | d||||
|||||d	          S )Nrr   category_idr]   rs   rt   ru   )exam_name__icontainsexam_category_idr\   rw   ry   r{   r|   zexam-master.html)		all_examsr   r}   r|   rr   r   r]   rs   rt   )r#   rk   r   r!   rF   rG   r.   rl   r~   r   r   r   )rI   r   r}   rr   r   r]   rs   rt   rD  r   r   r   s               rK   
examMasterrE    s   #''))L!)--//N		 	 D[__]++H;??8$$Fkook**IKOOI&&G#**,,55e<<I @$$$$??	 @$$h$??	 4$$F$33	 @$$Y$??	 >$$W$==	 )R((I+//&))K!!+..H'-8S_q  HS  [_  ks  }C  PY  dk  /l  /l  m  m  mrM   c           	         | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            dd          }| j                            d	d          }|d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |d
k    rt	          ddd          S |dk    rV|dk    rP|j        dk    rt	          dd|j        |j        d          S t          j                            ||||||          }n|dk    rU|dk    rO|j        dk    rt	          dd|j        |j        d          S t          j                            ||||||          }n|dk    r|dk    ry|j        dk    rt	          dd|j        |j        d          S |j        dk    rt	          dd|j        |j        d          S t          j                            |||||||          }n$t          j                            |||||          }t	          ddd          S t	          ddd          S )Nr>   r@  	exam_namemarks_per_questionnegative_marks_per_questionr]   r   FbannerrE   rD   Please enter exam name.r   zPlease select categoryPlease enter marks per question(Please enter negative marks per questionr   Please select banner.r   r   r   r   )rC  rG  r   rH  rI  r]   ;Please select banner image size less than or equal to 1 MB.)rC  rG  rJ  rH  rI  r]   )rC  rG  rJ  r   rH  rI  r]   )rC  rG  rH  rI  r]   r   Exam saved successfully.r   )	rH   r>   rG   r   r	   r   r.   rk   r   )	rI   r@  rG  rH  rI  r]   r   rJ  r   s	            rK   addExamrQ    s   ~\%%m44L$$[11	$\--.BCC&-l&6&67T&U&U#!!(++!!'%00""8E22b==7;T U UVVV"__7;S T TUUU##7;\ ] ]^^^(",,7;e f fgggU]]7;Q R RSSSe^^7;R S STTTRZZ7;R S STTTFeOO:''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g&.55!,##5,G 6   5..foo;((+w  HE  NT  NY  ci  cn  -o  -o   p   p  p&.55!,##5,G 6   5..foo:''+wG}  GM  GR  \b  \g  -h  -h   i   i  i[7**+w  HE  NT  NY  ci  cn  -o  -o   p   p  p
 '.55!,##5,G 6   '.55!,##5,G 6    9=W X XYYY  7;R S STTTrM   c           
      ^   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            dd	          }| j                            d
d	          }|dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |d	k    r_|d	k    rY|j        dk    rt	          dd|j        |j        d          S t          |||||||          }	|	                    g d           n|d	k    r^|d	k    rX|j        dk    rt	          dd|j        |j        d          S t          |||||||          }	|	                    g d           n|d	k    r|d	k    r|j        dk    rt	          dd|j        |j        d          S |j        dk    rt	          dd|j        |j        d          S t          ||||||||          }	|	                    g d           n-t          ||||||           }	|	                    g d!           t	          d"d#d          S t	          dd$d          S )%Nr>   r   r@  rG  rH  rI  r]   r   FrJ  rE   rD   rK  r   Please select exam categoryrL  rM  r   rN  r   r   r   r   )r   rC  rG  r   rH  rI  r]   )rG  r   rH  rI  r]   r   rO  )r   rC  rG  rJ  rH  rI  r]   )rG  rJ  rH  rI  r]   )r   rC  rG  r   rJ  rH  rI  r]   )rG  rJ  r   rH  rI  r]   )r   rC  rG  rH  rI  r]   )rG  rH  rI  r]   r   rP  r   )rH   r>   rG   r   r	   r   r.   r   )
rI   r   r@  rG  rH  rI  r]   r   rJ  exams
             rK   editExamrU    s   ~\d##\%%m44L$$[11	$\--.BCC&-l&6&67T&U&U#!!(++!!'%00""8E22b==7;T U UVVV"__7;X Y YZZZ##7;\ ] ]^^^(",,7;e f fgggBYY7;Q R RSSSRZZ7;R S STTTRZZ7;R S STTTFeOOzG+++wG}  GL  GQ  [`  [e  -f  -f   g   g  g&)4"+#+=4O%	 	 	D II,},},}I~~~~5..foo;((+w  HE  NT  NY  ci  cn  -o  -o   p   p  p"!,##5,G	 	 	 		(z(z(z	{{{{5..foo:''+wG}  GM  GR  \b  \g  -h  -h   i   i  i[7**+w  HE  NT  NY  ci  cn  -o  -o   p   p  p"!,##5,G	 	 	 		  )C  )C  )C	  D  D  D  D '%0''90K!  D II,u,u,uIvvv y9STTUUU  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zExam deleted successfully.r   )r>   rG   r.   r   r	   r   s     rK   deleteExamByIdrW  \  sF    
,

4
 
 R__  """I6RSSTTTrM   c                     | j                             d          }| j                             d          }|D ]'}t          ||          }|                                 (t          ddd          S )Nr   r   )exam_idr   r   zsubject added successfully.r   )r>   r*  rG   r/   r   r	   )rI   r   r   r   subjects        rK   
AddSubjectr[  c  s}    ,&&|44Z
,

4
 
 R  "
 
 
 	I6STTUUUrM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |	          }t          |d
          }| j                             d          }|                    |          }t          | d||||||d          S )N
blog_titler]   rs   rt   ru   )category_name__icontainsr\   rw   ry   r{   r|   zblog_category.html)blog_category_listr|   category_namer]   rs   rt   )	rF   rG   r,   rk   rl   r~   r   r   r   )	rI   r`  r]   rs   rt   blog_categoryr   r   r   s	            rK   ra  ra  w  se    +//,//M;??8$$Fkook**IKOOI&&G!)0022;;EBBM U%,,m,TT <%,,F,;; H%,,Y,GG F%,,W,EE-,,I+//&))K!!+..H'/hVar  JP  ]f  qx  1y  1y  z  z  zrM   c                 `   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            dd          }| j                            d          }|d	k    rt	          d
dd          S |dk    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |j        dk    rt	          d
d|j        |j        d          S t          ||||||          }|                                 t	          ddd          S t	          d
dd          S )Nr>   Blog_category_name
meta_titlemeta_discriptionslugr   Fr]   rE   rD    Please enter blog category name.r   Please select blog image.Please enter meta title.Please enter meta discription.Please enter slug.r   r   r   r   r`  rd  re  rf  blog_category_imager]   r   z$Blog Category created  successfully.r   rH   r>   rG   r   r	   r   r,   r   )rI   rc  rd  re  rf  
blog_imager]   blogs           rK   add_blog_categoryrq    s   ~$\--.BCC\%%l33
"<++,>??|'']&&wu55
!!(++r!!7;] ^ ^___7;V W WXXX^^7;U V VWWWr!!7;[ \ \]]]2XX7;O P PQQQRZZ7;R S STTT(('7Cy  CM  CR  \f  \k  )l  )l  m  m  m 0%!1$.  D IIKKK  9=c d deee  7;R S STTTrM   c           	      ,   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S |d	k    rt	          d
dd          S | j                            d          rX|j        dk    rt	          d
d|j        |j        d          S t          |||||||          }|                    g d           n-t          ||||||          }|                    g d           t	          ddd          S t	          d
dd          S )Nr>   r   blog_category_namerd  re  rf  ro  r]   rE   rD   rg  r   zPlease enter Meta title.zPlease enter meta description.rk  r   r   r   r   r   )r   r`  rd  re  rf  rm  r]   rl  r   )r   r`  rd  re  rf  r]   )r`  rd  re  rf  r]   r   z#Blog category updated successfully.r   rn  )	rI   r   rc  rd  re  rf  ro  r]   r   s	            rK   edit_blog_categoryrt    s   ~\d##$\--.BCC\%%l33
"<++,>??|'']&&|44
!!(++r!!7;] ^ ^___^^7;U V VWWWr!!7;[ \ \]]]2XX7;O P PQQQ^^7;Q R RSSSRZZ7;R S STTT}  .. l?W,,'7Cy  CM  CR  \f  \k  )l  )l  m  m  m%0%!1$.   

  *A  *A  *A
  B  B  B  B%0%!1   

)j)j)j
kkk  9=b c cddd  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   z#Blog Category deleted successfully.r   )r>   rG   r,   r   r	   r   s     rK   delete_blog_categoryrv    sH    
,

4
 
 R2""$$$I6[\\]]]rM   c                    t           j                                        }| j                            d          }| j                            d          }| j                            d          }| j                            d          }t
          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |	          }t          |d
          }| j                            d          }|	                    |          }	t          | d|	||||||d          S )Nr]  blog_statusrs   rt   ru   )blog_title__icontains)rx  rw   ry   r{   r|   zblogs_list.html)	all_blogsra  r|   r]  rx  rs   rt   )r,   rk   r   rF   rG   r+   rl   r~   r   r   r   )
rI   ra  r]  rx  rs   rt   rz  r   r   r   s
             rK   
blogs_listr{    s~   !)--//M {|,,J..Kkook**IKOOI&&G$$&&//66I G$$:$FF	 >$$$==	 @$$Y$??	 >$$W$==	)R((I+//&))K!!+..H',(S`hs  BL  [f  s|  GN  .P  .P  Q  Q  QrM   c           
         | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }|d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S |j        dk    rt	          dd|j        |j        d          S t          ||||||||          }	|	                                 t	          ddd          S t	          ddd          S )Nr>   ra  r]  blog_discriptionrd  re  rf  ro  r]   rE   rD   Please Select blog category.r   Please enter blog title.ri  rj  rk  rh  r   r   r   r   r@  r]  r}  rd  re  rf  ro  rx  r   Blog post successfully.r   )rH   r>   rG   r   r	   r   r+   r   )
rI   ra  r]  r}  rd  re  rf  ro  r]   rp  s
             rK   	add_blogsr  $  s]   ~((99\%%l33
"<++,>??\%%l33
"<++,>??|'']&&|44
!!(++"7;Y Z Z[[[^^7;U V VWWW ^^7;U V VWWWr!!7;[ \ \]]]2XX7;O P PQQQ^^7;V W WXXXRZZ7;R S STTT((#w?u  I  N  Xb  Xg  %h  %h  i  i  i)%!1%!1%"	 	 	D IIKKK  9=V W WXXX  7;R S STTTrM   c                 |   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	|dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |dk    rt	          ddd          S |	dk    rt	          ddd          S t          |||||||||		  	        }
d	| j        v rB|j        dk    rt	          dd|j        |j        d          S |
                    g d           n|
                    g d           t	          ddd          S t	          ddd          S )Nr>   blog_idra  r]  r}  rd  re  rf  ro  r]   rE   rD   r~  r   r  ri  rj  rk  rh  r   )	r   r@  r]  r}  rd  re  rf  ro  rx  r   r   r   r  r   )r@  r]  r}  rd  re  rf  rx  r   Blog post updated successfully.r   )rH   r>   rG   r   r	   r+   r   r   )rI   r  ra  r]  r}  rd  re  rf  ro  r]   r   s              rK   
edit_blogsr  Y  s   ~,""9--((99\%%l33
"<++,>??\%%l33
"<++,>??|'']&&|44
!!(++"7;Y Z Z[[[^^7;U V VWWW ^^7;U V VWWWr!!7;[ \ \]]]2XX7;O P PQQQ^^7;V W WXXXRZZ7;R S STTT  -)%5)%5) &
 
 
E w},,?W,,'7Cy  CM  CR  \f  \k  )l  )l  m  m  m

  *[  *[  *[
  \  \  \  \

  *N  *N  *N
  O  O  O  9=^ _ _```  7;R S STTTrM   c                     | j                             d          }t          |           t          |                                           t          ddd          S Nr   r   zBlog post deleted successfully.r   )r>   rG   printr+   r   r	   r   s     rK   delete_blogr    sQ    
,

4
 
 R
2YYY
2YYI6WXXYYYrM   c                     t           j                                        }t          j                                        }t	          |d          }| j                            d          }|                    |          }t          | d||d          S )Nr{   r|   zbanner.html)
all_bannerr   )	r#   rk   r   r   r   rF   rG   r   r   )rI   r   r  r   r   r   s         rK   bannersr    sx    #''))L$$&&J*b))I+//&))K!!+..H'=x|)\)\]]]rM   c                    | j         dk    rI| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    r+t	          dd|j                            d          d	          S |dk    rt	          dd
d          S |dk    rt	          ddd          S |dk    rt	          ddd          S |j        dk    rt	          dd|j        |j        d          S t          ||||          }|                                 t	          dd|j        d	          S t	          ddd          S )Nr>   r   positionr]   redirect_urlrE   rD   rN  )r]   r   r   zPlease select banner positionr   Please enter Redirect url.r   r   <Please select banner banner size less than or equal to 1 MB.r   banner_imager  r  r]   r   zBanner saved successfully.r   )rH   r   rG   r>   r	   r   r   r   )rI   r  r  r]   r  rJ  s         rK   
add_bannerr    s   ~}((11<##J//!!(++|''777;R\h\n\r\rsz\{\{ | |}}}r\\7;Z [ [\\\27;W X XYYYRZZ7;R S STTT  7**#w?}  GS  GX  bn  bs  %t  %t  u  u  u)!)	  F KKMMM y9U^j^oppqqq  7;R S STTTrM   c                 \   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          dd	d
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S | j                            d          rV|j        dk    rt	          dd|j        |j        d          S t          |||||          }|                    g d           nt          ||||          }|                    g d           t	          ddd
          S t	          ddd
          S )Nr>   r   r   r  r]   r  rE   rD   rN  r   zPlease select banner position.r  r   r   r  r   )r   r  r  r  r]   r  r   )r   r  r  r]   )r  r  r]   r   zbanner saved successfully.r   )rH   r>   rG   r   r	   r   r   r   )rI   r   r  r  r]   r  rJ  s          rK   edit_bannerr    s   ~\d##}((11<##J//!!(++|''777;R S STTTr\\7;[ \ \]]]27;W X XYYYRZZ7;R S STTT}  )) $w..'7  DB  KW  K\  fr  fw  )x  )x  y  y  y !-%!-!   *]*]*]^^^^ !%!-!	   KK&J&J&JKKKK9=Y Z Z[[[  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zbanner deleted successfully.r   )r>   rG   r   r   r	   r   s     rK   delete_bannerr    sH     
		$		BBKK95STTUUUrM   c                    t           j                                        }| j                            d          }| j                            d          }| j                            d          }t
          j                                                            d          }|rP|dk    r|                    |          }n3|dk    r|                    |          }n|                    |          }|r|                    |	          }|r|                    |
          }t          |d          }| j                            d          }|	                    |          }t          | d||||||d          S )Nr   rs   rt   ru   r  )notification_typer   )!notifications_batches__batches_idrw   ry   r{   r|   znotification.html)all_notificationr|   rs   rt   r  r   )r)   rk   r   rF   rG   r   rl   r~   r   r   r   )	rI   r  r   rs   rt   r  r   r   r   s	            rK   notificationr  	  s    ")--//J
+//'
"
"Ekook**IKOOI&&G$,3355>>uEE 
`N""/666OOm##/666OO
  066Y^6__  N+2292MM L+2272KK*B//I+//&))K!!+..H'.8S^kt  @G  U_  hm  0n  0n  o  o  orM   c                 @   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          ddd	          S |dk    rt	          dd
d	          S t          |||          }|                                 |j        }|D ]'}t          ||          }|                                 (t	          ddd	          S t	          ddd	          S )Nr>   messager   r  r  rE   rD   Please enter Message.r   Please enter redirect url.)r  r  r  Notification_idr)  r   z"Notifcation  created successfully.r   )	rH   r>   rG   r*  r	   r   r   r   r   )rI   r  r+  r  r  r  r-  r.  s           rK   add_notificationr  )  sU   ~,""9--,&&w//#L,,-@AA|''77B;;7;R S STTT27;W X XYYY )"3)  L '?L $ $ $4$0'      !!####  9=a b bccc  7;R S STTTrM   c                    | j         dk    rK| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          dd	d
          S |dk    rt	          ddd
          S t          ||||          }|                    g d           t          j        	                    |          
                                 |D ]'}t          ||          }|                                 (t	          ddd
          S t	          ddd
          S )Nr>   r   r  r   r  r  rE   rD   r  r   r  )r   r  r  r  )r  r  r  r   )r  r  r   z"Notifcation  updated successfully.r   )rH   r>   rG   r*  r	   r   r   r   rk   rl   r2  )	rI   r   r  r+  r  r  r  r-  r.  s	            rK   edit_notificationr  Q  s   ~\d##,""9--,&&w//#L,,-@AA|''77B;;7;R S STTT27;W X XYYY )"3)	  L ,Z,Z,Z[[[!)000DDKKMMM# ( (#8(*#+$ $ $L !%%''''9=a b bccc  7;R S STTTrM   c                     | j         dk    rM| j                            d          }t          |                                           t          ddd          S t          ddd          S )Nr>   r   r   z"Notification deleted successfully.r   rD   r   )rH   r>   rG   r   r   r	   r   s     rK   delete_notificationr  v  sn    ~\d##b%%'''y9]^^___  7;R S STTTrM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                             d          }|                    |          }	t          | d|	||||||d          S )Nrr   courser]   rs   rt   ru   )name__icontains)r  r\   rw   ry   r{   r|   ztestimonial.html)all_testimonialrr   r  r]   r|   rs   rt   )	rF   rG   r   rk   rl   r~   r   r   r   )
rI   rr   r  r]   rs   rt   r  r   r   r   s
             rK   testimonialr    s   		 	 D;??8$$F;??8$$Fkook**IKOOI&&G"*1133<<UCCO G)000FF @)000?? @)000?? L)000KK J)000II /2..I+//&))K!!+..H'-RV`fpv  J  W`  kr  /s  /s  t  t  trM   c                 <   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          dd	d
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S | j                            d          rN|j        dk    rt	          dd|j        |j        d          S t          j                            |||||          }n#t          j                            ||||          }t	          ddd
          S t	          ddd
          S )Nr>   rr   r  r   reviewr]   rE   rD   Please enter name.r   Please enter course name.Please enter review.Please select statusr   r   r   rr   r  r   r  r]   rr   r  r  r]   r   z!testimonial created successfully.r   )	rH   r>   rG   r   r	   r   r   rk   r   )rI   rr   r  r   r  r]   r  s          rK   add_testimonialr    s   ~|''!!(++!!'**!!(++  **887;O P PQQQRZZ7;V W WXXX RZZ7;Q R RSSSRZZ7;Q R RSSS}  )) :''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g*299 :   +299	 :    9=` a abbb  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          d	d
d          S |dk    rt	          d	dd          S |dk    rt	          d	dd          S |dk    rt	          d	dd          S |dk    rt	          d	dd          S | j                            d          rW|j        dk    rt	          d	d|j        |j        d          S t          ||||||          }|                    g d           n,t          |||||          }|                    g d           t	          ddd          S t	          d	dd          S )Nr>   r   rr   r  r   r  r]   rE   rD   r  r   r  r   r  r  r   r   r   )r   rr   r  r   r  r]   r  r   )r   rr   r  r  r]   r  r   zTestimonial saved successfully.r   )rH   r>   rG   r   r	   r   r   r   )rI   r   rr   r  r   r  r]   r  s           rK   edit_testimonialr    sS   ~\d##|''!!(++!!'**!!(++  **887;O P PQQQRZZ7;V W WXXXBYY7;Q R RSSSRZZ7;Q R RSSSRZZ7;Q R RSSS}  )) T:''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g*!!!     /Z/Z/Z [[[[ +!!!     /R/R/R SSS9=^ _ _```  7;R S STTTrM   c                     | j         dk    rM| j                            d          }t          |                                           t          ddd          S t          ddd          S )Nr>   r   r   z!Testimonial deleted successfully.r   rD   r   )rH   r>   rG   r   r   r	   r   s     rK   delete_testimonialr  	  sn    ~\d##R$$&&&y9\]]^^^  7;R S STTTrM   c                    d}| j         dk    rqt          j                            | j                            d          | j                            d          | j                            d          ddddd           d}| j                            d	          }| j                            d
          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }t          j                                        }t          j                                        }	t          j                            d                              dd                              d          }
|r|
                    |          }
|rF|
                    t          dt!          d          d                                        |          }
|r|
                    |          }
|r|
                    |          }
|r|
                    |          }
|r|
                    |          }
t#          |
d          }| j                            d          }|                    |          }g }|D ]}g }t          j                            |j                  }|D ][}t          j                            |j                  }|                                r |                    |d         j                   \|                    d                     |                     t3          | d!||	||||||||||||d"          S )#NrE   r>   
student_id	course_idr-  r[   r  r  r-  
area_mockssectional_mocks
mini_mocks
full_mockslecturesBatch assigned successfully.order_idrr   numberrs   rt   )is_orderrb   r  ru   r   student_id__first_name student_id__last_namefullnamefullname__icontains)student_id__mobile__icontainsr  rw   ry   r{   r|   r  r   ,z
sales.html)r   r   r  rr   	all_salesr|   r  rs   rt   r+  r   r  rr   r  )rH   r   rk   r   r>   rG   rF   r    r   r)   r   rl   rp   r~   annotater9   r:   r   r   r  r-  rm   appendr   joinr   )rI   r   r  rr   r  r  rs   rt   r   r   r  r   r   r   r+  orderr   batch_cr-  b_details                       rK   Selesr    s   
C~## )),77((55|''
33 	$ 		
 		
 		
 +[__Z((H		 	 D;??8$$Fkook**Ikook**IKOOI&&G.$$&&K"*..00K%%q%11@@8TT]]^cddI 2$$$11	 X&&7OQVWZQ[Q[]t0u0u&vv}}  SW}  X  X	 K$$6$JJ	 :$$y$99	 @$$Y$??	 >$$W$==	)R((I+//&))K!!+..HG ( (&--9I-JJ 	5 	5H'/66(:K6LLH~~ 5Xa[3444sxx'''''<sYbjn  |D  LW  ck  xA  LS  ^e  t  LU  ]a  kq  )r  )r  s  s  srM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                        }t
          j                            dd	                              d
d                              d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |          }t          |d          }	| j                             d          }
|	
                    |
          }t          | d||
|||||||d	          S )Nr  rr   r  rs   rt   r  Fr   )payment_method__isnullr  rb   r  ru   r  )"student_id__first_name__startswith)student_id__mobiler  rw   ry   r{   r|   zfailed_orders.html)	r  r|   r  rs   rt   r   r  rr   r  )rF   rG   r    rk   r   r   rl   rp   r~   r   r   r   )rI   r  rr   r  rs   rt   r  r   r  r   r   r   s               rK   failed_ordersr  J  s   [__Z((H		 	 D;??8$$Fkook**IKOOI&&Gkook**I.$$&&K%%UA%NN]]^ghpqqzz  |A  B  BI 2$$$11	 N$$$MM	 @$$$??	 ;%%	%:: @$$Y$??	 >$$W$==	)R((I+//&))K!!+..H'/X[dl  zC  NU  do  }F  NR  \b  1c  1c  d  d  drM   c           
         | j         dk    r)| j                            d          }| j                            d          }| j                            d          }t          j                            |          }t          j                            |d         j                  }t          j                            |                              ||d           t          j        
                    |d         j        |d         j        |d         j        ddddd	           t          d
dd          S t          ddd          S )Nr>   r   payment_methodr  r  r   r[   )r  payment_statusr  r  r   zStatus changed successfully.r   rD   r   )rH   r>   rG   r   rk   rl   r    r  updater   r   r  r-  r	   )rI   r   r  r  r  r   s         rK   Change_Statusr  g  sB   ~\d## ))*:;; ))+66 &&"&--%%)<%==$$++++ 	, 	 	 	 	###AY1"1I/ 8,"# 	$ 		 		 		 y9WXXYYY  7;R S STTTrM   c                     t           j                            dd                              |          }t	          | dd|i          S )Nr  rb   r  zsales-details.htmlr  )r   rk   prefetch_relatedrG   r   )rI   r   r  s      rK   seles_Detailsr    sC     N++HY??CCrCJJE'/@@@rM   c           
         t           j                            | j                            d          | j                            d          | j                            d          ddddd           t          ddd          S )	Nr  r  r-  r[   r  r   r  r   )r   rk   r   r>   rG   r	   r   s     rK   assign_batchr    s    \%%l33L$$[11<##J//   	 	 	 95STTUUUrM   c                 F   | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                        }t
          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                             d          }	|	                    |	          }
t          | d|
|	||||||d          S )Nrr   r  r]   rs   rt   ru   rr   r  r\   rw   ry   r{   r|   zresult.html)
all_resultr|   rr   r  r]   rs   rt   r   )rF   rG   r    rk   r   r1   rl   r~   r   r   r   )rI   rr   r  r]   rs   rt   r   r  r   r   r   s              rK   Resultsr    s   		 	 D;??;''F;??8$$Fkook**IKOOI&&G##%%K'..0099%@@J 2&&D&11
 9&&&88
 6&&f&55
 B&&y&AA
 @&&w&??
 *b))I+//&))K!!+..H'=x{Z^kq  |B  OX  cj  yD  *E  *E  F  F  FrM   c                    | j         dk    r*| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          ddd	          S |dk    rt	          dd
d	          S |dk    rt	          ddd	          S |dk    rt	          ddd	          S |j        dk    rt	          dd|j        |j        d          S t          ||||          }|                                 t	          ddd	          S t	          ddd	          S )Nr>   rr   r  r   r]   rE   rD   r  r   r  r   r  r   r   r   rr   r  r   r]   r   zResult Added successfully.r   rH   r>   rG   r   r	   r   r1   r   )rI   rr   r  r   r]   results         rK   
add_resultr    s   ~|''!!+..!!'**  **887;O P PQQQRZZ7;V W WXXXBYY7;Q R RSSSRZZ7;Q R RSSSzG##+wG}  GL  GQ  [`  [e  -f  -f   g   g  g# 	  F KKMMM  9=Y Z Z[[[  7;R S STTTrM   c                 \   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt	          dd	d
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S |dk    rt	          ddd
          S | j                            d          rV|j        dk    rt	          dd|j        |j        d          S t          |||||          }|                    g d           n+t          ||||          }|                    g d           t	          ddd
          S t	          ddd
          S )Nr>   r   rr   r  r   r]   rE   rD   r  r   r  r   r  r   r   r   )r   rr   r  r   r]   r  r   )r   rr   r  r]   )rr   r  r]   r   zResult saved successfully.r   r  )rI   r   rr   r  r   r]   r  s          rK   edit_resultr    s   ~\d##|''!!+..!!'**  **887;O P PQQQRZZ7;V W WXXXBYY7;Q R RSSSRZZ7;Q R RSSS}  )) I:''+wG}  GL  GQ  [`  [e  -f  -f   g   g  g'$!   *O*O*OPPPP ($!	   *G*G*GHHH9=Y Z Z[[[  7;R S STTTrM   c                     | j         dk    rM| j                            d          }t          |                                           t          ddd          S t          ddd          S )Nr>   r   r   zResult deleted successfully.r   rD   r   )rH   r>   rG   r1   r   r	   r   s     rK   delete_resultr  !	  sn    ~\d##r&&(((y9WXXYYY  7;R S STTTrM   c                 |   | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                        }t
          j                                                            d          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }|r|                    |          }t          |d          }	| j                             d          }
|		                    |
          }t          | d|||
||||||d	          S )Ncoder  r]   valid_tors   rt   ru   )r  r\   )validto__lterw   ry   r{   r|   zcoupons.html)	
all_couponr   r|   r  r  r  r]   rs   rt   )rF   rG   r    rk   r   r   rl   r~   r   r   r   )rI   r  r  r]   r  rs   rt   r   r  r   r   r   s               rK   coupon_coder  1	  s   		 	 D;??8$$F;??8$$F[__Z((Hkook**IKOOI&&G.$$&&K''))22599J 2&&D&11
  6&&f&55
 >&&H&==
 B&&y&AA
 @&&w&??
*b))I+//&))K!!+..H'>P[cnvz  EK  W_  io  |E  PW  +X  +X  Y  Y  YrM   c           	      :   | j         dk    r~| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S |d	k    rt          d
dd          S t          j                            |||||||          }t          ddd          S t          d
dd          S )Nr>   r  r   discount_typeminimum_amountdiscountvalidtor]   rE   rD   Please enter coupon code.r   Please select coursePlease enter minimum amountPlease select discount type$Please select validity date and timer   )r  course_name_idr   r  r  r  r]   r   zCoupon added successfully.r   )rH   r>   rG   r	   r   rk   r   )	rI   r  r   r   r  discount_amountr  r]   coupens	            rK   add_couponsr  Q	  s    ~|''l&&}55l&&77 ))*:;;((44,""9--!!(++887;V W WXXX"__7;Q R RSSSR7;X Y YZZZB7;X Y YZZZ
 b[[7;a b bcccRZZ7;R S STTT _++*+-*  , 	 	F  9=Y Z Z[[[  7;R S STTTrM   c           
         | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }|d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S |d
k    rt          ddd          S t	          ||||||||          }	|	                    g d           t          ddd          S t          ddd          S )Nr>   r   r  r   r   r  r  r  r]   rE   rD   r  r   r  r  r  zPlease enter discount amountr  r   )r   r  r	  r   r  r  r  r]   )r  r	  r]   r   r  r  r  r   r   zCoupon updated successfully.r   )rH   r>   rG   r	   r   r   )
rI   r   r  r   r   r  r
  r  r]   r  s
             rK   edit_couponr  	  s1    ~\d##|''l&&}55l&&77 ))*:;;((44,""9--!!(++887;V W WXXX"__7;Q R RSSSR7;X Y YZZZB7;X Y YZZZb  7;Y Z Z[[[ b[[7;a b bcccRZZ7;R S STTT *+-* 
 
 
F KK  'A  'A  'AK  B  B  B  9=[ \ \]]]  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zcoupon deleted successfully.r   )r>   rG   r   r   r	   r   s     rK   delete_couponr  	  sF    
,

4
 
 RR[[I6TUUVVVrM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                             d          }|                    |          }	t          | d|	||||||d          S )Nrr   r   r   rs   rt   ru   r  r   mobilerw   ry   r{   r|   zcourse-enquiries.html	enquiriesr|   rr   rs   rt   r   r   )	rF   rG   r   rk   rl   r~   r   r   r   
rI   rr   r   r   rs   rt   r  r   r   r   s
             rK   Course_enquiriesr  	  s    
	 	 D
+//'
"
"EKOOI&&Gkook**IKOOI&&G!((**33E::I 0$$$$//	 2$$5$11	 5$$G$44	 @$$Y$??	 >$$W$==	)R((I+//&))K!!+..H'2P[cgt}  IP  Y^  ip  4q  4q  r  r  rrM   c                     | j                             d          }t          |                                           t	          ddd          S Nr   r   zEnquiry deleted successfully.r   )r>   rG   r   r   r	   r   s     rK   delete_course_enquiriesr  	  sF    
,

4
 
 Rr]]   I6UVVWWWrM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |	          }|r|                    |
          }|r|                    |          }t          |d          }| j                             d          }|                    |          }	t          | d|	||||||d          S )Nrr   r   r   rs   rt   ru   
first_namer  )r   rw   ry   r{   r|   zcontact-us-enquiries.htmlr  )	rF   rG   r   rk   rl   r~   r   r   r   r  s
             rK   Contact_us_enquiriesr  	  s    
	 	 D
+//'
"
"EKOOI&&Gkook**IKOOI&&G"*1133<<UCCI 6$$$55	 2$$5$11	 6$$W$55	 @$$Y$??	 >$$W$==	)R((I+//&))K!!+..H'6HT_gk  yB  MT  ]b  mt  8u  8u  v  v  vrM   c                     | j                             d          }t          |                                           t	          ddd          S r  )r>   rG   r   r   r	   r   s     rK   delete_Contact_us_enquiriesr!  	  sH    
,

4
 
 R'')))I6UVVWWWrM   c                     t           j                            |          }t          |d          }| j                            d          }|                    |          }t          | dd|i          S )Nr-  r{   r|   zbatch-student-list.htmlstudent_listr   rk   rl   r   rF   rG   r   r   rI   r   r$  r   r   r   s         rK   Batch_Students_listr'  
  sj      '...;;L,++I+//&))K!!+..H'4nX5NOOOrM   c                     t           j                            |          }t          |d          }| j                            d          }|                    |          }t          | dd|i          S )Nr  r{   r|   zcourse-student-list.htmlr$  r%  r&  s         rK   Course_Students_listr)  
  sh    '...<<L,++I+//&))K!!+..H'5~h6OPPPrM   c           	         | j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }t          |d          }| j                             d          }|                    |          }t          | d||||d	          S )
Nrs   rt   ru   rw   ry   r{   r|   zreports.html)r  r|   rs   rt   )	rF   rG   r   rk   rl   r~   r   r   r   )rI   rs   rt   r  r   r   r   s          rK   reportr+  
  s     kook**IKOOI&&G%%''0077I @$$Y$??	 >$$W$==	)R((I+//&))K!!+..H'>x{_hsz*{*{|||rM   c           	         t           j                                        }t          j                                        }t          j                                        }t
          j                                        }t          |d          }| j                            d          }|	                    |          }t          | d||||d          S )Nr{   r|   zall-questions-bank-list.html)Question_listr   r   Topics_list)r#   rk   r   r$   r&   r%   r   rF   rG   r   r   )rI   r   r   r.  r-  r   r   r   s           rK   all_question_bankr/  '
  s    #''))L$,0022.$$&&K!)--//M-,,I+//&))K!!+..H'98co  EV  ep  ;q  ;q  r  r  rrM   c                 H   | j                             d          }t          j                                        }t
          j                                        }t          j                                        }t          j                                        }t          |d          }| j                             d          }t          j                            |          }|
                    |          }	t          j        |j                  }
t          | d|
|||	|||d          S )Ntest_idd   r|   r  zadd-mock-questions.html)qidstestr1  r-  r   r   r.  )rF   rG   r#   rk   r   r$   r&   r%   r   r'   r   jsonloadsquestion_idsr   )rI   r1  r   r   r.  r-  r   r   r4  r   r3  s              rK   add_mock_questionsr8  3
  s
   kooi((G#''))L$,0022.$$&&K!)--//M---I+//&))K  G ,,D!!+..H:d'((D'4TX_px  IU  j{  JU  6V  6V  W  W  WrM   c                    | j                             d          }| j                            d          }t          j        }| j                            d          r.|                    | j                            d                    }| j                            d          r.|                    | j                            d                    }| j                            d          r.|                    | j                            d                    }t          |d	          }| j                            d
          }|                    |          }t          | d|t          j
        |          d          S )Nr1  r3  r   r   r   r   r   )r  r2  r|   zfilter-questions.html)r-  r3  )r>   rG   rF   r%   rk   rl   r   r   r   r5  r6  )rI   r1  r3  r-  r   r   r   s          rK   filter_questionsr:  B
  s@   ly))G;??6""D!)M{y!! R#**gkooi6P6P*QQ{}%% Z#**'+//-:X:X*YY{w N#**GKOOG4L4L*MM---I+//&))K!!+..H'2HUYU_`dUeUe3f3fgggrM   c                     | j                             d          }| j                             d          }t          j                            |                              |           t          ddd          S )Nr1  r3  r  )r7  r   z*Questions added successfully successfully.r   )r>   rG   r'   rk   rl   r  r	   )rI   r   r3  s      rK   save_mock_questionsr<  T
  sp     
		)	$	$B<F##D##***===95abbcccrM   c                     t           j                                        }t          j                                        }t          j                                        }t          | d|||d          S )Nzadd-question.html)r   r   r.  )r#   rk   r   r$   r&   r   )rI   r   r   r.  s       rK   add_questionr>  ]
  sp    #''))L$,0022.$$&&K'.|`q  AL  0M  0M  N  N  NrM   c                    | j         dk    r| j        d         r| j        d         }t          j        |          }|j        }g }g }g }|                    dd          D ]}|d         }|d         }	|d         }
|d         }|d	         }|d
         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }d}t          ||	|
|||||||||          }|                    |           ||||g}|                    |           t          j        	                    |           t          t          j                            d |D                                           dd                    }g }| t          |                    dd                    D ]\  }}||         }|d         }|d         }|d         }|d         }|r2||k    rd}nd}t          |||          }|                    |           |r2||k    rd}nd}t          |||          }|                    |           |r2||k    rd}nd}t          |||          }|                    |           |r2||k    rd}nd}t          |||          }|                    |           t          j        	                    |           t          d|d          S t!          | d          S )Nr>   	excelFile   Tmin_rowvalues_onlyr   r[                     	   r{               Active)r   r   r  question_typequestion	paragraphdifficulty_levelmarksnegative_marksexplanationcorrect_answerr]   c                     g | ]	}|j         
S  )
created_at).0rR  s     rK   
<listcomp>zupload_data.<locals>.<listcomp>
  s    OOOHH/OOOrM   )created_at__inr   )flat)question_idoption
is_correctzData uploaded successfully.)r  r   zupload.html)rH   r   openpyxlload_workbookactive	iter_rowsr%   r  rk   bulk_createlistrl   values_list	enumerater-   r	   r   )rI   
excel_filewbsheetquestions_dataoptions_dataoptionsrowr   subsection_idr  rQ  rR  rS  option_1option_2option_3option_4rX  answer_explainationrT  rU  rV  r]   question_objoption_datar7  rb  indexr`  
option_objs                                  rK   upload_datar|  d
  s   ~GM+$>];/
 #J//	??1$??? 	( 	(CQJFM1vHFM1vHAI1vH1vH1vH1vHGN"%b'"2wGE WNF )J}go2?(^g5EUcq  @S  cq  z@% % %L !!,///#XxBKNN;'''' 	)).999M188OOOOO 9 
 

+d+
&
&( (  	
#EOOA4O$P$PQQ 3	0 3	0JE3&u-K1vH1vH1vH1vH 
0!8++ JJ J# +#)  

 ##J/// 
0!8++ JJ J# +#)  

 ##J/// 
0!8++ JJ J# +#)  

 ##J/// 
0!8++ JJ J# +#)  

 ##J/// 	""<000(ER^__```'=)))rM   c           
      V   t           j                                        }t          j                                        }t          j                                        }t
          j                            |          }t          j        |j	                  }t          | d|||||d          S )Nr  zedit-question.html)r-  r   r   r.  rp  )r#   rk   r   r$   r&   r%   rG   r5  r6  rp  r   )rI   r   r   r   r.  r-  rp  s          rK   editquestionr~  
  s    #''))L$,0022.$$&&K!)---44Mj.//G'.^j  @Q  `k  w~  1  1  @  @  @rM   c                 "    t          | d          S )Nzcreate-course.htmlrR   rS   s    rK   create_courser  
  s    '/000rM   c           	         | j                             d          }| j                             d          }t          j                                        }t
          j                            ||          }t          |d          }| j                             d          }|                    |          }t          | d||||d          S )N	series_idtype)	mock_typer  r{   r|   zmock-test.html)mock_test_listr}   r  r  )
rF   rG   r!   rk   r   r'   rl   r   r   r   )rI   r  r  r}   	mock_testr   r   r   s           rK   r  r  
  s    ,,I''I!)--//N!((Y)(TTI)R((I+//&))K!!+..H'+hXft}  MV  -W  -W  X  X  XrM   c                    t           j                                        }t          j                                        }t          j                                        }t
          j                                        }| j                            d          }| j                            d          }t          | d||||||d          S )Nr  r  zmock-test-list-add.html)r}   r   r   r.  r  r  )	r#   rk   r   r$   r&   r!   rF   rG   r   )rI   r   r   r.  r}   r  r  s          rK   add_mock_testr  
  s    #''))L$,0022.$$&&K!)--//N,,I''I'4~eq  GX  gr  @I  Xa  6b  6b  c  c  crM   c                     | j                             d          }t          j                            |          }t          | dd|i          S )Nsearch)mock_title__startswithzsearch_mock.htmlr  )rF   rG   r'   rk   rl   r   )rI   r  r  s      rK   search_mockr  
  sG    [__X&&F&--V-LLN'-0@/PQQQrM   c                    | j         dk    rd| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	| j                            d          }
| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |	dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S t	          |||t          j        g           d||||||
|	|          }|                                 t          ddd          S t          ddd          S )Nr>   
mock_titler  r  
mock_leveltotal_questionstotal_marksmock_durationpass_peris_accessible	test_daterV  r]   rE   rD   zPlease enter Mock Title.r   zPlease enter mock type.Please enter total questions.Please enter total marks.Please enter mock duration.Please enter pass Percentage.Please enter accessible number.Please enter negative marks.r   Easy)r  r  r  r7  r  r  r  r  rV  r]   r  r  r  r   zMock Test saved successfully.r   )rH   r>   rG   r	   r'   r5  dumpsr   )rI   r  r  r  r  r  r  r  r  r  r  rV  r]   r   s                 rK   add_mocktestr    s   ~\%%l33
L$$[11	L$$[11	
 \%%l33
!,**+<==l&&}55((99<##J//((99L$$[11	 ))*:;;!!(++r>>7;U V VWWW]]7;T U UVVVb  7;Z [ [\\\"__7;V W WXXXB7;X Y YZZZr\\7;Z [ [\\\B7;\ ] ]^^^ R7;Y Z Z[[[RZZ7;R S STTT  %##
 "Z^^! /'!-#++#  G* LLNNN  9=\ ] ]^^^  7;R S STTTrM   c                 	   | j         dk    rb| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	| j                            d          }
| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }g }|r|                    |           |r|                    |           |r|                    |           |r|                    |           |r|                    |           d}|dk    rt          ddd          S |	dk    rt          ddd          S |dk    rt          ddd          S |dk    s|dk    r0|dk    r*|dk    r$|dk    r|dk    r|dk    rt          ddd          S |dk    r|rIt          j                            ||||||
|||	|||||t          j
        |          |           }|j        }nt          j                            |||||
|||	|||||t          j
        |          |!          }|j        }t          j                            |j        |||||
|||	|||||t          j
        |          |           }|j        }nKt          j                            |||||
|||	|||||t          j
        |          |!          }|j        }d}d}t          d"d#||
d$          S t          dd%d          S )&Nr>   r   r   r   rQ  rT  time_to_speedmarknegative_markrR  rS  editor2r]   question_filepquestion_id
pparagraphrs  rt  ru  rv  option_5rX  r   rE   rD   Please enter Section name.r   zPlease enter question.r   mcqzPlease enter atleast 2 options.)parent_question_idr   r   r  rQ  rS  rT  r  rR  rW  r  r]   rU  rV  rp  rX  )r   r   r  rQ  rS  rT  r  rR  rW  r  r]   rU  rV  rp  rX  r   z)Question added successfully successfully.)r]   r   r`  rS  r   )rH   r>   rG   r   r  r	   r%   rk   r   r5  r  r   )rI   r   r   r   rQ  rT  r  r  r  rR  rS  rW  r]   r  r  r  rs  rt  ru  rv  r  rX  ro  r`  r   subquestions                             rK   add_question_storer  g  s
   ~\%%l33
 ))*:;;  ))((99"<++,>??((99|''((99<##J//L$$[11	l&&y11!!(++))/::|''77\%%l33
<##J//<##J//,"":..<##J//<##J// ))*:;; 	*))) 	*))) 	*))) 	*))) 	*)))r>>7;W X XYYYR<<7;S T TUUURZZ7;R S STTTe##}k'A'AR<<HbLLXr\\hPRllW_acWcWc'7Cd(e(efffk))   91+3::+7#-'5!&&3"+)9&3!)$/&3%"'4 $
< 8 8'5! ;  G$ #**KK+3::#-'5!&&3"+)9&3!)$/&3%"'4 $
< 8 8'5 ;  G" ")L"/"7">">+2:#-'5!&&3"+)9&3!)$/&3%"'4 $
< 8 8'5! #? # #K$ #..KK'/66)#1""/'%5"/% +"/!#0 J|44#1 7  " &j

 y9d  uA  OX  Y  Y  Z  Z  	Z w7NOOPPPrM   c                    | j         dk    r| j                            d          }t          |           t	          j        |          }|d         }t          |           t                      }|                                D ]u}t                      }|D ]=}t          |j                   |	                    t          |j                             >|	                    |           t          d          c S d S t          ddd          S )Nr>   rk  Sheet1z<h2> form submitted.</h2>rD   r   r   )rH   r   rG   r  rc  rd  rh  rf  valuer  strr   r	   )rI   rk  rl  	worksheet
excel_datarq  row_datacells           rK   upload_excelr    s   ~ ]&&|44
j #J// xL	iVV
 &&(( 	= 	=CvvH 1 1dj!!!DJ0000h''' ;<<<<<	= 	=d w7NOOPPPrM   c                    | j         dk    r=| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	| j                            d          }
| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |	dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S t	          |||||d||	|
|||          }|                    g d           t          ddd          S t          ddd          S ) Nr>   mock_idr  r  r  r  r  r  r  r  r  rV  r]   rE   rD   r  r   r  r  r  r  r  r  r   r  )r   r  r  r  r  r  r  r  r  rV  r]   r  )r  r  r  r  r  r  rV  r  r  r]   r  r   r   zMock Test Updated successfully.r   )rH   r>   rG   r	   r'   r   )rI   r   r  r  r  r  r  r  r  r  r  rV  r]   mocks                 rK   	edit_mockr  :  s   ~\i((\%%l33
L$$[11	!,**+<==l&&}55\%%l33
((99<##J//((99L$$[11	 ))*:;;!!(++r>>7;W X XYYYb  7;Z [ [\\\"__7;V W WXXXB7;X Y YZZZr\\7;Z [ [\\\B7;\ ] ]^^^ R7;Y Z Z[[[RZZ7;R S STTT %# /'!!+#-+  D" II  %}  %}  %}I  ~  ~  ~9=^ _ _```  7;R S STTTrM   c                    | j         dk    r| j        d         r| j        d         }t          j        |          }|j        }g }|                    dd          D ]p}|d         }|d         }|d         }|d         }	|d	         }
|d
         }|d         }|d         }d}t          ||||	|||
|          }|                    |           qt          j        	                    |           t          ddd          S )Nr>   r@  rA  TrB  r   r[   rE  rF  rG  rH  rI  New)r  	last_namer   r  sourceremarkaddressr]   r   zLeads uploaded successfully.r   )rH   r   rc  rd  re  rf  r   r  rk   rg  r	   )rI   rk  rl  rm  
leads_datarq  r  r  r   r  location	lead_typer  r  r]   lead_objs                   rK   upload_lead_excelr  y  s&   ~GM+$>];/
 #J//	
??1$??? 	( 	(CQJAIFEVF1vHAIVFVFF 
#   H h'''' 	!!*---95STTUUUrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zMock Test deleted successfully.r   )r>   rG   r'   r   r	   r   s     rK   delete_mockr    sF    			$		BbMM95VWWXXXrM   c                     d}| j         dk    rqt          j                            | j                            d          | j                            d          | j                            d          ddddd           d}t          j                                        }t          j        	                    d	
          
                    d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }	t          j                                        }
|rF|                    t          dt          d          d                    	                    |          }|r|	                    |          }|r|	                    |          }|r|	                    |          }|r|	                    |          }|	r|	                    |	          }t!          |d          }| j                            d          }|                    |          }d}| j                            d          r| j                            d          }g }|D ]}g }t          j        	                    |j                  }|D ][}t          j        	                    |j                   }|                                r |                    |d	         j                   \|                    d!                    |                     t1          | d"|||||||||||	d#          S )$NrE   r>   r  r  r-  r[   r  r  r   )is_leadru   rr   r  r]   r   rs   rt   r  r  r  r  r  )mobile__icontainsr\   )ordercourses__batch_idrw   ry   r{   r|   r  r  r  r  zstudent_module.html)r+  r   r   r$  r  rr   r  r]   r   rs   rt   )rH   r   rk   r   r>   rG   r)   r   r*   rl   r~   rF   r    r  r9   r:   r   r   r   r-  rm   r  r   r  r   )rI   r   r   r$  rr   r  r]   r   rs   rt   r   r   r   r   r  r+  r  r  r-  r  s                       rK   Students_listr    s   
C~## )),77((55|''
33 	$ 		
 		
 		
 +"*..00K#**1*55>>uEEL
 
	 	 D;??8$$F;??8$$F
+//'
"
"Ekook**IKOOI&&G ""$$K  F#,,f\5QT::Wb6c6c,ddkk  AEk  F  F E#**V*DD :#**&*99 I#**%*HH F#**9*EE D#**7*CC,++I+//&))K!!+..HF{x   +**G ( (&---BB 	5 	5H'/66(:K6LLH~~ 5Xa[3444sxx'''''0G#\gw  KQ  Y]  gm  w}  FK  Xa  ls  2t  2t  u  u  urM   c                     t           j                            |                              d          }t	          | dd|i          S )Nr#  rb   zbatch-students.htmlr$  )r   rk   rl   rp   r   rI   r   r$  s      rK   batch_studentsr    sA    '...;;JJ9UUL'0.1NOOOrM   c                    | j         dk    rD| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	|dk    rt          ddd          S t	          |||||||||		  	        }
|
                    g d           t          ddd          S t          ddd          S )Nr>   r  fnamelnamer   r   r  citystatepincoderE   rD   zPlease enter First name.r   )	r   r  r  r   r  r  r  r  r  )r  r  r   r  r  r  r  r  r   r   Student Updated successfully.r   )rH   r>   rG   r	   r*   r   )rI   r   r  r  r   r  r  r  r  r  r  s              rK   edit_studentr    sj   ~\l++\%%g..
L$$W--	  ))!!),,,""9--|''  )),""9--r>>7;U V VWWW %#
 
 
D II$r$r$rIsss9=\ ] ]^^^  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S Nr   r   zStudent deleted successfully.r   )r>   rG   r*   r   r	   r   s     rK   delete_studentr    sH     
		$		BRLL95TUUVVVrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zLead deleted successfully.r   )r>   rG   r   r   r	   r   s     rK   delete_leadr    sH     
		$		B	"II95QRRSSSrM   c                 B   | j                             d          }t          j                            |          }| j                             d          }|j        dk    rd}nd}t          |||          }|                    ddg           t          d	d
d          S )Nr  r  r  rP  Inactive)r   r  r]   r]   r   r   r  r   )r>   rG   r*   rk   r]   r   r	   )rI   r   r$  r  r]   rb   s         rK   block_studentr  #  s     
		,	'	'B#''2'..L\h''Fh&&  G
 LL2L33395TUUVVVrM   c                    | j                             d          }| j                             d          }| j                             d          }t          j                            d|          }t          | dd|i          S )Nr  datesr[   )r  source__startswithzsearch_student.htmlr$  )rF   rG   r*   rk   rl   r   )rI   r  r  r  r$  s        rK   search_studentr  8  sr    [__X&&FKOOG$$E[__W%%F #**A&*QQL '0>,2OPPPrM   c                 h    t           j                            |          }t          | dd|i          S )Nr  student_profile.htmlr$  )r*   rk   rG   r   r  s      rK   Student_Profiler  J  s3    #''2'..L'1>,2OPPPrM   c                 P   t           j                                        }t          j                                        }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }	t          j                                                            d          }
|r|
                    |	          }
|r|
                    |
          }
|r|
                    |          }
|r|
                    |          }
|	r|
                    |	          }
|r|
                    |          }
|r|
                    |          }
t          |
d          }| j                            d          }|
                    |          }t          | d||||	|||||||d          S )Nr  rr   r  rs   rt   r  r]   ru   )r  r  r  )	source_id)	status_idrw   ry   rA  r|   zlead_management.html)r$  r|   r  r]   rs   rt   r  
all_source
all_statusrr   r  )r   rk   r   r   rF   rG   r   rl   r~   r   r   r   )rI   r  r  r  rr   r  rs   rt   r  r]   r$  r   r   r   s                 rK   Lead_Managementr  S  s<   "&&((J"&&((Jkook**I		 	 D;??8$$Fkook**IKOOI&&G;??8$$F;??8$$F=''))22599L @#**Y*?? <#**d*;; :#**&*99 =#**V*<< =#**V*<< F#**9*EE D#**7*CC,**I+//&))K!!+..H'1(R]gmw}  KT  _f  s|  JT  bl  tx  BH  3I  3I  J  J  JrM   c                    t           j                            d          }| j                            d          r.|                    | j                            d                    }t          |d          }| j                            d          }|                    |          }d}| j                            d          r| j                            d          }t          | d||d	          S )
NTrY   r  r  r{   r|   rE   zapp-leads.html)r$  r  )r*   rk   rl   rF   rG   r   r   r   )rI   r$  r   r   r   r  s         rK   	app_leadsr  t  s    #***FFL{x   L"))1J1J)KK,++I+//&))K!!+..HF{x   +**'+Hv,V,VWWWrM   c                 r    t           j                            t                    }t	          | dd|i          S )Nr  zlead_view.htmlr$  )r   rk   rG   r   r   )rI   r$  s     rK   	Lead_Viewr    s2    =$$$++L'+^L,IJJJrM   c           
         t          j                    }t          j                            |          }t
          j                            |          }t
          j                            ||          }t
          j                            ||          }t          j                            |          }t          | d|||||d          S )Nr  r  )r  follwup_date__lt)r  follwup_date__gtezlead-student-profile.html)r$  all_taskall_commentdue_taskupcoming_task)	r   rj   r   rk   rG   r   rl   r   r   )rI   r   rj   r$  r  r  r  r  s           rK   Lead_Student_Profiler    s    
*,,E=$$$++L"))R)88H#**b%*PPH (//2PU/VVM%,,,;;K'6|`h  xC  PX  iv  8w  8w  x  x  xrM   c                     t           j                                        }t          j                                        }t	          | d||d          S )Nzadd-lead.html)r  r  )r   rk   r   r   r   )rI   r  r  s      rK   addLeadr    sE    "&&((J"&&((J'?Q[+\+\]]]rM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	|dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |	dk    rt          ddd          S t	          |||||||	||	  	        }
|
                                 t          ddd          S t          ddd          S )Nr>   r  r  r   r  r  r  r]   r  r  rE   rD   Please enter first name.r   Please enter last name.Please enter email address.Please enter mobile number.Please enter location.Please select source.r   Please enter remark.)	r  r  r   r  r  r  r  r  r  r   zLead Created successfully.r   rH   r>   rG   r	   r   r   )rI   r  r  r   r  r  r  r]   r  r  followups              rK   saveLeadr    s<   ~\%%l33
L$$[11	  ))!!(++L$$[11	!!(++!!(++,"":..!!(++r>>7;U V VWWW]]7;T U UVVVBYY7;X Y YZZZRZZ7;X Y YZZZb[[7;S T TUUURZZ7;R S STTTRZZ7;R S STTTRZZ7;Q R RSSS %##  
 
 
H MMOOO9=Y Z Z[[[  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	|dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S t	          ||||||||	|	  	        }
|
                    g d           t          ddd          S t          ddd          S )Nr>   r  r  r  r   r   r  r  r  r]   rE   rD   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   zLead Updated successfully.r   r  )rI   r   r  r  r   r  r  r  r  r]   r  s              rK   	edit_leadr    s*   ~\l++\%%g..
L$$W--	  ))!!),,,""9--!!(++!!(++!!(++r>>7;U V VWWW]]7;T U UVVVBYY7;X Y YZZZRZZ7;X Y YZZZb[[7;S T TUUURZZ7;R S STTTRZZ7;Q R RSSS %#  
 
 
D II$z$z$zI{{{9=Y Z Z[[[  7;R S STTTrM   c                 F   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          dd	d
          S |dk    rt          ddd
          S |dk    rt          ddd
          S t	          |||||          }|                                 t          ddd
          S t          ddd
          S )Nr>   r   
task_titler   timeis_completedrE   rD   zPlease enter task title.r   zPlease select date.zPlease select time.)r  r  ra   follwup_timer
  r   z"follow up task saved successfully.r   )rH   r>   rG   r	   r   r   )rI   r  r  r   r	  r
  r  s          rK   addFollowUpr    s<   ~\%%d++
\%%l33
|''lv&&l&&~66r>>7;U V VWWW2XX7;P Q QRRR2XX7;P Q QRRR %%%!!)  H MMOOO9=a b bccc  7;R S STTTrM   c                     t          j                    }t          j                            |                              d          }t          | dd|i          S )N)r  rb   zlead-followup.htmlall_followup)r   rj   r   rk   rl   rp   r   )rI   rj   r  s      rK   Lead_followupr     sM    
*,,E&---FFUUV_``L'/0OPPPrM   c                 B   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S t	          ||          }|                                 t          d	d
d          S t          ddd          S )Nr>   r   r  rE   rD   zPlease enter message.r   )r  r  r   zcomment saved successfully.r   )rH   r>   rG   r	   r   r   )rI   r  r  comments       rK   addCommentsr  &  s    ~\%%d++
,""9--B;;7;R S STTT $%  G LLNNN9=Z [ [\\\  7;R S STTTrM   c                 b   t           j                            d          }t          j                            d          }t          j                                        }t          |d          }| j                            d          }|	                    |          }t          | d|||d          S )Nr   exam_masterr{   r|   zcourse-list.html)coursesr}   rD  )r!   rk   rp   r.   r    r   r   rF   rG   r   r   )rI   r}   rD  r  r   r   r   s          rK   r  r  B  s    !)88IIN#22=AAIn  ""G'2&&I+//&))K!!+..H'-Sanw.x.xyyyrM   c                    t           j                                        }t          j                                        }t          j                                        }| j        dk    rC| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }	| j                            d          }
| j                            d	          }| j                            d
          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S |	dk    rt          ddd          S |
dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          ddd          S |dk    rt          dd d          S |dk    rt          dd!d          S |dk    rt          dd"d          S |dk    rY|dk    rt          dd#d          S t          j                            ||||||	|
|||||||||$          }t          d%d&d          S |rdt          j                            | j                            d          '                              | j                            d          | j                            d          | j                            d          | j                            d
          |||| j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          |(           nat          j                            | j                            d          '                              | j                            d          | j                            d          | j                            d          | j                            d
          |||| j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          )           t          d%d*d          S t          | d+|d,d,||dd-d.          S )/Nr>   r  r-  r   editor3r   	exam_typer  r  durationeditor1
area_pricesectional_priceminimock_pricefullmock_pricelectures_price
full_pricer]   rE   rD   zPlease enter course namer   zPlease Enter SubtitlerS  zPlease select exam masterzPlease enter course descriptionzPlease enter course durationzPlease enter area pricezPlease enter sectional pricezPlease enter minimock pricezPlease enter full mock pricezPlease enter lecture pricezPlease enter full pricer   zPlease select course image)r   r-  subtitlefeaturesr   rC  exam_master_idr  descriptionr  r  r  r  r  r   r]   r   zCourse Created successfully.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]   zCourse updated successfully.course_form.htmlz
Add Courser   )r+  
form_titlesubmit_buttonr}   rD  r]   r   )r!   rk   r   r.   r)   rH   r>   rG   r   r	   r    r   rl   r  r   )rI   r}   rD  r+  r  r-  r   r!  r   exam_type_idr#  r"  r  r$  r  r  r  r  r  r   r]   r  s                         rK   course_creater)  L  s   !)--//N#''))I&**,,G~L$$[11	<##J//l&&}55<##I..!!'**|''44 ))-88<##I..<##J//l&&y11\%%l33
!,**+<== ))*:;; ))*:;; ))*:;;\%%l33
!!(++??7;U V VWWWr\\7;R S STTT27;X Y YZZZR7;V W WXXXr\\7;\ ] ]^^^r\\7;Y Z Z[[["__7;\ ] ]^^^^^7;T U UVVVb  7;Y Z Z[[[R7;X Y YZZZR7;Y Z Z[[[R7;W X XYYY^^7;T U UVVVRZZ7;R S STTTB"99'7C_(`(`aaa..'!!!!--!'% /---%! /  $ $yA_$`$`aaa  9N))W\-=-=k-J-J)KKRR^e^j^n^noy^z^z"),"2"2="A"A%,\%5%5m%D%D&|//
;; +%%!(!1!1,!?!?&-l&6&67H&I&I%,\%5%56F%G%G%,\%5%56F%G%G%,\%5%56F%G%G!(!1!1,!?!?$\--h77! S # # # #" N))W\-=-=k-J-J)KKRR^e^j^n^noy^z^z"),"2"2="A"A%,\%5%5m%D%D&|//
;; +%%!(!1!1,!?!?&-l&6&67H&I&I%,\%5%56F%G%G%,\%5%56F%G%G%,\%5%56F%G%G!(!1!1,!?!?$\--h77 S 9 9 9  $yA_$`$`aaa g1gT`r~  Q_  lu  AH  Qh  4i  4i  j  j  	jrM   c                    t          t          |          }t          j                                        }t
          j                                        }t          j                                        }| j                            d          }| j	        dk    r7|rt          j        
                    | j                            d                                        | j                            d          | j                            d          | j                            d          | j                            d	          | j                            d
          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          |           nt          j        
                    | j                            d                                        | j                            d          | j                            d          | j                            d          | j                            d	          | j                            d
          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d          | j                            d                     t          ddi          S t          | d|dd|||d          S )N)pkr   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   r(  r#  r  r$  r  r  r  r  r  r   r]   r   Tr%  zEdit CoursezSave Course)r+  r&  r'  r  r}   rD  )r   r    r!   rk   r   r.   r)   r   rG   rH   rl   r>   r  r	   r   )rI   r  r  r}   rD  r+  r   s          rK   course_editr,    s^   v)444F!)--//N#''))I&**,,GMg&&E~ 	1N!!W\%5%5k%B%B!CCJJV]VbVfVfgqVrVr!,**=99"<++K88$\--m<<|''
33!,**=99 )),77%l../@AA$\--.>??$\--.>??$\--.>?? )),77\%%h// K     ^""gl&6&6{&C&C"DDKKW^WcWgWghrWsWs!,**=99"<++K88$\--m<<|''
33!,**=99 )),77%l../@AA$\--.>??$\--.>??$\--.>?? )),77\%%h// L 1 1 1 Y-... g1gTa  tA  MS  es  @I  4J  4J  K  K  	KrM   c                     | j                             d          }t          j                            |          }t          | dd|i          S )NrC  rB  zselect_exam_master.htmlr  )rF   rG   r.   rk   rl   r   )rI   rC  r  s      rK   select_exam_categoryr.    sI    {'9::%,,>N,OOK'4}[6QRRRrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr  r   zCourse deleted successfully.r   )r>   rG   r    r   r	   r   s     rK   delete_courser0    sF    
,

;
'
'RBZZI6TUUVVVrM   c                     t           j                                        }t          |d          }| j                            d          }|                    |          }t          | dd|i          S )N   r|   z
media.html	all_media)r"   rk   r   r   rF   rG   r   r   )rI   r3  r   r   r   s        rK   mediar4     sd     #''))I)R((I+//&))K!!+..H'<X(>???rM   c                 4   | j         dk    r|| j                            d          }t          |           |dk    rt	          ddd          S |D ]&}t          |          }|                                 't	          dd	d          S t	          dd
d          S )Nr>   r   rE   rD   Please select imagesr   )r   r   Images Uploaded successfully.r   )rH   r   r*  r  r	   r"   r   )rI   r   media_imager4  s       rK   addMediar9  
  s    ~%%g..e"997;Q R RSSS$  #%   

  9=\ ] ]^^^  7;R S STTTrM   c                 H   | j         dk    r| j                            d          }| j                            d          }|dk    rt	          ddd          S t          ||          }|                    dg	           t	          d
dd          S t	          ddd          S )Nr>   r   r   rE   rD   r6  r   )r   r   r   r   r7  r   )rH   r>   rG   r   r	   r"   r   )rI   r   r   r4  s       rK   	editMediar;    s    ~\d##!!'**"997;Q R RSSS    E
 JJgYJ///  9=\ ] ]^^^  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zMedia deleted successfully.r   )r>   rG   r"   r   r	   r   s     rK   deleteMediabyIdr=  4  sF    
,

4
 
 R__  """I6STTUUUrM   c                    d}|dk    rd}t           j                                        }t          j                                        }t          j                                        }t
          j                            |          }t          |d          }| j        	                    d          }|
                    |          }	t          | d|	|||||d          S )	NzArea Mock TestrA  zSectional Mock Test)series_typer{   r|   zmock-test-series.html)	all_mocksr  r?  r   r}   rD  )r#   rk   r   r!   r.   r   rl   r   rF   rG   r   r   )
rI   r?  r  r   r}   rD  r@  r   r   r   s
             rK   MockTestSeriesrA  ;  s    
EA~~#"&&((K!)--//N#''))I (//K/HHI)R((I+//&))K!!+..H'2SXgr  CN  `n  {D  4E  4E  F  F  FrM   c           	      H   | j         dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }|d
k    rt	          ddd          S |d
k    rt	          ddd          S |d
k    rt	          ddd          S t          |||||||          }	|	                                 |	j        }
|D ]'}t          |
|          }|                                 (t	          ddd          S t	          ddd          S )Nr>   r  r   r?  r  r  total_testsrelease_dater]   rE   rD   Please enter coupen code.r   r  r   r  r?  rC  r#  rC  rD  r]   r  sections_idr   -Area Mock Test series Created   successfully.r   )	rH   r>   rG   r*  r	   r   r   r   r   )rI   r  sectionsr?  r  r  rC  rD  r]   r  r  r   s               rK   addTestSeriesrK  O  s   ~  ))<''	22L$$]33,"";//	L$$]33L$$]33\%%n55!!(++"997;V W WXXX "__7;X Y YZZZRZZ7;R S STTT $'!**')	 	 	D IIKKKI#  )' '     9=l m mnnn  7;R S STTTrM   c           
      ~   | j         dk    r | j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d          }| j                            d	          }| j                            d
          }	|dk    rt	          ddd          S |dk    rt	          ddd          S |	dk    rt	          ddd          S | j                            d          r0t          ||||||||	          }
|
                    g d           n/t          ||||||||	          }
|
                    g d           |
j        }t          j
                            |                                           |D ]'}t          ||          }|                                 (t	          ddd          S t	          ddd          S )Nr>   r   r  r   r?  r  r  rC  rD  r]   rE   rD   rE  r   r  r   r   )r   r  r?  rC  r#  rC  rD  r]   )r  r   r?  rC  r#  rC  rD  r]   r   rF  )seriesrG  r   rI  r   )rH   r>   rG   r*  r	   r   r   r   r   r   rk   rl   r2  )rI   r   r  rJ  r?  r  r  rC  rD  r]   r  r  r   s                rK   editTestSeriesrN    s    ~\d##  ))<''	22L$$]33,"";//	L$$]33L$$]33\%%n55!!(++"997;V W WXXX "__7;X Y YZZZRZZ7;R S STTT}  )) K' +%.#. +!-!
 
 
 		  )R  )R  )R	  S  S  S  S ( +%.#. +!-!
 
 
 		  )J  )J  )J	  K  K  KgI#**"*55<<>>>#  )  '     9=l m mnnn  7;R S STTTrM   c                     | j         dk    rM| j                            d          }t          |                                           t          ddd          S t          ddd          S )Nr>   r   r   z&Mock Test Series deleted successfully.r   rD   r   )rH   r>   rG   r   r   r	   r   s     rK   deleteMockTestSeriesrP    sn    ~\d##((***y9abbccc  7;R S STTTrM   c                    | j                             d          }| j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }|r|                    |	          }t          |d
          }| j                             d          }|                    |          }t          | dd|i          S )Nrs   rt   status_namebg_colorru   rw   ry   )status_name__startswith)bg_color__startswithr{   r|   zlead-status.htmlr]   )	rF   rG   r   rk   rl   r~   r   r   r   )	rI   rs   rt   rR  rS  r]   r   r   r   s	            rK   lead_statusrV    s,    kook**IKOOI&&G..K[__Z((H%%''0077F :y99 8w77 D{CC >H==&"%%I+//&))K!!+..H'-x.ABBBrM   c                 r   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S t	          ||	          }|                                 t          d
dd          S t          ddd          S )Nr>   rR  rS  rE   rD   r~  r   r  )rR  rS  r   r  r   rH   r>   rG   r	   r   r   )rI   rR  rS  rV  s       rK   add_lead_statusrY    s    ~l&&}55<##J//??7;Y Z Z[[[r\\7;U V VWWW &'!  K   9=V W WXXX  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          dd	d          S t	          |||
          }|                    ddg           t          ddd          S t          ddd          S )Nr>   r   rR  rS  rE   rD   r~  r   r  )r   rR  rS  r   r   r  r   rX  )rI   r   rR  rS  rV  s        rK   edit_lead_statusr[    s    ~\d##l&&}55<##J//??7;Y Z Z[[[r\\7;U V VWWW &'!  K M*+EFFF  9=^ _ _```  7;R S STTTrM   c                     | j                             d          }t          |           t          |                                           t          ddd          S r  )r>   rG   r  r   r   r	   r   s     rK   delete_lead_statusr]  /  sQ    
,

4
 
 R
2YYY__  """I6WXXYYYrM   c                 4   | j                             d          }| j                             d          }| j                             d          }t          j                                                            d          }|r|                    |          }|r|                    |          }|r|                    |          }t          |d          }| j                             d	          }|                    |          }t          | d
d|i          S )Nrs   rt   source_nameru   rw   ry   )source_name__startswithr{   r|   zlead-source.htmlr  )	rF   rG   r   rk   rl   r~   r   r   r   )rI   rs   rt   r  r  r   r   r   s           rK   lead_sourcera  8  s     kook**IKOOI&&G;??=))F%%''0077F :y99 8w77 ?v>>&"%%I+//&))K!!+..H'-x.ABBBrM   c                    | j         dk    rh| j                            d          }|dk    rt          ddd          S t	          |          }|                                 t          dd	d          S t          dd
d          S )Nr>   r_  rE   rD   r~  r   )r_  r   r  r   rH   r>   rG   r	   r   r   )rI   r_  rV  s      rK   add_lead_sourcerd  N  s    ~l&&}55 ??7;Y Z Z[[[ &'  K
   9=V W WXXX  7;R S STTTrM   c                 H   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S t	          ||          }|                    dg	           t          d
dd          S t          ddd          S )Nr>   r   r_  rE   rD   r~  r   )r   r_  r   r   r  r   rc  )rI   r   r_  rV  s       rK   edit_lead_sourcerf  g  s    ~\d##l&&}55 ??7;Y Z Z[[[ &'  K
 M?;;;  9=^ _ _```  7;R S STTTrM   c                     | j                             d          }t          |           t          |                                           t          ddd          S r  )r>   rG   r  r   r   r	   r   s     rK   delete_lead_sourcerh    sS     ,

4
 
 R
2YYY__  """I6WXXYYYrM   c                     t           j                                        }t          |d          }| j                            d          }|                    |          }t          | dd|i          S )Nr{   r|   zvocab-questions.htmlall_vocab_questions)r2   rk   r   r   rF   rG   r   r   )rI   rj  r   r   r   s        rK   vocabulary_questionsrk    sf    '/3355-r22I+//&))K!!+..H'13H2RSSSrM   c                 j   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          ddd          S t          j                            ||	          }t          d
dd          S t          ddd          S )Nr>   wordmeaningrE   rD   zPlease enter word.r   zPlease enter meaning.rm  rn  r   zvocab created successfully.r   )rH   r>   rG   r	   r2   rk   r   )rI   rm  rn  vocabs       rK   add_vocab_questionrq    s    ~|'',""9--887;O P PQQQb[[7;R S STTT $+22 3  E  9=Z [ [\\\  7;R S STTTrM   c                    | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S |dk    rt          dd	d          S t	          |||
          }|                    ddg           t          ddd          S t          ddd          S )Nr>   r   rm  rn  rE   rD   zPlease Enter Word.r   zPlease enter Meaning .)r   rm  rn  r   r   zvocab updated successfully.r   )rH   r>   rG   r	   r2   r   )rI   r   rm  rn  rp  s        rK   edit_vocab_questionrs    s    ~\d##|'',""9--887;O P PQQQb[[7;S T TUUU $  E JJfY%7J888  9=Z [ [\\\  7;R S STTTrM   c                     | j                             d          }t          |                                           t	          ddd          S )Nr   r   zvocab deleted successfully.r   )r>   rG   r2   r   r	   r   s     rK   delete_vocab_questionru    sH    
,

4
 
 RR$$&&&I6STTUUUrM   c                    | j         dk    r| j        d         r| j        d         }t          j        |          }|j        }t          |           g }|                    dd          D ]8}|d         }|d         }t          ||          }|                    |           9t          j	        
                    |           t          d	d
d          S )Nr>   r@  rA  TrB  r   r[   ro  r   zvocab uploaded successfully.r   )rH   r   rc  rd  re  r  rf  r2   r  rk   rg  r	   )	rI   rk  rl  rm  
vocab_datarq  rm  rn  r  s	            rK   upload_vocab_excelrx    s    ~GM+$>];/
 #J//	b			
??1$??? 	( 	(Cq6D!fG&  H
 h'''' 	++J77795STTUUUrM   c                    t           j                            d                                          }t	          |d          }| j                            d          }|                    |          }t          | dd|i          S )Nru   r{   r|   zdevice-login-history.htmllogin_history)	r   rk   r~   r   r   rF   rG   r   r   )rI   rz  r   r   r   s        rK   Device_login_historyr{    sq    '0077;;==M-,,I+//&))K!!+..H'67QRRRrM   c                 H   | j         dk    r| j                            d          }| j                            d          }|dk    rt          ddd          S t	          ||          }|                    dg	           t          d
dd          S t          ddd          S )Nr>   r   
is_lecturerE   rD   z&Please Enter select lecture authority.r   )r   r}  r   r   z!Lecture device info successfully.r   )rH   r>   rG   r	   r   r   )rI   r   r}  rp  s       rK   edit_login_is_lecturer~    s    ~\d##\%%l33
r>>7;c d deee "%  E
 JJl^J444  9=` a abbb  7;R S STTTrM   c           
         t           j                            |          }t          j                            |                              d          }t          j                                        }t          j                            |                              d          }t          j                            |                              d          }t          | d|||||d          S )Nr  r  ru   r  )r$  r  r   all_attendanceall_batch_list)r*   rk   rG   r   rl   r~   r)   r   r   r   r   )rI   r   r$  r  r  r   r  s          rK   r  r    s    #''2'..L%%%44==eDDI%-1133N%,,,;;DDUKKK%-444CCLLUSSN'1,[ds~  Q_  q  3@  3@  A  A  ArM   c                     | j                             d          }t          |                                           t	          ddd          S r  )r>   rG   r   r   r	   r   s     rK   remove_batchr    sH    			$		B  """95TUUVVVrM   c                 p   | j         dk    r| j                            d          }| j                            d          }| j                            d          }|dk    rt          ddd          S t          j                            |||	          }t          d
dd          S t          ddd          S )Nr>   r  r-  r  rE   rD   r"  r   )r  r-  r  r   zbatch assigned successfully.r   )rH   r>   rG   r	   r   rk   r   )rI   r  r   r  rp  s        rK   r  r    s    ~\%%l33
  ,,!!+.. "997;Q R RSSS !(//%  0  E
  9=[ \ \]]]  7;R S STTTrM   c                     t           j                            |          }t          j                            |                              d          }t          | d||d          S )Nr  r1  ru   zlecture-details.html)lecturer  )r0   rk   rG   r   rl   r~   r   )rI   r   r  r  s       rK   Lecture_Detailsr  7  s^    "&&"&--G%-444CCLLUSSN'1WVd2e2efffrM   )datetimer   django.core.paginatorr   django.shortcutsr   r   r   r   django.httpr	   django.contrib.authr
   rc  django.contribr   learn.modelsr   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,   r-   r.   r/   r0   r1   r2   r3   r4   django.contrib.auth.decoratorsr5   django.contrib.auth.formsr6   learn.formsr7   django.db.modelsr8   r5  django.db.models.functionsr9   r:   ADMIN_LOGIN_URLrL   rP   rT   rV   rO   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/  r3  r5  r;  r>  rE  rQ  rU  rW  r[  ra  rq  rt  rv  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  r!  r'  r)  r+  r/  r8  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  r  r  r)  r,  r.  r0  r4  r9  r;  r=  rA  rK  rN  rP  rV  rY  r[  r]  ra  rd  rf  rh  rk  rq  rs  ru  rx  r{  r~  r  r  rZ  rM   rK   <module>r     s         + + + + + + M M M M M M M M M M M M $ $ $ $ $ $ & & & & & &  # # # # # # N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N  N 3 3 3 3 3 3 3 3 9 9 9 9 9 9 8 8 8 8 8 8 ( ( ( ( ( (              - - - - - - " " " " " " 9 9 9 9 9 9F F F"- - -80 0 0$ $ $4 /***
~ 
~ +*
~T /***d d +*d6 /***"U "U +*"UH /***(U (U +*(UT /***] ] +*] /***u u +*uB /***-U -U +*-U^ /***.U .U +*.U` /***X X +*X /***L L +*L8 /***U U +*U: /***U U +*U: /***X X +*X /***f f +*f: /***U U +*U< /***U U +*U@ /***X X +*X /***S S +*S
 /***A A +*A
 /***S S +*S6 /***U U +*U@ /***"U "U +*"UH /***X X +*X /*** K  K +* KD /***$U $U +*$UL /***U U +*UB /***U U +*U /***5 5 +*5n /***RU RU +*RUh /***@Q @Q +*@QD /***X X +*X /*** U  U +* UD /***K K +*K /***m m +*m8 /***SU SU +*SUj /***`U `U +*`UD /***U U +*U /***V V +*V& /***{ { +*{8 /***+U +U +*+UZ /***6U 6U +*6Up /***^ ^ +*^ /***R R +*R< /***2U 2U +*2Uh /***6U 6U +*6Up /***Z Z +*Z /***^ ^ +*^ /***!U !U +*!UF /***0U 0U +*0Uf /***V V +*V /***p p +*p> /***%U %U +*%UN /***"U "U +*"UH /***U U +*U /***u u +*u4 /***/U /U +*/Ub /***4U 4U +*4Ul /***U U +*U /***1s 1s +*1sf /***e e +*e8 /***$U $U +*$UP /***A A +*A
 /***V V +*V& /***G G +*G8 /***"U "U +*"UJ /***0U 0U +*0Uf /***U U +*U /***Y Y +*Y> /***0U 0U +*0Uf /***2U 2U +*2Uj /***W W +*W /***r r +*r2 /***X X +*X /***v v +*v4 /***X X +*X
 /***P P +*P /***Q Q +*Q /***~ ~ +*~  /***	r 	r +*	r /***W W +*W /***h h +*h" /***d d +*d /***N N +*N /***o* o* +*o*b /***@ @ +*@ /***2 2 +*2 /***	X 	X +*	X /***c c +*c /***R R +*R /***EU EU +*EUF /***JQ JQ +*JQX /***CQ CQ +*CQJ /***<U <U +*<U| /***#V #V +*#VJ /***Y Y +*Y /***?u ?u +*?uB /***P P +*P /***#U #U +*#UJ /***W W +*W /***T T +*T /***W W +*W( /***Q Q +*Q" /***Q Q +*Q /***J J +*J@ /***X X +*X /***K K +*K /***x x +*x /***^ ^ +*^
 /***0U 0U +*0Uf /***/U /U +*/Ub /***U U +*U@ /***Q Q +*Q
 /***U U +*U6 /***z z +*z /***tj tj +*tjl /***'K 'K +*'KR /***S S +*S /***W W +*W /***@ @ +*@ /***U U +*U& /***U U +*U* /***V V +*V /***F F +*F& /***2U 2U +*2Ul /***HU HU +*HUT /***U U +*U /***C C +*C2 /***U U +*U4 /***U U +*U8 /***Z Z +*Z /***C C +*C* /***U U +*U0 /***U U +*U2 /***Z Z +*Z /***T T +*T /***U U +*U4 /***U U +*U8 /***V V +*V
 /***V V +*V6 /***S S +*S /***U U +*U0 /***A A +*A /***W W +*W
 /***U U +*U. /***g g +*g g grM   