+
    ïj®]  ã                   óŠ  € ^ RI HtHtHt ^ RIHt ^ RIHt ^ RIH	t	H
t
 ^RIHtHtHtHtHtHtHt ^ RIHtHt ^ RIHt ^ RIHtHt ^ R	It]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t ]R 4       t!]R 4       t"]R 4       t#]R 4       t$]R 4       t%]R 4       t&]R 4       t']R 4       t(]R 4       t)R	# )é    )ÚrenderÚredirectÚget_object_or_404)Úlogin_required)Úmessages)ÚHttpResponseÚJsonResponse)ÚGroupÚSubjectÚScheduleItemÚRoomÚ
AttendanceÚAcademicDebtÚOlympiad)ÚTeacherÚStudent)ÚRiskPrediction©ÚdatetimeÚ	timedeltaNc                ó"  € \         P                  P                  4       pV P                  P	                  R4      pV P                  P	                  R4      pV P
                  P                  R8X  dX   V P
                  P                  p\         P                  P                  VP                  P                  R7      pVP                  pMÕV P
                  P                  R8X  d‘   V P
                  P                  pVP                  P                  4       '       dX   \         P                  P                  VP                  P                  4       R7      P                  4       pVP                  4       pM-RpM*V'       d   \!        \         VR7      pMVP                  4       pV'       g%   \"        P$                  ! 4       P'                  R4      pV'       dC   \(        P                  P                  VVR	7      P+                  R
RR4      P-                  R4      pM. p\"        P.                  ! VR4      pV\1        VP3                  4       R7      ,
          p	\5        ^4       U
u. uF  q©\1        V
R7      ,           NK  	  pp
RVRVRVRVRVR\6        P                  P                  4       R\8        P                  P                  4       R\:        P                  P                  4       R\"        P$                  ! 4       P=                  4       /	p\?        V RV4      # u up
i )uL   Ð“Ð»Ð°Ð²Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ€Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ñ� Ñ� ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ‘Ð¼ÚgroupÚdateÚstudent©ÚidÚparent)Ústudents__inNú%Y-%m-%d©r   r   ÚsubjectÚteacherÚroomÚ
start_time©ÚdaysÚgroupsÚselected_groupÚselected_dateÚ
week_datesÚschedule_itemsÚsubjectsÚteachersÚroomsÚtodayzschedule_new.html) r
   ÚobjectsÚallÚGETÚgetÚuserÚroler   Úfilterr   r   r   ÚchildrenÚexistsÚdistinctÚfirstr   r   ÚnowÚstrftimer   Úselect_relatedÚorder_byÚstrptimer   ÚweekdayÚranger   r   r   r   r   )Úrequestr'   Úselected_group_idr)   r   r(   r   r+   Úcurrent_dateÚ
week_startÚir*   Úcontexts   &            ÚD:\diplom_project\core\views.pyÚschedule_viewrI      sI  € ô �]‰]×ÑÓ €FØŸ™Ÿ™¨Ó0ÐØ—K‘K—O‘O FÓ+€Mð ‡|�|×Ñ˜IÔ%Ø—,‘,×&Ñ&ˆÜ—‘×%Ñ%¨¯©×)9Ñ)9Ð%Ó:ˆØ Ÿ™‰Ø	�‰×	Ñ	˜hÔ	&Ø—‘×$Ñ$ˆØ�?‰?×!Ñ!×#Ò#Ü—]‘]×)Ñ)°v·±×7JÑ7JÓ7LÐ)ÓM×VÑVÓXˆFØ#Ÿ\™\›^‰Nà!‰NçÜ.¬uÐ9JÔK‰Nà#Ÿ\™\›^ˆN÷ Ü Ÿš›×/Ñ/°
Ó;ˆçÜ%×-Ñ-×4Ñ4Ø Øð 5ó 
÷ ‰.˜ I¨vÓ
6·x±xÀÓ7Mñ 	ð
 ˆô ×$Ò$ ]°JÓ?€LØ¤	¨|×/CÑ/CÓ/EÔ FÕF€JÜ:?À¼(ÓC¹(°Qœy¨aÔ0×0Ð0¹(€JÐCð 	�&Ø˜.Ø˜Ø�jØ˜.Ø”G—O‘O×'Ñ'Ó)Ø”G—O‘O×'Ñ'Ó)Ø”—‘×!Ñ!Ó#Ø”—’“×$Ñ$Ó&ð
€Gô �'Ð.°Ó8Ð8ùò Ds   ÉLc                óÚ  € \        \        VR7      p\        P                  P	                  VR7      P                  RRR4      p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
^/.p/ pV F  p. WVR
,          &   K  	  V F$  pWWP                  ,          P                  V4       K&  	  V F  pWV,          P                  R R7       K  	  RVRVRV/p\        V RV4      # )uF   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»Ñ�r   )r"   r   r!   r#   Únameõ   ÐŸÐ¾Ð½ÐµÐ´ÐµÐ»ÑŒÐ½Ð¸ÐºÚshortu   ÐŸÐ�Únumberõ   Ð’Ñ‚Ð¾Ñ€Ð½Ð¸Ðºu   Ð’Ð¢õ
   Ð¡Ñ€ÐµÐ´Ð°u   Ð¡Ð õ   Ð§ÐµÑ‚Ð²ÐµÑ€Ð³u   Ð§Ð¢õ   ÐŸÑ�Ñ‚Ð½Ð¸Ñ†Ð°u   ÐŸÐ¢õ   Ð¡ÑƒÐ±Ð±Ð¾Ñ‚Ð°u   Ð¡Ð‘õ   Ð’Ð¾Ñ�ÐºÑ€ÐµÑ�ÐµÐ½ÑŒÐµu   Ð’Ð¡c                 ó   € V P                   # )N)r$   ©Úxs   &rH   Ú<lambda>Ú"teacher_schedule.<locals>.<lambda>_   s   € °A·L²Ló    )Úkeyr"   ÚweekdaysÚschedule_by_weekdayzteacher_schedule.html)
r   r   r   r0   r6   r=   r@   ÚappendÚsortr   )	rB   Ú
teacher_idr"   r+   r\   r]   ÚdayÚitemrG   s	   &&       rH   Úteacher_schedulerc   F   sF  € ô  ¤¨JÔ7€Gä!×)Ñ)×0Ñ0¸Ð0ÓA×PÑPÐQXÐZcÐekÓl€Nð 
Ð)¨7°F¸HÀaÐHØ	Ð! 7¨F°H¸aÐ@Ø	�˜w¨°¸!Ð<Ø	Ð! 7¨F°H¸aÐ@Ø	Ð! 7¨F°H¸aÐ@Ø	Ð! 7¨F°H¸aÐ@Ø	Ð)¨7°F¸HÀaÐHð€Hð ÐÛˆØ-/Ð �MÓ*ñ ó ˆØŸL™LÕ)×0Ñ0°Ö6ñ ó #ˆØÕ ×%Ñ%Ñ*@Ð%ÖAñ #ð 	�7Ø�HØÐ2ð€Gô
 �'Ð2°GÓ<Ð<rZ   c                 óÐ  € V P                   P                  R9  d?   V P                   P                  '       g#   \        P                  ! V R4       \        R4      # V P                  R8X  Edr   V P                  P                  R4      pV P                  P                  R4      pV P                  P                  R4      p\        P                  P                  VVVR7      P                  4       pV'       d#   \        P                  ! V R4       \        R4      # \        P                  P                  TV P                  P                  R	4      V P                  P                  R
