ó
    ·v	jªA  ã                   ó`  • S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJrJr  SSKJr  SS	KJr  S S
KJr  S SKJrJrJrJrJrJrJr  S SKJrJr  \S 5       r\S 5       r \S 5       r!\S 5       r"\S 5       r#\S 5       r$\S 5       r%\S 5       r&\S 5       r'\S 5       r(\S 5       r)g)é    )ÚrenderÚredirectÚget_object_or_404)Úlogin_required)Úmessages)ÚHttpResponse)Útimezone)ÚStudentÚTeacheré   )ÚRiskPrediction©Úcalculate_student_risk©Ú
Assignment)ÚGroupÚSubjectÚScheduleItemÚRoomÚ
AttendanceÚAcademicDebtÚOlympiad)ÚdatetimeÚ	timedeltac           
      óÀ  • [         R                  R                  5       nU R                  R	                  S5      nU(       a  [        [         US9nOUR                  5       nU(       a/  [        R                  R                  US9R                  SSS5      nO/ n0 nU HK  nUR                  U;  a  0 XVR                  '   XeUR                     UR                  R                  S5      '   MM     / SQn/ S	QnUUUUUU[        R                  R                  5       [        R                  R                  5       [        R                  R                  5       S
.	n	[!        U SU	5      $ )u4   Ð“Ð»Ð°Ð²Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ€Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ñ�Úgroup©Úid©r   ÚsubjectÚteacherÚroomú%H:%M)õ   ÐŸÐ�õ   Ð’Ð¢õ   Ð¡Ð õ   Ð§Ð¢õ   ÐŸÐ¢õ   Ð¡Ð‘õ   Ð’Ð¡))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)	ÚgroupsÚselected_groupÚschedule_dictÚschedule_itemsÚweekdaysÚtimesÚsubjectsÚteachersÚroomszschedule_new.html)r   ÚobjectsÚallÚGETÚgetr   Úfirstr   ÚfilterÚselect_relatedÚweekdayÚ
start_timeÚstrftimer   r   r   r   )
Úrequestr+   Úselected_group_idr,   r.   r-   Úitemr/   r0   Úcontexts
             ÚD:\diplom_project\risk\views.pyÚschedule_viewrC      s(  € ô �]‰]×ÑÓ €FØŸ™Ÿ™¨Ó0ÐæÜ*¬5Ð5FÑG‰àŸ™›ˆæÜ%×-Ñ-×4Ñ4¸>Ð4ÐJ×YÑYÐZcÐenÐpvÓw‰àˆà€MÛˆØ�<‰<˜}Ó,Ø*,ˆMŸ,™,Ñ'ØIM�d—l‘lÑ# D§O¡O×$<Ñ$<¸WÓ$EÓFñ ò
 H€HÚp€Eð Ø(Ø&Ø(ØØÜ—O‘O×'Ñ'Ó)Ü—O‘O×'Ñ'Ó)Ü—‘×!Ñ!Ó#ñ
€Gô �'Ð.°Ó8Ð8ó    c           
      ó�  • [        [        US9n[        R                  R	                  US9R                  SSS5      nSSSS	.S
SSS	.SSSS	.SSSS	.SSSS	.SSSS	.SSSS	./n0 nU H
  n/ XVS   '   M     U H   nXWR                     R                  U5        M"     U H  nXV   R                  S S9  M     UUUS.n[        U S U5      $ )!uF   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»Ñ�r   )r!   r   r    r"   õ   ÐŸÐ¾Ð½ÐµÐ´ÐµÐ»ÑŒÐ½Ð¸Ðºr$   r   )ÚnameÚshortÚnumberõ   Ð’Ñ‚Ð¾Ñ€Ð½Ð¸Ðºr%   é   õ
   Ð¡Ñ€ÐµÐ´Ð°r&   é   õ   Ð§ÐµÑ‚Ð²ÐµÑ€Ð³r'   é   õ   ÐŸÑ�Ñ‚Ð½Ð¸Ñ†Ð°r(   é   õ   Ð¡ÑƒÐ±Ð±Ð¾Ñ‚Ð°r)   é   õ   Ð’Ð¾Ñ�ÐºÑ€ÐµÑ�ÐµÐ½ÑŒÐµr*   é   rI   c                 ó   • U R                   $ )N)r<   ©Úxs    rB   Ú<lambda>Ú"teacher_schedule.<locals>.<lambda>P   s   € °A·L²LrD   )Úkey)r!   r/   Úschedule_by_weekdayzteacher_schedule.html)
r   r   r   r4   r9   r:   r;   ÚappendÚsortr   )	r>   Ú
teacher_idr!   r.   r/   r\   Údayr@   rA   s	            rB   Úteacher_schedulera   7   s  € ô  ¤¨JÑ7€Gä!×)Ñ)×0Ñ0¸Ð0ÐA×PÑPÐQXÐZcÐekÓl€Nð *°FÀaÑHØ!¨F¸aÑ@Ø¨¸!Ñ<Ø!¨F¸aÑ@Ø!¨F¸aÑ@Ø!¨F¸aÑ@Ø)°FÀaÑHð€Hð ÐÛˆØ-/Ð ™MÓ*ñ ó ˆØŸL™LÑ)×0Ñ0°Ö6ñ ó #ˆØÑ ×%Ñ%Ñ*@Ð%ÓAñ #ð ØØ2ñ€Gô
 �'Ð2°GÓ<Ð<rD   c                 ó@  • U R                   R                  S;  a=  U R                   R                  (       d"  [        R                  " U S5        [        S5      $ U R                  S:X  Ga,  [        R                  R                  U R                  R                  S5      U R                  R                  S5      U R                  R                  S5      U R                  R                  S5      =(       d    S	U R                  R                  S
5      U R                  R                  S5      U R                  R                  S5      U R                  R                  S5      S:H  U R                  R                  S5      S:H  S9	  [        R                  " U S5        [        S5      $ )uh   Ð”Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ñ� (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð°Ð´Ð¼Ð¸Ð½Ð¾Ð²)©r!   Úacademic_staffÚadminuB   Ð£ Ð²Ð°Ñ� Ð½ÐµÑ‚ Ð¿Ñ€Ð°Ð² Ð½Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ð¹ÚscheduleÚPOSTÚgroup_idÚ
subject_idr_   Úroom_idNr;   r<   Úend_timeÚis_even_weekÚonÚis_odd_week)	rh   ri   r_   rj   r;   r<   rk   rl   rn   u!   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾)ÚuserÚroleÚis_staffr   Úerrorr   Úmethodr   r4   Úcreaterg   r7   Úsuccess)r>   s    rB   Úadd_schedule_itemrv   Z   s1  € ð ‡|�|×ÑÐ FÓFÈwÏ|É|×Od×OdÜ�Š�wÐ dÔeÜ˜
Ó#Ð#à‡~�~˜ÔÜ×Ñ×#Ñ#Ø—\‘\×%Ñ% jÓ1Ø—|‘|×'Ñ'¨Ó5Ø—|‘|×'Ñ'¨Ó5Ø—L‘L×$Ñ$ YÓ/×7°4Ø—L‘L×$Ñ$ YÓ/Ø—|‘|×'Ñ'¨Ó5Ø—\‘\×%Ñ% jÓ1Ø Ÿ™×)Ñ)¨.Ó9¸TÑAØŸ™×(Ñ(¨Ó7¸4Ñ?ð 	$ñ 
	
ô 	×Ò˜Ð"EÔFÜ�JÓÐrD   c                 ó0  • U R                   R                  S;  a=  U R                   R                  (       d"  [        R                  " U S5        [        S5      $ [        [        US9nUR                  5         [        R                  " U S5        [        S5      $ )ud   Ð£Ð´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ñ� (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð°Ð´Ð¼Ð¸Ð½Ð¾Ð²)rc   u>   Ð£ Ð²Ð°Ñ� Ð½ÐµÑ‚ Ð¿Ñ€Ð°Ð² Ð½Ð° ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°Ð½Ñ�Ñ‚Ð¸Ð¹rf   r   u   Ð—Ð°Ð½Ñ�Ñ‚Ð¸Ðµ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¾)
ro   rp   rq   r   rr   r   r   r   Údeleteru   )r>   Úitem_idr@   s      rB   Údelete_schedule_itemrz   q   sn   € ð ‡|�|×ÑÐ FÓFÈwÏ|É|×Od×OdÜ�Š�wÐ `ÔaÜ˜
Ó#Ð#äœ\¨gÑ6€DØ‡K�K„MÜ×Ò�WÐ=Ô>Ü�JÓÐrD   c           	      óŠ  • SSK Jn  SSKJnJnJn  U R                  R                  S5      nU(       d"  [        R                  " U S5        [        S5      $ [        [        US9n[        R                  R                  US9R!                  S	S
S5      nU" 5       nUR"                  n	SUR$                   3U	l        / SQn
/ SQnSUR$                   3U	S'   U" SSS9U	S   l        U	R+                  S5        SU	S'   [-        U
SS9 HJ  u  pÍU	R/                  SXÍS9  U" SSS9U	R/                  SUS9l        U" SSSS 9U	R/                  SUS9l        ML     0 nU HK  nUR2                  U;  a  0 XïR2                  '   XþUR2                     UR4                  R7                  S!5      '   MM     [-        US"S9 GH�  u  nu  nnU	R/                  US#U S$U 3S9  U" S%S&9U	R/                  US#S9l        [-        [;        S#S'5      SS9 GH;  u  nnUR                  U0 5      R                  U5      nU(       aâ  UR<                  (       a  [?        UR<                  5      OS(nUR<                  (       a  UR<                  R@                  (       a  S)nURB                  R$                   S*URD                  RF                   S+URD                  RH                   S*U 3nU	R/                  UUUS9  U" SS%S%S,9U	R/                  UUS9l        S-U	RJ                  U   l&        GM  U	R/                  UUS(S9  U" S%S&9U	R/                  UUS9l        GM>     GM�     [;        S#S'5       H#  nS.U	RN                  [Q        S/U-   5         l)        M%     [U        S0S19nS2UR$                   S3[V        RX                  " 5       R7                  S45       S53US6'   UR[                  U5        U$ )7u,   Ð­ÐºÑ�Ð¿Ð¾Ñ€Ñ‚ Ñ€Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ñ� Ð² Excelr   )ÚWorkbook)Ú	AlignmentÚFontÚPatternFillr   u   Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒrf   r   r   r    r!   r"   u   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ )rF   rJ   rL   rN   rP   rR   rT   )z09:00-10:30z10:45-12:15z12:45-14:15z14:30-16:00z16:15-17:45u"   Ð Ð°Ñ�Ð¿Ð¸Ñ�Ð°Ð½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ ÚA1é   T)ÚsizeÚboldzA1:H1u
   Ð’Ñ€ÐµÐ¼Ñ�ÚA3rK   )ÚstartrM   )ÚrowÚcolumnÚvalueÚFFFFFF)rƒ   Úcolor)r†   r‡   Ú4395ABÚsolid)Ústart_colorÚ	end_colorÚ	fill_typer#   rO   r   Ú-Úcenter)Ú