4      V P                  P                  R4      ;'       g    RVVV P                  P                  R4      V P                  P                  RR4      R7       \        P                  ! V R4       \        R4      # )r"   uB   Ð£ Ð²Ð°Ñ� Ð½ÐµÑ‚ Ð¿Ñ€Ð°Ð² Ð½Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ð¹ÚscheduleÚPOSTÚgroup_idr   r$   )rg   r   r$   u4   Ð’ Ñ�Ñ‚Ð¾ Ð²Ñ€ÐµÐ¼Ñ� ÑƒÐ¶Ðµ ÐµÑ�Ñ‚ÑŒ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ðµ!Ú
subject_idr`   Úroom_idNÚend_timeÚtopicÚ )rg   rh   r`   ri   r   r$   rj   rk   u!   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾©r"   Úacademic_staffÚadmin)r4   r5   Úis_staffr   Úerrorr   Úmethodrf   r3   r   r0   r6   r8   ÚcreateÚsuccess)rB   rg   r   r$   r8   s   &    rH   Úadd_schedule_itemru   i   s{  € à‡|�|×ÑÐ FÔFÈwÏ|É|×Od×OdÐOdÜ�Š�wÐ dÔeÜ˜
Ó#Ð#à‡~�~˜ÕØ—<‘<×#Ñ# JÓ/ˆØ�|‰|×Ñ Ó'ˆØ—\‘\×%Ñ% lÓ3ˆ
ô ×%Ñ%×,Ñ,ØØØ!ð -ó 
÷ ‰&‹(ð	 	÷ Ü�NŠN˜7Ð$ZÔ[Ü˜JÓ'Ð'ä×Ñ×#Ñ#ØØ—|‘|×'Ñ'¨Ó5Ø—|‘|×'Ñ'¨Ó5Ø—L‘L×$Ñ$ YÓ/×7Ð7°4ØØ!Ø—\‘\×%Ñ% jÓ1Ø—,‘,×"Ñ" 7¨BÓ/ð 	$ô 		
ô 	×Ò˜Ð"EÔFÜ�JÓÐrZ   c                 óJ  € V P                   P                  R9  d?   V P                   P                  '       g#   \        P                  ! V R4       \        R4      # \        \        VR7      pV P                  R8X  Ed   V P                  P                  R4      Vn        V P                  P                  R4      Vn        V P                  P                  R4      ;'       g    RVn        V P                  P                  R	4      Vn        V P                  P                  R
4      Vn        V P                  P                  R4      Vn        V P                  P                  RR4      Vn        VP%                  4        \        P&                  ! V R4       \        R4      # \        R4      # )r"   u;   Ð£ Ð²Ð°Ñ� Ð½ÐµÑ‚ Ð¿Ñ€Ð°Ð² Ð½Ð° Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµre   r   rf   rh   r`   ri   Nr   r$   rj   rk   rl   u!   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾rm   )r4   r5   rp   r   rq   r   r   r   rr   rf   r3   rh   r`   ri   r   r$   rj   rk   Úsavert   ©rB   Úitem_idrb   s   && rH   Úedit_schedule_itemrz   �   s*  € à‡|�|×ÑÐ FÔFÈwÏ|É|×Od×OdÐOdÜ�Š�wÐ ]Ô^Ü˜
Ó#Ð#äœ\¨gÔ6€Dà‡~�~˜ÕØ!Ÿ,™,×*Ñ*¨<Ó8ˆŒØ!Ÿ,™,×*Ñ*¨<Ó8ˆŒØ—|‘|×'Ñ'¨	Ó2×:Ð:°dˆŒØ—L‘L×$Ñ$ VÓ,ˆŒ	Ø!Ÿ,™,×*Ñ*¨<Ó8ˆŒØŸ™×(Ñ(¨Ó4ˆŒØ—\‘\×%Ñ% g¨rÓ2ˆŒ
Ø�	‰	ŒÜ×Ò˜Ð"EÔFÜ˜
Ó#Ð#ä�JÓÐrZ   c                ó:  € V P                   P                  R9  d?   V P                   P                  '       g#   \        P                  ! V R4       \        R4      # \        \        VR7      pVP                  4        \        P                  ! V R4       \        R4      # )ud   Ð£Ð´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ñ� (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð°Ð´Ð¼Ð¸Ð½Ð¾Ð²)u>   Ð£ Ð²Ð°Ñ� Ð½ÐµÑ‚ Ð¿Ñ€Ð°Ð² Ð½Ð° ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ð¹re   r   u   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¾rm   )
r4   r5   rp   r   rq   r   r   r   Údeletert   rx   s   && rH   Údelete_schedule_itemr}   ¤   sq   € ð ‡|�|×ÑÐ FÔFÈwÏ|É|×Od×OdÐOdÜ�Š�wÐ `ÔaÜ˜
Ó#Ð#äœ\¨gÔ6€DØ‡K�K„MÜ×Ò�WÐ=Ô>Ü�JÓÐrZ   c                 ó†  € \        \        VR 7      pRVP                  RVP                  P	                  R4      RVP
                  P	                  R4      RVP                  P                  RVP                  P                  RVP                  '       d   VP                  P                  MRR	VP                  /p\        V4      # )
r   r   r$   ú%H:%Mrj   rh   r`   ri   rl   rk   )r   r   r   r$   r<   rj   r!   r"   r#   rk   r	   )rB   ry   rb   Údatas   &&  rH   Úget_schedule_item_jsonr�   °   s�   € äœ\¨gÔ6€Dàˆd�g‰gØ�d—o‘o×.Ñ.¨wÓ7Ø�D—M‘M×*Ñ*¨7Ó3Ø�d—l‘l—o‘oØ�d—l‘l—o‘oØ 4§9§9 9�4—9‘9—<’<°"Ø�—‘ð€Dô ˜ÓÐrZ   c           
     óP  € ^ RI Hp ^ RIHpHpHpHpHp ^ RIHpH	p V P                  P                  R4      p	V P                  P                  R4      p
V	'       g#   \        P                  ! V R4       \        R4      # \        \         V	R7      pV
'       d#   VP"                  ! V
R	4      P%                  4       pMVP&                  ! 4       P%                  4       pWÈ! VP)                  4       R
7      ,
          p\+        ^4       Uu. uF  qíV! VR
7      ,           NK  	  pp\,        P.                  P1                  VVWØ! ^R
7      ,           R7      P3                  RRR4      P5                  RR4      p/ pV FB  pVP$                  P7                  R	4      pVV9  d   . VV&   VV,          P9                  V4       KD  	  V! 4       pVP:                  pRVP<                   2Vn        RVP<                   2VR&   V! ^RR7      VR,          n         VPC                  R4       RVP7                  R4       RWØ! ^R
7      ,           P7                  R4       2VR&   V! ^RR7      VR,          n         VPC                  R4       . R;OpV! RRR7      pV! RRRR 7      pV! R!R!RR"7      p\E        \G        VV4      ^R#7       Fn  w  pw  ppVPI                  ^VV R$VP7                  R%4       2R&7      pVVn         VVn%        VVn&        ^VPN                  \Q        ^@V,           4      ,          n)        Kp  	  VPI                  ^^R'R&7       VVPI                  ^^R(7      n         VVPI                  ^^R(7      n%        VVPI                  ^^R(7      n&        ^VPN                  R),          n)        . R<Op/ pV FY  pVP7                  R	4      p/ VV&   VP                  V. 4       F*  pVPT                  P7                  R*4      p VVV,          V &   K,  	  K[  	  V! V! R+R,7      V! R+R,7      V! R+R,7      V! R+R,7      R-7      p!\E        V^R#7       EF-  w  p"w  p#p$VPI                  V"^V# R.V$ 2R&7       V! R!R!R/7      VPI                  V"^R(7      n&        V!VPI                  V"^R(7      n+        \E        V^R#7       EFÀ  w  p%pVP7                  R	4      pVP                  V/ 4      P                  V#4      pV'       Ed3   VPX                  '       d   \[        VPX                  4      MR0p&VPX                  '       d   VPX                  P\                  '       d   R1p&VP^                  P<                   R$VP`                  Pb                   R2VP`                  Pd                   R$V& 2p'VPf                  '       d   V'R$VPf                   2,          p'VPI                  V"V%V'R&7       V! RR!R!R37      VPI                  V"V%R(7      n&        V!VPI                  V"V%R(7      n+        ^PVPh                  V",          n5        EKt  VPI                  V"V%R0R&7       V! R!R!R/7      VPI                  V"V%R(7      n&        V!VPI                  V"V%R(7      n+        EKÃ  	  EK0  	  \m        R4R57      p(R6VP<                   R7VP7                  R84       R92V(R:&   VPo                  V(4       V(# u upi )=uQ   Ð­ÐºÑ�Ð¿Ð¾Ñ€Ñ‚ Ñ€Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ñ� Ð² Excel Ð½Ð° Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½ÑƒÑŽ Ð½ÐµÐ´ÐµÐ»ÑŽ)ÚWorkbook)Ú	AlignmentÚFontÚPatternFillÚBorderÚSider   r   r   u   Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒre   r   r   r%   )r   Ú	date__gteÚ	date__lter!   r"   r#   r$   u   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ u"   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ ÚA1T)ÚsizeÚboldzA1:H1u   Ð�ÐµÐ´ÐµÐ»Ñ� Ñ� z%d.%m.%Yu    Ð¿Ð¾ ÚA2)rŒ   ÚitaliczA2:H2ÚFFFFFF)r�   ÚcolorÚ4395ABÚsolid)Ústart_colorÚ	end_colorÚ	fill_typeÚcenter)Ú
horizontalÚverticalÚ	wrap_text)ÚstartÚ
z%d.%m)ÚrowÚcolumnÚvalueu
   Ð’Ñ€ÐµÐ¼Ñ�)r�   rž   ÚAr   Úthin)Ústyle)ÚleftÚrightÚtopÚbottomÚ-)r˜   r™   u   â€”u   ðŸŒ� Ð”Ð¸Ñ�Ñ‚Ð°Ð½Ñ‚Ú )rš   r˜   r™   zAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet)Úcontent_typezattachment; filename="schedule_Ú_z%Y%m%dz.xlsx"zContent-Disposition)rL   rO   rP   rQ   rR   rS   rT   ))z09:00z10:30)z10:45z12:15)z12:45z14:15)z14:30z16:00)z16:15z17:45)z18:00z19:30)8Úopenpyxlrƒ   Úopenpyxl.stylesr„   r…   r†   r‡   rˆ   r   r   r2   r3   r   rq   r   r   r
   r?   r   r;   r@   rA   r   r0   r6   r=   r>   r<   r^   ÚactiverK   ÚtitleÚfontÚmerge_cellsÚ	enumerateÚzipÚcellÚfillÚ	alignmentÚcolumn_dimensionsÚchrÚwidthr$   Úborderr#   ÚstrÚis_distancer!   r"   Ú	last_nameÚ