horizontalé   u   â€”u   ðŸŒ� Ð”Ð¸Ñ�Ñ‚Ð°Ð½Ñ‚Ú
Ú )Ú	wrap_textr’   Úverticalé<   é   é@   zAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet)Úcontent_typezattachment; filename="schedule_Ú_z%Y%m%dz.xlsx"zContent-Disposition).Úopenpyxlr|   Úopenpyxl.stylesr}   r~   r   r6   r7   r   rr   r   r   r   r   r4   r9   r:   ÚactiverG   ÚtitleÚfontÚmerge_cellsÚ	enumerateÚcellÚfillr;   r<   r=   Ú	alignmentÚranger"   ÚstrÚis_distancer    r!   Ú	last_nameÚ
first_nameÚrow_dimensionsÚheightÚcolumn_dimensionsÚchrÚwidthr   r   ÚnowÚsave)r>   r|   r}   r~   r   rh   r   r.   ÚwbÚwsÚweekdays_rusr0   Úir`   r-   r@   Úrow_idxr…   ÚendÚcol_idxr;   Ú	room_nameÚ
cell_valueÚcolÚresponses                            rB   Úexport_scheduler¾   ~   s~  € õ "ß<Ñ<à�{‰{�‰˜wÓ'€HÞÜ�Š�wÐ ?Ô@Ü˜
Ó#Ð#äœe¨Ñ1€EÜ!×)Ñ)×0Ñ0°uÐ0Ð=×LÑLÈYÐXaÐciÓj€Ná	‹€BØ	�‰€BØ& u§z¡z lÐ3€B„Hò ^€LÚW€Eà3°E·J±J°<Ð@€B€t�HÙ˜b tÑ,€B€t�H„MØ‡N�N�7Ôà€B€t�HÜ˜L°Ô2‰ˆØ
�‰�A˜aˆÑ+Ù(,°$¸hÑ(Gˆ�‰�A˜aˆÐ Ô%Ù(3ÀÐT\ÐhoÑ(pˆ�‰�A˜aˆÐ Ö%ñ 3ð
 €MÛˆØ�<‰<˜}Ó,Ø*,ˆMŸ,™,Ñ'ØIM�d—l‘lÑ# D§O¡O×$<Ñ$<¸WÓ$EÓFñ ô
 "+¨5¸Õ!:Ñˆ‘�%˜Ø
�‰�G A°¨w°a¸°uÐ-=ˆÑ>Ù3<ÈÑ3Qˆ�‰�G AˆÐ&Ô0ä )¬%°°1«+¸QÕ ?ÑˆG�WØ ×$Ñ$ W¨bÓ1×5Ñ5°eÓ<ˆDÞØ.2¯i¯iœC §	¡	œN¸U�	Ø—9—9 §¡×!6×!6Ø 5�IØ $§¡× 1Ñ 1Ð2°"°T·\±\×5KÑ5KÐ4LÈAÈdÏlÉl×NeÑNeÐMfÐfhÐirÐhsÐt�
Ø—‘˜G¨G¸:�ÑFÙAJÐUYÐfnØT\ñB^�—‘˜G¨G�Ð4Ô>à46�×!Ñ! 'Ñ*×1à—‘˜G¨G¸5�ÑAÙAJÐV^ÑA_�—‘˜G¨G�Ð4×>ô !@ñ	 ";ô& �Q˜Ž{ˆØ46ˆ×ÑœS  c¡›]Ñ+Ö1ñ ô Ð)lÑm€Hà#BÀ5Ç:Á:À,ÈaÔPX×P\ÒP\ÓP^×PgÑPgÐhpÓPqÐOrÐrxÐ!yð Øñà‡G�GˆHÔØ€OrD   c                 ó†  • U R                   n[        R                  " 5       R                  5       nUR                  S:X  a  [        S5      $ UR                  S:X  a  [        S5      $ U R                  R                  S5      nU R                  R                  S5      nU(       d  U[        SS9-
  R                  S	5      nU(       d  UR                  S	5      nUR                  S
:X  ay  [        R                  R                  US9n[        R                  R                  [        US9[        US9-  5      R                  5       n[         R                  R                  US9nO[         R                  R#                  5       nSSSSS.n/ n	U HŸ  n
U
R$                  R                  US9R'                  5       nU(       d3  SSKJn  U" U
5      u  pÞnn[,        R                  R/                  X­UUUUS9nX‹R0                  ==   S-  ss'   UR0                  S;   d  MŒ  U	R3                  X«S.5        M¡     [5        UR7                  5       5      =(       d    SnUUUUS   US   US   US   [9        US   U-  S-  S5      [9        US   U-  S-  S5      [9        US   U-  S-  S5      [9        US   U-  S-  S5      S.U	S.n[;        U SU5      $ )uR   Ð“Ð»Ð°Ð²Ð½Ð°Ñ� Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ� Ñ€Ð¸Ñ�ÐºÐ°Ð¼Ð¸ Ñ� Ð²Ñ‹Ð±Ð¾Ñ€Ð¾Ð¼ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð°ÚstudentÚmy_riskÚparentÚchild_progressÚ	date_fromÚdate_toé   )Údaysú%Y-%m-%dr!   )ro   )Úcurator)Úschedule_items__teacher)Ú	group__inr   )ÚlowÚmediumÚhighÚcritical)Úprediction_date__lter   )rÀ   Ú
risk_scoreÚ
risk_levelÚtop_factorsÚrecommended_actionÚprediction_dater   )rÎ   rÏ   ©rÀ   ÚriskrÌ   rÍ   rÎ   rÏ   éd   )rÌ   rÍ   rÎ   rÏ   Úlow_percentÚmedium_percentÚhigh_percentÚcritical_percent)ÚtodayrÄ   rÅ   ÚstatsÚhigh_risk_studentszdashboard.html)ro   r	   r±   Údaterp   r   r6   r7   r   r=   r   r4   r   r9   ÚQÚdistinctr
   r5   Úrisk_predictionsr8   Úrisk.risk_calculatorr   r   rt   rÒ   r]   ÚsumÚvaluesÚroundr   )r>   ro   rÝ   rÄ   rÅ   r!   r+   ÚstudentsrÞ   Úhigh_risk_listrÀ   Úlatestr   ÚscoreÚlevelÚfactorsÚrecÚtotalrA   s                      rB   Ú	dashboardrð   Â   s¥  € ð �<‰<€DÜ�LŠL‹N×ÑÓ!€Eð ‡y�y�IÓÜ˜	Ó"Ð"Ø‡y�y�HÓÜÐ(Ó)Ð)ð —‘—‘ Ó,€IØ�k‰k�o‰o˜iÓ(€Gö ØœY¨BÑ/Ñ/×9Ñ9¸*ÓEˆ	ÞØ—.‘. Ó,ˆð ‡y�y�IÓÜ—/‘/×%Ñ%¨4Ð%Ð0ˆÜ—‘×%Ñ%Ü�gÑ¤¸7Ñ!CÑCó
ç
‰(‹*ð 	ô —?‘?×)Ñ)°FÐ)Ð;‰ä—?‘?×&Ñ&Ó(ˆà ¨A¸1Ñ=€EØ€Nãˆà×)Ñ)×0Ñ0Ø!(ð 1ð 
ç
‰%‹'ð 	ö ÝCÙ)?ÀÓ)HÑ&ˆE˜' 3Ü#×+Ñ+×2Ñ2Ø¸eØ#¸Ø 'ð 3ð ˆFð
 	×ÑÓ  AÑ%Ó Ø×ÑÐ 4Õ4Ø×!Ñ!¨gÑ"FÖGñ! ô$ �—‘“Ó×$ 1€Eð ØØà˜‘<¨5°©?Ø˜&‘M¨u°ZÑ/@Ü   u¡°Ñ!5¸Ñ!;¸QÓ?Ü# E¨(¡O°eÑ$;¸cÑ$AÀ1ÓEÜ! %¨¡-°%Ñ"7¸#Ñ"=¸qÓAÜ % e¨JÑ&7¸%Ñ&?À#Ñ&EÀqÓ Iñ
ð -ñ€Gô �'Ð+¨WÓ5Ð5rD   c           	      ó   • U R                   R                  S;  aK  U R                   R                  (       d0  U R                   R                  S:X  a  [        S5      $ [        S5      $ [        R
                  R                  5       n/ nU Hd  nUR                  R                  5       nU(       d-  [        U5      u  pVpx[        R
                  R                  X5UXxS9nUR                  X4S.5        Mf     UR                  S SS9  [        U S	S
U05      $ )uy   Ð¡Ð¿Ð¸Ñ�Ð¾Ðº Ð²Ñ�ÐµÑ… Ñ�Ñ‚ÑƒÐ´ÐµÐ½Ñ‚Ð¾Ð² Ñ� Ñ€Ð¸Ñ�ÐºÐ°Ð¼Ð¸ (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ� Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ð¸ Ð²Ñ‹ÑˆÐµ)rc   rÀ   rð   ©rÀ   rÑ   rÒ   rÓ   rÔ   rÖ   c                 ó    • U S   R                   $ )Nr×   )rÑ   rW   s    rB   rY   Úrisk_list.<locals>.<lambda>  s   €   6¡×!5Ò!5rD   T)r[   Úreversezrisk_list.htmlÚ	risk_list)ro   rp   rq   r   r
   r4   r5   rã   r8   r   r   rt   r]   r^   r   )	r>   rè   Ú	risk_datarÀ   Úpredrë   rì   rí   rî   s	            rB   rö   rö   
  sð   € ð ‡|�|×ÑÐ FÓFÈwÏ|É|×Od×OdØ�<‰<×Ñ 	Ó)Ü˜KÓ(Ð(Ü˜Ó$Ð$ä�‰×"Ñ"Ó$€HØ€IÛˆØ×'Ñ'×-Ñ-Ó/ˆÞÜ)?ÀÓ)HÑ&ˆE˜'Ü!×)Ñ)×0Ñ0Ø¸eØ#ð 1ð ˆDð 	×Ñ WÑ;Ö<ñ ð ‡N�NÑ5¸t€NÑDÜ�'Ð+¨k¸9Ð-EÓFÐFrD   c                 ó  • U R                   R                  S:w  a  [        S5      $ U R                   R                  nUR                  R                  5       nU R                  R                  S5      nU(       a  [        [        X1S9nOUR                  5       nU(       aR  UR                  R                  5       nU(       d0  SSKJn  U" U5      u  pxpš[        R                  R!                  XGUXšS9nOSn[#        U S	UUUS
.5      $ )uP   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° ÑƒÑ�Ð¿ÐµÐ²Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸ Ñ€ÐµÐ±Ñ‘Ð½ÐºÐ° Ð´Ð»Ñ� Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ�rÂ   rð   Úchild)r   Úparentsr   r   rò   Nzchild_progress.html)ÚchildrenÚselected_childr×   )ro   rp   r   rÂ   rü   r5   r6   r7   r   r
   r8   rã   Úrisk_calculatorr   r   r4   rt   r   )r>   rÂ   rü   Úselected_child_idrý   rø   r   rë   rì   rí   rî   s              rB   rÃ   rÃ   $  sè   € ð ‡|�|×Ñ˜HÓ$Ü˜Ó$Ð$à�\‰\× Ñ €FØ�‰×"Ñ"Ó$€HØŸ™Ÿ™¨Ó0ÐæÜ*¬7Ð7HÑY‰à!Ÿ™Ó)ˆæØ×.Ñ.×4Ñ4Ó6ˆÞÝ?Ù)?ÀÓ)OÑ&ˆE˜'Ü!×)Ñ)×0Ñ0Ø&ÀUØ#ð 1ð ˆDøð
 ˆä�'Ð0ØØ(Øñ3ó ð rD   c                 ó  • U R                   R                  S:X  aQ  U R                   R                  n[        R                  R                  US9R                  S5      n[        U SX!S.5      $ [        R                  R                  5       nU R                  R                  S5      nU R                  R                  S[        R                  " 5       R                  S5      5      nU(       a  [        [        US	9n/ nOUR!                  5       n/ nU(       a  ["        R                  R                  US
9O/ n0 n	[        R                  R                  US9 H   n
X©U
R$                   SU
R&                   3'   M"     UUUUUU	S.n[        U SU5      $ )u)   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¿Ð¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸rÀ   )rÀ   Úschedule_item__subjectzmy_attendance.html)ÚattendancesrÀ   r   rà   rÈ   r   r   )Úschedule_item__inrœ   )r+   r,   Úselected_dater.   rè   Úattendances_dictzattendance.html)ro   rp   rÀ   r   r4   r9   r:   r   r   r5   r6   r7   r   r±   r=   r   r8   r
   Úschedule_item_idÚ
student_id)r>   rÀ   r  r+   r?   r  r,   r.   rè   r  ÚattrA   s               rB   Úattendance_viewr	  H  sY  € ð ‡|�|×Ñ˜IÓ%Ø—,‘,×&Ñ&ˆÜ ×(Ñ(×/Ñ/¸Ð/Ð@×OÑOÐPhÓiˆÜ�gÐ3À[Ñ5eÓfÐfä�]‰]×ÑÓ €FØŸ™Ÿ™¨Ó0ÐØ—K‘K—O‘O F¬H¯LªL«N×,CÑ,CÀJÓ,OÓP€MæÜ*¬5Ð5FÑGˆØ‰àŸ™›ˆØˆæ?MŒw�‰×%Ñ%¨NÐ%Ñ;ÐSU€HàÐÜ×!Ñ!×(Ñ(¸>Ð(ÓJˆØGJ˜C×0Ñ0Ð1°°3·>±>Ð2BÐCÓDñ Kð Ø(Ø&Ø(ØØ,ñ€Gô �'Ð,¨gÓ6Ð6rD   c                 óä  • U R                   S:X  aÖ  U R                  R                  S5      nU R                  R                  S5      nU R                  R                  S5      nU R                  R                  SS5      n[        R                  R                  UUX4S.S9u  pVU R                  R                  S	5      S
:X  a  SSKJn  U" SS05      $ [        R                  " U S5        [        S5      $ )u'   ÐžÑ‚Ð¼ÐµÑ‚ÐºÐ° Ð¿Ð¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚Ð¸rg   r  r  ÚstatusÚlate_minutesr   )r  r  )r  r  Údefaultszx-requested-withÚXMLHttpRequest)ÚJsonResponseÚoku)   ÐŸÐ¾Ñ�ÐµÑ‰Ð°ÐµÐ¼Ð¾Ñ�Ñ‚ÑŒ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð°Ú
attendance)rs   rg   r7   r   r4   Úupdate_or_createÚheadersÚdjango.httpr  r   ru   r   )r>   r  r  r  r  r  Úcreatedr  s           rB   Úmark_attendancer  l  sÙ   € ð ‡~�~˜ÓØ"Ÿ<™<×+Ñ+Ð,>Ó?ÐØ—\‘\×%Ñ% lÓ3ˆ
Ø—‘×!Ñ! (Ó+ˆØ—|‘|×'Ñ'¨¸Ó:ˆä(×0Ñ0×AÑAØ-Ø!Ø &ÑEð Bð 
Ñˆ
ð �?‰?×ÑÐ1Ó2Ð6FÓFÝ0Ù ¨4Ð 0Ó1Ð1ä×Ò˜Ð"MÔNä�LÓ!Ð!rD   c                 óú  • U R                   R                  S:w  a  [        S5      $ U R                   R                  nUR                  R                  5       nU(       d0  SSKJn  U" U5      u  pEpg[        R                  R                  XUXgS9nSSKJn  SSKJn	  UR                  R                  UR                  U	R                   " 5       R#                  5       S	9R%                  S
5      SS n
['        U SUUU
S.5      $ )uJ   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ñ€Ð¸Ñ�ÐºÐ° Ð´Ð»Ñ� ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ�Ñ‚ÑƒÐ´ÐµÐ½Ñ‚Ð°rÀ   rð   r   r   rò   r   r   )r   )r   Údeadline__gteÚdeadlineNrQ   zmy_risk.html)rÀ   r×   Úupcoming_assignments)ro   rp   r   rÀ   rã   r8   rþ   r   r   r4   rt   Úassignments.modelsr   r   r9   r   r±   rà   Úorder_byr   )r>   rÀ   rø   r   rë   rì   rí   rî   r   r   r  s              rB   rÁ   rÁ   „  sï   € ð ‡|�|×Ñ˜IÓ%Ü˜Ó$Ð$à�l‰l×"Ñ"€GØ×#Ñ#×)Ñ)Ó+€DÞÝ;Ù%;¸GÓ%DÑ"ˆ�gÜ×%Ñ%×,Ñ,Ø¸%Øð -ð 
ˆõ .Ý!Ø%×-Ñ-×4Ñ4Ø�m‰mØ—l’l“n×)Ñ)Ó+ð 5ð ÷ �hˆzÓ˜2˜AðÐô
 �'˜>ØØØ 4ñ,ó ð rD   N)*Údjango.shortcutsr   r   r   Údjango.contrib.auth.decoratorsr   Údjango.contribr   r  r   Údjango.utilsr	   Úusers.modelsr
   r   Úmodelsr   rþ   r   r  r   Úcore.modelsr   r   r   r   r   r   r   r   r   rC   ra   rv   rz   r¾   rð   rö   rÃ   r	  r  rÁ   © rD   rB   Ú<module>r%     s  ðß @Ñ @Ý 9Ý #Ý $Ý !ß )Ý "Ý 3Ý )ß ^× ^Ñ ^ß (ð
 ñ#9ó ð#9ðL ñ=ó ð=ðD ñ ó ð ð, ñ	 ó ð	 ð ñ>ó ð>ðF ñD6ó ðD6ðN ñGó ðGð2 ñó ððF ñ 7ó ð 7ðF ñ"ó ð"ð. ñó ñrD   