first_namerk   Úrow_dimensionsÚheightr   rw   ))rB   rƒ   r„   r…   r†   r‡   rˆ   r   r   rg   Údate_strr   rD   rE   rF   r*   r+   Úschedule_by_daterb   Údate_str_itemÚwbÚwsÚweekdays_rusÚheader_fontÚheader_fillÚheader_alignmentr   Úweekday_namer³   Ú
time_slotsÚschedule_dictÚdate_keyÚ	start_keyr¹   Úrow_idxr›   ÚendÚcol_idxÚ	room_nameÚ
cell_valueÚresponses)   &                                        rH   Úexport_schedulerÔ   ¿   s  € õ "ßJÕJß,à�{‰{�‰˜wÓ'€HØ�{‰{�‰˜vÓ&€HçÜ�Š�wÐ ?Ô@Ü˜
Ó#Ð#äœe¨Ô1€E÷ Ø×(Ò(¨°:Ó>×CÑCÓE‰à—|’|“~×*Ñ*Ó,ˆð  	¨|×/CÑ/CÓ/EÔ FÕF€JÜ:?À¼(ÓC¹(°Q™y¨aÔ0×0Ð0¹(€JÐCô "×)Ñ)×0Ñ0ØØØ˜y¨aÔ0Õ0ð 1ó ÷ �n�Y 	¨6Ó2·8±8¸FÀLÓ3Qð	 ð ÐÛˆØŸ	™	×*Ñ*¨:Ó6ˆØÐ 0Ô0Ø.0Ð˜]Ñ+Ø˜Õ'×.Ñ.¨tÖ4ñ	 ñ 
‹€BØ	�‰€BØ& u§z¡z lÐ3€B„Hð 4°E·J±J°<Ð@€B€t�HÙ˜b tÔ,€B€t…H„MØ‡N�N�7Ôà! *×"5Ñ"5°jÓ"AÐ!BÀ&È*ÐW`ÐfgÔWhÕJh×IrÑIrÐs}ÓI~ÐHð  A€B€t�HÙ˜b¨Ô.€B€t…H„MØ‡N�N�7Ôò ^€Lñ ˜D¨Ô1€KÙ¨(¸hÐRYÔZ€KÙ ¨H¸xÐSWÔXÐä#,¬S°¸\Ó-JÐRS×#TÑˆÑˆD�,Ø�w‰w˜1 Q°°¸bÀÇÁÈwÓAWÐ@XÐ.YˆwÓZˆØˆŒ	ØˆŒ	Ø)ˆŒØ24ˆ×ÑœS  a¥›[Õ)Ö/ñ $Uð ‡G�G�˜! <€GÔ0Ø$/€B‡G�G�˜!€GÓÔ!Ø$/€B‡G�G�˜!€GÓÔ!Ø)9€B‡G�G�˜!€GÓÔ&Ø&(€B×Ñ˜ÕÔ#ò€Jð €MÛˆØ—=‘= Ó,ˆØ"$ˆ�hÑØ$×(Ñ(¨°2Ö6ˆDØŸ™×0Ñ0°Ó9ˆIØ15ˆM˜(Õ# IÓ.ó 7ñ ñ Ù˜ÔÙ˜Ô Ù�vÔÙ˜&Ô!ô	€Fô "+¨:¸Q×!?Ð!?Ñˆ‘�%˜Ø
�‰�G A°¨w°a¸°uÐ-=ˆÔ>Ù3<ÈÐ[cÔ3dˆ�‰�G AˆÓ&Ô0Ø06ˆ�‰�G AˆÓ&Ô-ä& z¸×;Ð;‰MˆG�TØ—}‘} ZÓ0ˆHØ ×$Ñ$ X¨rÓ2×6Ñ6°uÓ=ˆDçˆtØ.2¯i¯i¨iœC §	¡	œN¸U�	Ø—9—9�9 §¡×!6×!6Ð!6Ø 5�Ià $§¡× 1Ñ 1Ð2°"°T·\±\×5KÑ5KÐ4LÈAÈdÏlÉl×NeÑNeÐMfÐfhÐirÐhsÐt�
Ø—:—:�:Ø B t§z¡z lÐ"3Õ3�Jà—‘˜G¨G¸:�ÔFÙAJÐUYÐfnØT\ôB^�—‘˜G¨G�Ó4Ô>à>D�—‘˜G¨G�Ó4Ô;Ø46�×!Ñ! 'Õ*×1à—‘˜G¨G¸5�ÔAÙAJÐV^ÐiqÔAr�—‘˜G¨G�Ó4Ô>Ø>D�—‘˜G¨G�Ó4×;ô+ <ñ "@ô8 Ð)lÔm€Hà#BÀ5Ç:Á:À,ÈaÐPZ×PcÑPcÐdlÓPmÐOnÐntÐ!uð Øñà‡G�GˆHÔØ€OùòW Ds   ÄZ#c                ó  € V P                   P                  R8X  dW   V P                   P                  p\        P                  P                  VR7      P                  R4      p\        V RRVRV/4      # \        P                  P                  4       pV P                  P                  R4      pV P                  P                  R4      pV'       g%   \        P                  ! 4       P                  4       pM%\        P                  ! VR4      P                  4       pR	p. pV'       dS   \!        \        VR
7      p\"        P                  P                  VVR7      P                  RRR4      P%                  R4      pRVRVRVRV/p	\        V RV	4      # )u)   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¿Ð¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸r   )r   Úschedule_item__subjectzmy_attendance.htmlÚattendancesr   r)   r   Nr   r    r!   r"   r#   r$   r'   r(   r+   zattendance_mark.html)r4   r5   r   r   r0   r6   r=   r   r
   r1   r2   r3   r   r;   r   r?   r   r   r>   )
rB   r   r×   r'   rC   Úselected_date_strr)   r(   r+   rG   s
   &         rH   Úattendance_viewrÙ   F  sX  € ð ‡|�|×Ñ˜IÔ%Ø—,‘,×&Ñ&ˆÜ ×(Ñ(×/Ñ/¸Ð/Ó@×OÑOÐPhÓiˆÜ�gÐ3°mÀ[ÐR[Ð]dÐ5eÓfÐfä�]‰]×ÑÓ €FØŸ™Ÿ™¨Ó0ÐØŸ™Ÿ™¨Ó8Ð÷ Ü Ÿš›×+Ñ+Ó-‰ä ×)Ò)Ð*;¸ZÓH×MÑMÓOˆà€NØ€NçÜ*¬5Ð5FÔGˆÜ%×-Ñ-×4Ñ4Ø Øð 5ó 
÷ ‰.˜ I¨vÓ
6·x±xÀÓ7Mð 	ð 	�&Ø˜.Ø˜Ø˜.ð	€Gô �'Ð1°7Ó;Ð;rZ   c           	     ó>  € V P                   P                  R4      pV'       g#   \        P                  ! V R4       \	        R4      # \        \        VR7      p\        P                  P                  VP                  R7      p. pV FF  p\        P                  P                  W%R7      P                  4       pVP                  RVRV/4       KH  	  V P                  R	8X  d­   V F„  pV P                  P                  R
VP                    2R4      p\#        V P                  P                  RVP                    2^ 4      4      p\        P                  P%                  VVRVRV/R7       K†  	  \        P&                  ! V R4       \	        R4      # RVRV/p	\)        V RV	4      # )ue   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð¿Ð¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸ Ð´Ð»Ñ� ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ñ�Úschedule_item_idu"   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ Ð½Ðµ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð¾rÙ   r   ©r   )Úschedule_itemr   r   Ú
attendancerf   Ústatus_ÚpresentÚlate_ÚstatusÚlate_minutes)rÝ   r   Údefaultsu+   ÐŸÐ¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚ÑŒ Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð°rÝ   Ústudents_with_attendancezmark_attendance.html)r2   r3   r   rq   r   r   r   r   r0   r6   r   r   r:   r^   rr   rf   r   ÚintÚupdate_or_creatert   r   )
rB   rÛ   rÝ   Ústudentsrå   r   Úattrâ   rã   rG   s
   &         rH   Úmark_attendancerê   k  s€  € ð —{‘{—‘Ð'9Ó:ÐçÜ�Š�wÐ DÔEÜÐ)Ó*Ð*ä%¤lÐ7GÔH€MÜ�‰×%Ñ%¨M×,?Ñ,?Ð%Ó@€Hð  "ÐÛˆÜ× Ñ ×'Ñ'°mÐ'ÓU×[Ñ[Ó]ˆØ ×'Ñ'Ø�wØ˜#ð)
ö 	ñ ð ‡~�~˜ÔÛˆGØ—\‘\×%Ñ%¨°·
±
¨|Ð&<¸iÓHˆFÜ˜wŸ|™|×/Ñ/°%¸¿
¹
°|Ð0DÀaÓHÓIˆLä×Ñ×/Ñ/Ø+ØØ" F¨N¸LÐIð 0ö ñ	  ô 	×Ò˜Ð"OÔPÜÐ)Ó*Ð*ð 	˜Ø"Ð$<ð€Gô �'Ð1°7Ó;Ð;rZ   c                óþ  € V P                   P                  R4      pV P                   P                  R4      pV'       d	   V'       g   \        . RR7      # \        P                  P                  VVR7      P                  R4      pV Uu. uF]  pRVP                  RVP                  P                  R	VP                  P                  R
4      RVP                  P                  R
4      /NK_  	  pp\        VRR7      # u upi )ul   ÐŸÐ¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ñ€Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ñ� Ð´Ð»Ñ� Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸ Ð´Ð½Ñ� Ð½ÐµÐ´ÐµÐ»Ð¸ (AJAX)r   r@   F)Úsafe)rg   r@   r!   r   Úsubject_namer$   r   rj   )r2   r3   r	   r   r0   r6   r=   r   r!   rK   r$   r<   rj   )rB   rg   r@   r+   rb   r€   s   &     rH   Úget_schedule_jsonrî   ”  sæ   € ð �{‰{�‰˜wÓ'€HØ�k‰k�o‰o˜iÓ(€GçŸ7Ü˜B UÔ+Ð+ä!×)Ñ)×0Ñ0ØØð 1ó ÷ �n�YÓð ñ !ó"ñ
 !ˆ$ð	 	ˆd�g‰gØ˜Ÿ™×)Ñ)Ø�d—o‘o×.Ñ.¨wÓ7Ø�D—M‘M×*Ñ*¨7Ó3ó	ñ
 !ð 	ð "ô ˜ 5Ô)Ð)ùò"s   ÂA#C:c                óp  € V P                   P                  R4      p\        \        VR7      p\        P
                  P                  VP                  R7      p\        P
                  P                  VR7       Uu/ uF  qDP                  VbK  	  ppRVP                  RVP                  P                  RVP                  RVP                  P                  R	4      R
VP                  P                  R	4      RVP                   P                  RV Uu. uFŠ  pRVP                  RVP"                   RVP$                   2RVP                  V9   d   WVP                  ,          P&                  MRRVP                  V9   d   WVP                  ,          P(                  M^ /NKŒ  	  up/p\+        V4      # u upi u upi )uh   ÐŸÐ¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ñ�Ð¿Ð¸Ñ�ÐºÐ° Ñ�Ñ‚ÑƒÐ´ÐµÐ½Ñ‚Ð¾Ð² Ð´Ð»Ñ� Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð¿Ð¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸ (AJAX)re   r   rÜ   )rÝ   rÛ   Ú
group_namer@   r$   r   rj   rí   rè   r   rK   r¨   râ   rà   rã   )r2   r3   r   r   r   r0   r6   r   r   Ú
student_idr   rK   r@   r$   r<   rj   r!   r¼   r½   râ   rã   r	   )rB   Úschedule_idrÝ   rè   ré   r×   Úsr€   s   &       rH   Úget_students_for_attendancerô   ¬  s~  € ð —+‘+—/‘/ *Ó-€KÜ%¤l°{ÔC€Mä�‰×%Ñ%¨M×,?Ñ,?Ð%Ó@€Hô 3=×2DÑ2D×2KÑ2KÐZgÐ2KÔ2hÓiÑ2h¨3—>‘> 3Ò&Ñ2h€KÐið 	˜M×,Ñ,Ø�m×)Ñ)×.Ñ.Ø�=×(Ñ(Ø�m×.Ñ.×7Ñ7¸Ó@Ø�M×*Ñ*×3Ñ3°GÓ<Ø˜×-Ñ-×2Ñ2Øñ
 óñ
 ˆað	 �!—$‘$Ø�q—{‘{�m 1 Q§\¡\ NÐ3Ø°!·$±$¸+Ô2E�k§$¡$Õ'×.Ò.È9Ø¸a¿d¹dÀkÔ>Q˜K¯©Õ-×:Ò:ÐWXó	
ñ
 ñð€Dô ˜ÓÐùò# jùòs   Á9F.ÄBF3c                ó<  € V P                   P                  R8X  d   \        R4      # V P                   P                  R8X  d   \        R4      # \        P                  P                  RR4      P                  4       pR^ R^ R	^ R
^ /p. pV Fž  pVP                  P                  4       pV'       g4   ^ RI	H
p V! V4      w  rxrš\        P                  P                  WGVWšR7      pW%P                  ;;,          ^,          uu&   VP                  R9   g   K‰  VP                  RVRV/4       K   	  \        VP!                  4       4      ;'       g    ^pR\"        P$                  ! 4       RRVR,          RVR,          R	VR	,          R
VR
,          R\'        VR,          V,          ^d,          ^4      R\'        VR,          V,          ^d,          ^4      R\'        VR	,          V,          ^d,          ^4      R\'        VR
,          V,          ^d,          ^4      /RV/p\)        V RV4      # )up   Ð“Ð»Ð°Ð²Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ� Ñ€Ð¸Ñ�ÐºÐ°Ð¼Ð¸ (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð²Ñ‹ÑˆÐµ)r   Úmy_riskr   Úchild_progressr4   r   ÚlowÚmediumÚhighÚcritical©Úcalculate_student_risk©r   Ú
risk_scoreÚ
risk_levelÚtop_factorsÚrecommended_actionÚriskr/   ÚstatsÚlow_percentÚmedium_percentÚhigh_percentÚcritical_percentÚhigh_risk_studentszdashboard.html)rú   rû   )r4   r5   r   r   r0   r=   r1   Úrisk_predictionsr:   Úrisk.risk_calculatorrý   r   rs   r   r^   ÚsumÚvaluesr   r;   Úroundr   )rB   rè   r  Úhigh_risk_listr   Úlatestrý   ÚscoreÚlevelÚfactorsÚrecÚtotalrG   s   &            rH   Ú	dashboardr  Ë  sæ  € ð ‡|�|×Ñ˜IÔ%Ü˜	Ó"Ð"Ø‡|�|×Ñ˜HÔ$ÜÐ(Ó)Ð)ä�‰×-Ñ-¨f°gÓ>×BÑBÓD€Hà�A�x  F¨A¨z¸1Ð=€EØ€NãˆØ×)Ñ)×/Ñ/Ó1ˆßÝCÙ)?ÀÓ)HÑ&ˆE˜'Ü#×+Ñ+×2Ñ2Ø¸eØ#ð 3ó ˆFð 	×Ñ×  AÕ%Ó Ø×ÑÐ 4Ö4Ø×!Ñ! 9¨g°v¸vÐ"FÖGñ ô �—‘“Ó×$Ð$ 1€Eð 	”—’“ØØ�5˜•< ¨5°­?Ø�E˜&•M :¨u°ZÕ/@Øœ5  u¥°Õ!5¸Õ!;¸QÓ?Øœe E¨(¥O°eÕ$;¸cÕ$AÀ1ÓEØœE %¨¥-°%Õ"7¸#Õ"=¸qÓAØ¤ e¨JÕ&7¸%Õ&?À#Õ&EÀqÓ Ið
ð 	˜nð€Gô �'Ð+¨WÓ5Ð5rZ   c           	     óò  € V P                   P                  R9  d(   V P                   P                  '       g   \        R4      # \        P
                  P                  4       p. pV Fm  pVP                  P                  4       pV'       g4   ^ RI	H
p V! V4      w  rgr‰\        P
                  P                  W6VW‰R7      pVP                  RVRV/4       Ko  	  VP                  R RR7       \        V R	R
V/4      # )uy   Ð¡Ð¿Ð¸Ñ�Ð¾Ðº Ð²Ñ�ÐµÑ… Ñ�Ñ‚ÑƒÐ´ÐµÐ½Ñ‚Ð¾Ð² Ñ� Ñ€Ð¸Ñ�ÐºÐ°Ð¼Ð¸ (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð²Ñ‹ÑˆÐµ)r  rü   rþ   r   r  c                 ó(   € V R ,          P                   # )r  )rÿ   rV   s   &rH   rX   Úrisk_list.<locals>.<lambda>
  s   €   6¥×!5Ò!5rZ   T)r[   Úreversezrisk_list.htmlÚ	risk_listrm   )r4   r5   rp   r   r   r0   r1   r
  r:   r  rý   r   rs   r^   r_   r   )
rB   rè   Ú	risk_datar   Úpredrý   r  r  r  r  s
   &         rH   r  r  ÷  sß   € ð ‡|�|×ÑÐ FÔFÈwÏ|É|×Od×OdÐOdÜ˜Ó$Ð$ä�‰×"Ñ"Ó$€HØ€IÛˆØ×'Ñ'×-Ñ-Ó/ˆßÝCÙ)?ÀÓ)HÑ&ˆE˜'Ü!×)Ñ)×0Ñ0Ø¸eØ#ð 1ó ˆDð 	×Ñ˜) W¨f°dÐ;Ö<ñ ð ‡N�NÑ5¸t€NÔDÜ�'Ð+¨k¸9Ð-EÓFÐFrZ   c           
     ó  € V P                   P                  R8w  d   \        R4      # V P                   P                  pVP                  P                  4       pV'       g4   ^ RIHp V! V4      w  rErg\        P                  P                  WVWgR7      p^ RIHp VP                  P                  VP                  \        P                   ! 4       P#                  4       R7      P%                  R4      R,          p	\'        V R	RVR
VRV	/4      # )uJ   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ€Ð¸Ñ�ÐºÐ° Ð´Ð»Ñ� ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ�Ñ‚ÑƒÐ´ÐµÐ½Ñ‚Ð°r   r  rü   rþ   )Ú
Assignment)r   Údeadline__gteÚdeadlineºNé   Nzmy_risk.htmlr  Úupcoming_assignments)r4   r5   r   r   r
  r:   r  rý   r   r0   rs   Úassignments.modelsr  r6   r   r   r;   r   r>   r   )
rB   r   r  rý   r  r  r  r  r  r$  s
   &         rH   rö   rö     sñ   € ð ‡|�|×Ñ˜IÔ%Ü˜Ó$Ð$à�l‰l×"Ñ"€GØ×#Ñ#×)Ñ)Ó+€DßÝ?Ù%;¸GÓ%DÑ"ˆ�gÜ×%Ñ%×,Ñ,Ø¸%Øð -ó 
ˆõ .Ø%×-Ñ-×4Ñ4Ø�m‰mÜ—l’l“n×)Ñ)Ó+ð 5ó ÷ �hˆzÓ˜2õÐô
 �'˜>Ø�7Ø�ØÐ 4ð,ó ð rZ   c                óÞ  € V P                   P                  R8w  d   \        R4      # V P                   P                  pVP                  P                  4       pV P                  P                  R4      pV'       d   \        \        W1R7      pMVP                  4       pV'       dW   VP                  P                  4       pV'       g4   ^ RIHp V! V4      w  rxrš\        P                  P!                  WGVWšR7      pMRp. pV'       dU   VP"                  '       dC   \$        P                  P'                  VP"                  R7      P)                  R	R
R4      R,          p\+        V RRVRVRVRV/4      # )uP   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° ÑƒÑ�Ð¿ÐµÐ²Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸ Ñ€ÐµÐ±Ñ‘Ð½ÐºÐ° Ð´Ð»Ñ� Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ�r   r  Úchild)r   Úparentsrü   rþ   NrÜ   r!   r"   r#   r"  zchild_progress.htmlr7   Úselected_childr  r+   )r4   r5   r   r   r7   r1   r2   r3   r   r   r:   r
  r  rý   r   r0   rs   r   r   r6   r=   r   )rB   r   r7   Úselected_child_idr)  r  rý   r  r  r  r  r+   s   &           rH   r÷   r÷   0  sG  € ð ‡|�|×Ñ˜HÔ$Ü˜Ó$Ð$à�\‰\× Ñ €FØ�‰×"Ñ"Ó$€HØŸ™Ÿ™¨Ó0ÐçÜ*¬7Ð7HÔY‰à!Ÿ™Ó)ˆçØ×.Ñ.×4Ñ4Ó6ˆßÝCÙ)?ÀÓ)OÑ&ˆE˜'Ü!×)Ñ)×0Ñ0Ø&ÀUØ#ð 1ó ˆDøð
 ˆð €Nß˜.×.×.Ð.Ü%×-Ñ-×4Ñ4¸>×;OÑ;OÐ4ÓP×_Ñ_Ð`iÐktØ`fóhØhjõlˆô �'Ð0Ø�HØ˜.Ø�Ø˜.ð	3ó ð rZ   )*Údjango.shortcutsr   r   r   Údjango.contrib.auth.decoratorsr   Údjango.contribr   Údjango.httpr   r	   Úmodelsr
   r   r   r   r   r   r   Úusers.modelsr   r   Úrisk.modelsr   r   r   ÚcalendarrI   rc   ru   rz   r}   r�   rÔ   rÙ   rê   rî   rô   r  r  rö   r÷   © rZ   rH   Ú<module>r4     s`  ðß @Ñ @Ý 9Ý #ß 2ß Z× ZÑ Zß )Ý &ß (Û ð
 ñ49ó ð49ðn ñ=ó ð=ðD ñ  ó ð  ðF ñ ó ð ð, ñ	 ó ð	 ð ñó ðð ñBó ðBðL ñ!<ó ð!<ðH ñ%<ó ð%<ðP ñ*ó ð*ð. ñó ðð< ñ(6ó ð(6ðV ñGó ðGð0 ñó ðð> ñ%ó ò%rZ   