codeforlife-portal 5.33.5__py2.py3-none-any.whl → 8.9.9__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. cfl_common/common/__init__.py +1 -0
  2. cfl_common/common/app_settings.py +66 -0
  3. cfl_common/common/apps.py +6 -0
  4. cfl_common/common/context_processors.py +9 -0
  5. cfl_common/common/csp_config.py +85 -0
  6. cfl_common/common/helpers/__init__.py +0 -0
  7. cfl_common/common/helpers/data_migration_loader.py +42 -0
  8. cfl_common/common/helpers/emails.py +393 -0
  9. cfl_common/common/helpers/generators.py +52 -0
  10. cfl_common/common/helpers/organisation.py +10 -0
  11. cfl_common/common/mail.py +201 -0
  12. cfl_common/common/migrations/0001_initial.py +240 -0
  13. cfl_common/common/migrations/0002_emailverification.py +55 -0
  14. cfl_common/common/migrations/0003_aimmocharacter.py +31 -0
  15. cfl_common/common/migrations/0004_add_aimmocharacters.py +17 -0
  16. cfl_common/common/migrations/0005_add_worksheets.py +8 -0
  17. cfl_common/common/migrations/0006_update_aimmo_character_image_path.py +17 -0
  18. cfl_common/common/migrations/0007_add_pdf_names_to_first_two_worksheets.py +8 -0
  19. cfl_common/common/migrations/0008_unlock_worksheet_3.py +11 -0
  20. cfl_common/common/migrations/0009_add_blocked_time_to_teacher_and_student.py +24 -0
  21. cfl_common/common/migrations/0010_remove_teacher_title.py +18 -0
  22. cfl_common/common/migrations/0011_student_login_id.py +18 -0
  23. cfl_common/common/migrations/0012_usersession.py +39 -0
  24. cfl_common/common/migrations/0013_class_school.py +42 -0
  25. cfl_common/common/migrations/0014_login_type.py +29 -0
  26. cfl_common/common/migrations/0015_dailyactivity.py +31 -0
  27. cfl_common/common/migrations/0016_joinreleasestudent.py +42 -0
  28. cfl_common/common/migrations/0017_copy_email_to_username.py +18 -0
  29. cfl_common/common/migrations/0018_update_aimmo_character_image_path.py +15 -0
  30. cfl_common/common/migrations/0019_aimmocharacter_alt.py +16 -0
  31. cfl_common/common/migrations/0020_class_is_active_and_null_access_code.py +23 -0
  32. cfl_common/common/migrations/0021_school_is_active.py +28 -0
  33. cfl_common/common/migrations/0022_school_cleanup.py +29 -0
  34. cfl_common/common/migrations/0023_userprofile_aimmo_badges.py +22 -0
  35. cfl_common/common/migrations/0024_teacher_invited_by.py +25 -0
  36. cfl_common/common/migrations/0025_schoolteacherinvitation.py +47 -0
  37. cfl_common/common/migrations/0026_teacher_remove_join_request.py +22 -0
  38. cfl_common/common/migrations/0027_class_created_by.py +25 -0
  39. cfl_common/common/migrations/0028_coding_club_downloads.py +23 -0
  40. cfl_common/common/migrations/0029_dynamicelement.py +22 -0
  41. cfl_common/common/migrations/0030_add_maintenance_banner.py +25 -0
  42. cfl_common/common/migrations/0031_improve_admin_panel.py +56 -0
  43. cfl_common/common/migrations/0032_dailyactivity_level_control_submits.py +18 -0
  44. cfl_common/common/migrations/0033_password_reset_tracking_fields.py +23 -0
  45. cfl_common/common/migrations/0034_dailyactivity_daily_school_student_lockout_reset.py +18 -0
  46. cfl_common/common/migrations/0035_rename_lockout_fields.py +27 -0
  47. cfl_common/common/migrations/0036_rename_awaiting_email_verification_userprofile_is_verified.py +17 -0
  48. cfl_common/common/migrations/0037_migrate_email_verification.py +21 -0
  49. cfl_common/common/migrations/0038_delete_emailverification.py +16 -0
  50. cfl_common/common/migrations/0039_copy_email_to_username.py +18 -0
  51. cfl_common/common/migrations/0040_school_county.py +18 -0
  52. cfl_common/common/migrations/0041_populate_gb_counties.py +27 -0
  53. cfl_common/common/migrations/0042_totalactivity.py +25 -0
  54. cfl_common/common/migrations/0043_add_total_activity.py +30 -0
  55. cfl_common/common/migrations/0044_update_activity_models.py +33 -0
  56. cfl_common/common/migrations/0045_otp.py +23 -0
  57. cfl_common/common/migrations/0046_alter_school_country.py +19 -0
  58. cfl_common/common/migrations/0047_delete_school_postcode.py +16 -0
  59. cfl_common/common/migrations/0048_unique_school_names.py +42 -0
  60. cfl_common/common/migrations/0049_anonymise_orphan_users.py +29 -0
  61. cfl_common/common/migrations/0050_anonymise_orphan_schools.py +30 -0
  62. cfl_common/common/migrations/0051_verify_returning_users.py +26 -0
  63. cfl_common/common/migrations/0052_add_cse_fields.py +68 -0
  64. cfl_common/common/migrations/0053_clean_class_data.py +24 -0
  65. cfl_common/common/migrations/0054_delete_aimmo_models.py +20 -0
  66. cfl_common/common/migrations/0055_alter_schoolteacherinvitation_token.py +18 -0
  67. cfl_common/common/migrations/0056_set_non_school_teachers_as_non_admins.py +25 -0
  68. cfl_common/common/migrations/0057_teacher_teacher__is_admin.py +19 -0
  69. cfl_common/common/migrations/0058_userprofile_google_refresh_token_and_more.py +24 -0
  70. cfl_common/common/migrations/__init__.py +0 -0
  71. cfl_common/common/models.py +557 -0
  72. cfl_common/common/permissions.py +84 -0
  73. cfl_common/common/tests/__init__.py +0 -0
  74. cfl_common/common/tests/test_migration_anonymise_orphan_schools.py +30 -0
  75. cfl_common/common/tests/test_migration_anonymise_orphan_users.py +30 -0
  76. cfl_common/common/tests/test_migration_blocked_time.py +15 -0
  77. cfl_common/common/tests/test_migration_remove_teacher_title.py +13 -0
  78. cfl_common/common/tests/test_migration_unique_school_names.py +33 -0
  79. cfl_common/common/tests/test_migration_verify_returning_users.py +59 -0
  80. cfl_common/common/tests/test_models.py +87 -0
  81. cfl_common/common/tests/utils/__init__.py +0 -0
  82. cfl_common/common/tests/utils/classes.py +38 -0
  83. cfl_common/common/tests/utils/email.py +67 -0
  84. cfl_common/common/tests/utils/organisation.py +41 -0
  85. cfl_common/common/tests/utils/student.py +123 -0
  86. cfl_common/common/tests/utils/teacher.py +73 -0
  87. cfl_common/common/tests/utils/user.py +27 -0
  88. cfl_common/common/utils.py +56 -0
  89. cfl_common/setup.py +61 -0
  90. codeforlife_portal-8.9.9.dist-info/METADATA +226 -0
  91. {codeforlife_portal-5.33.5.dist-info → codeforlife_portal-8.9.9.dist-info}/RECORD +339 -241
  92. {codeforlife_portal-5.33.5.dist-info → codeforlife_portal-8.9.9.dist-info}/WHEEL +1 -1
  93. codeforlife_portal-8.9.9.dist-info/licenses/LICENSE.md +3 -0
  94. {codeforlife_portal-5.33.5.dist-info → codeforlife_portal-8.9.9.dist-info}/top_level.txt +1 -0
  95. deploy/middleware/maintenance.py +25 -0
  96. deploy/middleware/screentime_warning.py +29 -0
  97. deploy/middleware/security.py +5 -6
  98. deploy/middleware/session_timeout.py +4 -2
  99. deploy/middleware/tmp_basic_auth.py +41 -0
  100. example_project/portal_test_settings.py +239 -0
  101. example_project/settings.py +156 -17
  102. example_project/urls.py +5 -6
  103. portal/__init__.py +1 -1
  104. portal/admin.py +142 -29
  105. portal/app_settings.py +8 -7
  106. portal/forms/dotmailer.py +6 -4
  107. portal/forms/invite_teacher.py +19 -10
  108. portal/forms/organisation.py +137 -68
  109. portal/forms/play.py +53 -98
  110. portal/forms/registration.py +70 -164
  111. portal/forms/teach.py +147 -121
  112. portal/handlers.py +1 -2
  113. portal/helpers/decorators.py +30 -10
  114. portal/helpers/password.py +86 -47
  115. portal/helpers/ratelimit.py +32 -15
  116. portal/helpers/regexes.py +5 -0
  117. portal/helpers/request_handlers.py +10 -0
  118. portal/migrations/0044_auto_20150430_0959.py +6 -2
  119. portal/mixins/__init__.py +1 -0
  120. portal/mixins/cron_mixin.py +12 -0
  121. portal/permissions/__init__.py +1 -0
  122. portal/permissions/is_cron_request_from_google.py +14 -0
  123. portal/static/portal/img/10_years_anniversary.png +0 -0
  124. portal/static/portal/img/RR_logo_grass_background.png +0 -0
  125. portal/static/portal/img/coding_club_hero.jpg +0 -0
  126. portal/static/portal/img/coding_club_python_pack.png +0 -0
  127. portal/static/portal/img/facebook.png +0 -0
  128. portal/static/portal/img/gitbook.png +0 -0
  129. portal/static/portal/img/howe_dell_1.png +0 -0
  130. portal/static/portal/img/howe_dell_2.png +0 -0
  131. portal/static/portal/img/howe_dell_3.png +0 -0
  132. portal/static/portal/img/logo_cfl.png +0 -0
  133. portal/static/portal/img/logo_cfl_powered.svg +35 -0
  134. portal/static/portal/img/logo_cfl_reminder_cards.jpg +0 -0
  135. portal/static/portal/img/logo_ocado_group.png +0 -0
  136. portal/static/portal/img/logo_python_den.svg +21 -0
  137. portal/static/portal/img/long_europe_map.png +0 -0
  138. portal/static/portal/img/python_den.png +0 -0
  139. portal/static/portal/img/python_den_banner.svg +26 -0
  140. portal/static/portal/img/rapid_router_landing_hero.png +0 -0
  141. portal/static/portal/img/rr_advanced.png +0 -0
  142. portal/static/portal/img/ten_year_map_pin.svg +1 -0
  143. portal/static/portal/img/thumbnail_educate_rapid_router.png +0 -0
  144. portal/static/portal/img/thumbnail_educate_resources.png +0 -0
  145. portal/static/portal/img/thumbnail_play_rapid_router.png +0 -0
  146. portal/static/portal/img/thumbnail_python_den.png +0 -0
  147. portal/static/portal/img/twitter.png +0 -0
  148. portal/static/portal/js/carouselCards.js +25 -0
  149. portal/static/portal/js/common.js +96 -1
  150. portal/static/portal/js/independentLogin.js +16 -0
  151. portal/static/portal/js/independentRegistration.js +86 -0
  152. portal/static/portal/js/levelControl.js +77 -0
  153. portal/static/portal/js/lib/jquery.min.js +2 -0
  154. portal/static/portal/js/organisation_manage.js +142 -14
  155. portal/static/portal/js/passwordStrength.js +154 -64
  156. portal/static/portal/js/resetPassword.js +23 -0
  157. portal/static/portal/js/riveted.min.js +238 -239
  158. portal/static/portal/js/school.js +13 -0
  159. portal/static/portal/js/studentLogin.js +16 -0
  160. portal/static/portal/js/teacherEditStudent.js +23 -0
  161. portal/static/portal/js/teacherLogin.js +16 -0
  162. portal/static/portal/js/tenYearMap.js +14 -0
  163. portal/static/portal/sass/colorbox.scss +0 -1
  164. portal/static/portal/sass/modules/_colours.scss +1 -0
  165. portal/static/portal/sass/modules/_levels.scss +1 -1
  166. portal/static/portal/sass/modules/_mixins.scss +21 -0
  167. portal/static/portal/sass/partials/_banners.scss +4 -177
  168. portal/static/portal/sass/partials/_buttons.scss +12 -15
  169. portal/static/portal/sass/partials/_carousel.scss +129 -0
  170. portal/static/portal/sass/partials/_footer.scss +21 -22
  171. portal/static/portal/sass/partials/_forms.scss +60 -5
  172. portal/static/portal/sass/partials/_grids.scss +34 -61
  173. portal/static/portal/sass/partials/_header.scss +28 -20
  174. portal/static/portal/sass/partials/_images.scss +292 -39
  175. portal/static/portal/sass/partials/_popup.scss +18 -15
  176. portal/static/portal/sass/partials/_tables.scss +12 -20
  177. portal/static/portal/sass/partials/_text.scss +6 -10
  178. portal/static/portal/sass/styles.scss +0 -1
  179. portal/static/portal/video/code for life .pdf +0 -0
  180. portal/strings/about.py +5 -0
  181. portal/strings/coding_club.py +9 -0
  182. portal/strings/play.py +6 -5
  183. portal/strings/teach.py +1 -1
  184. portal/strings/teacher_resources.py +2 -8
  185. portal/strings/ten_year_map.py +13 -0
  186. portal/templates/403.html +2 -2
  187. portal/templates/404.html +1 -1
  188. portal/templates/500.html +2 -2
  189. portal/templates/{captcha → django_recaptcha}/includes/js_v2_invisible.html +3 -3
  190. portal/templates/{captcha → django_recaptcha}/widget_v2_invisible.html +2 -2
  191. portal/templates/email.html +4 -2
  192. portal/templates/maintenance.html +34 -0
  193. portal/templates/portal/about.html +94 -62
  194. portal/templates/portal/base.html +176 -152
  195. portal/templates/portal/coding_club.html +100 -0
  196. portal/templates/portal/contribute.html +56 -52
  197. portal/templates/portal/email_invitation_sent.html +1 -1
  198. portal/templates/portal/email_style_template.html +374 -0
  199. portal/templates/portal/email_verification_failed.html +1 -1
  200. portal/templates/portal/email_verification_needed.html +9 -9
  201. portal/templates/portal/form_shapes.html +20 -8
  202. portal/templates/portal/getinvolved.html +6 -6
  203. portal/templates/portal/home.html +35 -10
  204. portal/templates/portal/home_learning.html +19 -19
  205. portal/templates/portal/locked_out.html +0 -1
  206. portal/templates/portal/locked_out_school_student.html +16 -0
  207. portal/templates/portal/login/independent_student.html +31 -15
  208. portal/templates/portal/login/student.html +10 -7
  209. portal/templates/portal/login/student_class_code.html +7 -4
  210. portal/templates/portal/login/teacher.html +34 -17
  211. portal/templates/portal/partials/banner.html +18 -4
  212. portal/templates/portal/partials/benefits.html +1 -1
  213. portal/templates/portal/partials/card_list.html +34 -24
  214. portal/templates/portal/partials/character_list.html +5 -5
  215. portal/templates/portal/partials/cookie_list.html +161 -0
  216. portal/templates/portal/partials/delete_popup.html +18 -0
  217. portal/templates/portal/partials/footer.html +57 -26
  218. portal/templates/portal/partials/header.html +118 -117
  219. portal/templates/portal/partials/hero_card.html +4 -3
  220. portal/templates/portal/partials/info_popup.html +3 -3
  221. portal/templates/portal/partials/invite_admin_teacher.html +23 -0
  222. portal/templates/portal/partials/popup.html +7 -2
  223. portal/templates/portal/partials/register_newsletter_tickbox.html +2 -5
  224. portal/templates/portal/partials/screentime_popup.html +14 -0
  225. portal/templates/portal/partials/service_unavailable_popup.html +17 -0
  226. portal/templates/portal/partials/session_popup.html +19 -0
  227. portal/templates/portal/play/student_dashboard.html +42 -29
  228. portal/templates/portal/play/student_edit_account.html +64 -9
  229. portal/templates/portal/play.html +61 -41
  230. portal/templates/portal/privacy_notice.html +697 -0
  231. portal/templates/portal/register.html +122 -92
  232. portal/templates/portal/reset_password.html +20 -40
  233. portal/templates/portal/reset_password_confirm.html +9 -4
  234. portal/templates/portal/reset_password_email_sent.html +15 -13
  235. portal/templates/portal/teach/base_registering.html +1 -1
  236. portal/templates/portal/teach/class.html +4 -6
  237. portal/templates/portal/teach/dashboard.html +212 -117
  238. portal/templates/portal/teach/invited.html +90 -0
  239. portal/templates/portal/teach/onboarding_classes.html +5 -3
  240. portal/templates/portal/teach/onboarding_print.html +1 -1
  241. portal/templates/portal/teach/onboarding_school.html +26 -139
  242. portal/templates/portal/teach/onboarding_students.html +1 -1
  243. portal/templates/portal/teach/teacher_dismiss_students.html +73 -55
  244. portal/templates/portal/teach/teacher_edit_class.html +168 -11
  245. portal/templates/portal/teach/teacher_edit_student.html +12 -5
  246. portal/templates/portal/teach/teacher_move_all_classes.html +25 -38
  247. portal/templates/portal/teach/teacher_move_students_to_class.html +1 -1
  248. portal/templates/portal/teach.html +61 -42
  249. portal/templates/portal/ten_year_map.html +147 -0
  250. portal/templates/portal/terms.html +191 -42
  251. portal/templates/two_factor/core/login.html +71 -59
  252. portal/templates/two_factor/core/setup.html +58 -49
  253. portal/templates/two_factor/profile/disable.html +1 -1
  254. portal/templates/two_factor/profile/profile.html +35 -17
  255. portal/templatetags/app_tags.py +59 -84
  256. portal/templatetags/card_list_tags.py +0 -4
  257. portal/tests/base_test.py +14 -3
  258. portal/tests/conftest.py +0 -15
  259. portal/tests/migrations/test_migration_make_portaladmin_teacher.py +2 -6
  260. portal/tests/migrations/test_migration_preview_users.py +3 -9
  261. portal/tests/migrations/test_migration_remove_guardian.py +1 -3
  262. portal/tests/migrations/test_migration_use_common_models.py +2 -6
  263. portal/tests/migrations/test_migration_verify_portaladmin.py +1 -3
  264. portal/tests/pageObjects/portal/admin/admin_base_page.py +0 -21
  265. portal/tests/pageObjects/portal/base_page.py +16 -26
  266. portal/tests/pageObjects/portal/email_verification_needed_page.py +3 -2
  267. portal/tests/pageObjects/portal/game_page.py +12 -19
  268. portal/tests/pageObjects/portal/home_page.py +13 -15
  269. portal/tests/pageObjects/portal/independent_login_page.py +13 -17
  270. portal/tests/pageObjects/portal/password_reset_form_page.py +20 -4
  271. portal/tests/pageObjects/portal/password_reset_page.py +25 -0
  272. portal/tests/pageObjects/portal/play/account_page.py +18 -27
  273. portal/tests/pageObjects/portal/play/dashboard_page.py +4 -4
  274. portal/tests/pageObjects/portal/play/join_school_or_club_page.py +8 -10
  275. portal/tests/pageObjects/portal/play/play_base_page.py +5 -3
  276. portal/tests/pageObjects/portal/signup_page.py +28 -59
  277. portal/tests/pageObjects/portal/student_login_class_code.py +6 -9
  278. portal/tests/pageObjects/portal/student_login_page.py +6 -8
  279. portal/tests/pageObjects/portal/teach/add_independent_student_to_class_page.py +3 -3
  280. portal/tests/pageObjects/portal/teach/added_independent_student_to_class_page.py +3 -1
  281. portal/tests/pageObjects/portal/teach/class_page.py +36 -13
  282. portal/tests/pageObjects/portal/teach/dashboard_page.py +43 -84
  283. portal/tests/pageObjects/portal/teach/dismiss_students_page.py +7 -5
  284. portal/tests/pageObjects/portal/teach/edit_student_page.py +10 -8
  285. portal/tests/pageObjects/portal/teach/move_class_page.py +5 -10
  286. portal/tests/pageObjects/portal/teach/move_classes_page.py +4 -2
  287. portal/tests/pageObjects/portal/teach/move_students_disambiguate_page.py +4 -2
  288. portal/tests/pageObjects/portal/teach/move_students_page.py +6 -13
  289. portal/tests/pageObjects/portal/teach/onboarding_classes_page.py +5 -3
  290. portal/tests/pageObjects/portal/teach/onboarding_organisation_page.py +11 -49
  291. portal/tests/pageObjects/portal/teach/onboarding_student_list_page.py +7 -12
  292. portal/tests/pageObjects/portal/teach/onboarding_students_page.py +4 -27
  293. portal/tests/pageObjects/portal/teach/teach_base_page.py +6 -4
  294. portal/tests/pageObjects/portal/teacher_login_page.py +10 -16
  295. portal/tests/selenium_test_case.py +3 -43
  296. portal/tests/snapshots/snap_test_partials.py +11 -165
  297. portal/tests/test_2FA.py +15 -33
  298. portal/tests/test_admin.py +15 -97
  299. portal/tests/test_api.py +212 -91
  300. portal/tests/test_captcha_forms.py +2 -2
  301. portal/tests/test_class.py +374 -24
  302. portal/tests/test_emails.py +83 -20
  303. portal/tests/{test_newsletter_footer.py → test_global_forms.py} +5 -5
  304. portal/tests/test_helper_methods.py +30 -0
  305. portal/tests/test_independent_student.py +255 -144
  306. portal/tests/test_invite_teacher.py +318 -10
  307. portal/tests/test_middleware.py +96 -9
  308. portal/tests/test_organisation.py +78 -262
  309. portal/tests/test_partials.py +0 -88
  310. portal/tests/test_ratelimit.py +218 -36
  311. portal/tests/test_school_student.py +35 -40
  312. portal/tests/test_security.py +12 -31
  313. portal/tests/test_teacher.py +425 -325
  314. portal/tests/test_teacher_student.py +103 -91
  315. portal/tests/test_views.py +900 -76
  316. portal/tests/utils/classes.py +2 -2
  317. portal/tests/utils/messages.py +13 -28
  318. portal/urls.py +235 -166
  319. portal/views/admin.py +0 -332
  320. portal/views/api.py +82 -48
  321. portal/views/cron/__init__.py +1 -0
  322. portal/views/cron/user.py +322 -0
  323. portal/views/dotmailer.py +9 -1
  324. portal/views/email.py +33 -77
  325. portal/views/google_analytics.py +28 -0
  326. portal/views/home.py +126 -97
  327. portal/views/legal.py +13 -0
  328. portal/views/login/independent_student.py +5 -5
  329. portal/views/login/student.py +51 -14
  330. portal/views/login/teacher.py +2 -6
  331. portal/views/organisation.py +20 -189
  332. portal/views/registration.py +97 -17
  333. portal/views/student/edit_account_details.py +99 -72
  334. portal/views/student/play.py +81 -62
  335. portal/views/teacher/dashboard.py +421 -149
  336. portal/views/teacher/teach.py +226 -177
  337. portal/views/two_factor/core.py +22 -19
  338. portal/views/two_factor/profile.py +2 -2
  339. codeforlife_portal-5.33.5.dist-info/LICENSE.md +0 -577
  340. codeforlife_portal-5.33.5.dist-info/METADATA +0 -38
  341. deploy/permissions.py +0 -2
  342. example_project/manage.py +0 -10
  343. portal/autoconfig.py +0 -141
  344. portal/csp_config.py +0 -60
  345. portal/forms/add_game.py +0 -33
  346. portal/helpers/location.py +0 -121
  347. portal/static/portal/img/kurono_hero.jpg +0 -0
  348. portal/static/portal/img/kurono_landing_hero.png +0 -0
  349. portal/static/portal/img/kurono_logo.svg +0 -1
  350. portal/static/portal/img/kurono_logo_grey_background.svg +0 -1
  351. portal/static/portal/img/kurono_logo_mark.svg +0 -1
  352. portal/static/portal/img/kurono_resources_hero.jpg +0 -0
  353. portal/static/portal/img/kurono_story.png +0 -0
  354. portal/static/portal/img/ocado-swirl.svg +0 -22
  355. portal/static/portal/img/thumbnail_educate_kurono.png +0 -0
  356. portal/static/portal/img/thumbnail_educate_resources_and_progress_tracking.png +0 -0
  357. portal/static/portal/img/thumbnail_kurono_resources.png +0 -0
  358. portal/static/portal/img/thumbnail_play_kurono.png +0 -0
  359. portal/static/portal/img/x_close_video.png +0 -0
  360. portal/static/portal/js/aimmoGame.js +0 -106
  361. portal/static/portal/js/deleteWorkspaces.js +0 -14
  362. portal/static/portal/js/fuzzySchoolLookup.js +0 -46
  363. portal/static/portal/js/lib/jquery-3.5.1.min.js +0 -2
  364. portal/static/portal/js/lib/jquery-ui-1.12.1.min.js +0 -13
  365. portal/static/portal/sass/partials/_videos.scss +0 -10
  366. portal/static/portal/video/aimmo_play_now_background_video.mp4 +0 -0
  367. portal/strings/student_aimmo_dashboard.py +0 -6
  368. portal/templates/portal/admin/aggregated_data.html +0 -35
  369. portal/templates/portal/admin/map.html +0 -70
  370. portal/templates/portal/mouseflow.html +0 -9
  371. portal/templates/portal/partials/aimmo_games_table.html +0 -83
  372. portal/templates/portal/partials/register_over_required_age_tickbox.html +0 -9
  373. portal/templates/portal/play/independent_student_dashboard.html +0 -64
  374. portal/templates/portal/play/student_aimmo_dashboard.html +0 -63
  375. portal/templates/portal/privacy_policy.html +0 -483
  376. portal/templates/portal/reset_password_email.html +0 -9
  377. portal/templates/portal/teach/invite.html +0 -25
  378. portal/templates/portal/teach/teacher_aimmo_dashboard.html +0 -95
  379. portal/templates/portal/teach/teacher_resources.html +0 -68
  380. portal/templatetags/character_list_tags.py +0 -16
  381. portal/tests/pageObjects/portal/kurono_teacher_dashboard_page.py +0 -49
  382. portal/tests/pageObjects/portal/student_password_reset_form_page.py +0 -23
  383. portal/tests/pageObjects/portal/teach/onboarding_revoke_request_page.py +0 -20
  384. portal/tests/pageObjects/portal/teacher_password_reset_form_page.py +0 -23
  385. portal/tests/test_aimmo_dashboards.py +0 -172
  386. portal/tests/test_location.py +0 -217
  387. portal/tests/utils/aimmo_games.py +0 -30
  388. portal/views/aimmo/dashboard.py +0 -119
  389. portal/views/privacy_policy.py +0 -9
  390. portal/views/teacher/teacher_resources.py +0 -42
  391. {portal/views/aimmo → cfl_common}/__init__.py +0 -0
@@ -1,13 +1,106 @@
1
+ cfl_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ cfl_common/setup.py,sha256=zjoRk8QkIeb4ZfRW6BeozmtX_6Fme913s9ntoUJrpBM,1720
3
+ cfl_common/common/__init__.py,sha256=XlncBOpKp_gekbKH7Y_i6yu1qy5tJc3Y8sn8cDy-Vgk,48
4
+ cfl_common/common/app_settings.py,sha256=TCUlvuVH4Y3d8EITuWyvY4sjxnA7gJnAZyTd8yfV3zE,2592
5
+ cfl_common/common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
6
+ cfl_common/common/context_processors.py,sha256=X0iuX5qu9kMWa7q8osE9CJ2LgM7pPOYQFGdjm8X3rk0,236
7
+ cfl_common/common/csp_config.py,sha256=saeg9LbRr5xw7NDJPlt6fqi8Zz0vI8Rpc4VCS6oJNe8,2976
8
+ cfl_common/common/mail.py,sha256=pIRfUMVoJWxdv74UqToj_0_pTVTC51z6QlFVLI3QBOw,6874
9
+ cfl_common/common/models.py,sha256=Qm-UHUR4Qbjn407HbA-YPFHQQk0qOZAsylukptnBXq0,19149
10
+ cfl_common/common/permissions.py,sha256=gC6RQGZI2QDBbglx-xr_V4Hl2C2nf1V2_uPmEuoEcJo,2416
11
+ cfl_common/common/utils.py,sha256=Nn2Npao9Uqad5Js_IdHwF-ow6wrPNpBLW4AO1LxoEBc,1727
12
+ cfl_common/common/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ cfl_common/common/helpers/data_migration_loader.py,sha256=_BhS5lPmhcuVUbryBmJytlWdHyT02KYyxPkHar32mOE,1748
14
+ cfl_common/common/helpers/emails.py,sha256=KyXIudPRgetggOnlNUohArF7cPBuazQI2V6dtMfKnrM,12368
15
+ cfl_common/common/helpers/generators.py,sha256=kTL5e91I8wgmjJ-mu4jr9vIacjccUZ5pZSAz5cUNhdM,1505
16
+ cfl_common/common/helpers/organisation.py,sha256=e-JKumKoXrkMTzZPv0H4ViWL8vtCt7oXJjn_zZ1ec00,427
17
+ cfl_common/common/migrations/0001_initial.py,sha256=Y2kt2xmdCbrmDXCgqmhXeacicNg26Zj7L7SANSsgAAI,9664
18
+ cfl_common/common/migrations/0002_emailverification.py,sha256=csWNasKNB5HQfrg5Owa6ovwx9f-v3ved-1B6QSu2_3s,2094
19
+ cfl_common/common/migrations/0003_aimmocharacter.py,sha256=ZS_-sJCVUnFdhDjyH75P5bryg5QKHPDfe-SXXK7k9KM,922
20
+ cfl_common/common/migrations/0004_add_aimmocharacters.py,sha256=543WKEphsvdKo8Z7f8wPgZHGxRPWMdo288O5_7edawo,430
21
+ cfl_common/common/migrations/0005_add_worksheets.py,sha256=gM-5yJQ-0r3Plrv__agri5JD5f5pqRf-fuvxYg9RrQw,243
22
+ cfl_common/common/migrations/0006_update_aimmo_character_image_path.py,sha256=De1d02dAYE2KT8uW1qPi0NmWp45_zXVNH7kjWg3f2ko,431
23
+ cfl_common/common/migrations/0007_add_pdf_names_to_first_two_worksheets.py,sha256=XxAVaQpwwst2L5Bh6EuNBwA_jtc04ULwtDY6SNMM46k,257
24
+ cfl_common/common/migrations/0008_unlock_worksheet_3.py,sha256=WzTdGbSjYNlyxNLVRMPWOhNBkR5e-lRewu0xBy5d69c,345
25
+ cfl_common/common/migrations/0009_add_blocked_time_to_teacher_and_student.py,sha256=hdff316HkAVCB0EW61qbR2lxwkxSTsD7OBK66PLBUUQ,599
26
+ cfl_common/common/migrations/0010_remove_teacher_title.py,sha256=dMX-wgD-nzRx2AmrvuLMtb1X7TIv1gZ9icacFgI1LNc,396
27
+ cfl_common/common/migrations/0011_student_login_id.py,sha256=0sMdbzshOu_hT3s7uC0ILKd4PA1waw14y83Re736788,400
28
+ cfl_common/common/migrations/0012_usersession.py,sha256=xmW1hqECQsJw9fKZ-GfwEIhNfdTtOnnq4xiu9ODw4zk,1135
29
+ cfl_common/common/migrations/0013_class_school.py,sha256=n5slnrrOFnrBsjAmkdcRxIUIXOXClHMjuCoDAJrYXAE,1142
30
+ cfl_common/common/migrations/0014_login_type.py,sha256=_liGPnErUKWj2hfErZjkw--2BM8pZCYIvdg96uJts08,817
31
+ cfl_common/common/migrations/0015_dailyactivity.py,sha256=jbzA7hwcEd7mg-w0he-OMpVGSUrjYuWW_QFXY2RWzjk,901
32
+ cfl_common/common/migrations/0016_joinreleasestudent.py,sha256=bu7s-artUHMRPxP0Rnbw10cQy47c2_GYOD8fzzHgXQ8,1208
33
+ cfl_common/common/migrations/0017_copy_email_to_username.py,sha256=oon4z_fHDxABJ-J3T3IeucAJPl2lYCu75zcZk0a1xfs,587
34
+ cfl_common/common/migrations/0018_update_aimmo_character_image_path.py,sha256=WKrxcjGjQ2pE4lcubkU37nsThmHbeVni9tCNSQWm8Sk,387
35
+ cfl_common/common/migrations/0019_aimmocharacter_alt.py,sha256=vhcO1-1TFNYJ2ILLj-tHq_z7jlhd9URwColHqTh11m8,418
36
+ cfl_common/common/migrations/0020_class_is_active_and_null_access_code.py,sha256=g0frY5T5AuVwCPIhj9UEtyB0lyMktl285eBJtLpN-zk,555
37
+ cfl_common/common/migrations/0021_school_is_active.py,sha256=S1HjZIalqLSbqrTu7AF0xvqZEbzcvLCCa1rMa7Pnc-w,736
38
+ cfl_common/common/migrations/0022_school_cleanup.py,sha256=r3YYnC6gJtBy5Ewa8_cjDxvK-W3oEm1IKopn-UXVyXg,661
39
+ cfl_common/common/migrations/0023_userprofile_aimmo_badges.py,sha256=NsOOw2XB03k4U5-2wDzuvN7P69IHLNKcjsPLMxmJbPM,515
40
+ cfl_common/common/migrations/0024_teacher_invited_by.py,sha256=UxsKaGB16y7NjH6mrqZceNLi3tERgLb7gxS14ozsTjw,632
41
+ cfl_common/common/migrations/0025_schoolteacherinvitation.py,sha256=Ba2gpIfeCkPGDnB6JqbM1DXlixkLqsbE3voKVK9Gvok,1819
42
+ cfl_common/common/migrations/0026_teacher_remove_join_request.py,sha256=U7hfnmNwQ0c6yzkiXhMrm2AdgrQszTjBal4U-v0H_VE,528
43
+ cfl_common/common/migrations/0027_class_created_by.py,sha256=H9T78SxvnrM0mjh5l_msa060MsJoWZ_bV-VizBElNpc,632
44
+ cfl_common/common/migrations/0028_coding_club_downloads.py,sha256=RLp7-M95MhwHCZfvo2qHfA_KZXa4pqXBni1Kaf26kOw,606
45
+ cfl_common/common/migrations/0029_dynamicelement.py,sha256=T48j7Uwik_H0bg8eFpSxB-PgxEfmPlPgrr19UFETrj4,684
46
+ cfl_common/common/migrations/0030_add_maintenance_banner.py,sha256=gZAVSbUPfZBTXHlJ_vjO4XwlAgIm6JcR59xZWawS4Ns,851
47
+ cfl_common/common/migrations/0031_improve_admin_panel.py,sha256=UAOBZUS5jR071ciQjO-CoEN6y4BJqMSD1YvYwJBd3FI,1665
48
+ cfl_common/common/migrations/0032_dailyactivity_level_control_submits.py,sha256=E6KiHkUXs1ka0SknETP_HXRTr1cKELPBIj5WgVdZNS8,417
49
+ cfl_common/common/migrations/0033_password_reset_tracking_fields.py,sha256=s2kqLCJBeAIeYJjdlRdXHlmNwZb7Czq7omJp51VKc8M,619
50
+ cfl_common/common/migrations/0034_dailyactivity_daily_school_student_lockout_reset.py,sha256=j3OKxJZTK4NQKVx2JkcK4o9Ie6C9yqbQHfZRsn4NIZg,438
51
+ cfl_common/common/migrations/0035_rename_lockout_fields.py,sha256=1UbvNJ1Qf2SNqGRRJCjXhxHi_rnJuToUW8DEF-tH0ZM,808
52
+ cfl_common/common/migrations/0036_rename_awaiting_email_verification_userprofile_is_verified.py,sha256=wmfENAwFqegcBJYk0wcFdgvY-m2BlGAFQjt-wNO6kBM,396
53
+ cfl_common/common/migrations/0037_migrate_email_verification.py,sha256=zC8rZ3xFhkbHqr3oUyTO2XHleqbx8o9wA2S_24_Y6kY,1018
54
+ cfl_common/common/migrations/0038_delete_emailverification.py,sha256=JTjGGrcJQY7sagMWLTn8jWP4Ldm99LwWo8Sn7QgfIgw,314
55
+ cfl_common/common/migrations/0039_copy_email_to_username.py,sha256=h2NwkcMJ1pBCVKtEj9spM72hG4zm0JnWKXkQI7i9p48,552
56
+ cfl_common/common/migrations/0040_school_county.py,sha256=LuPMnxLXOVZDlIeFtKr5wNrxBvVVrcjbnXyCjWgq4QQ,411
57
+ cfl_common/common/migrations/0041_populate_gb_counties.py,sha256=74pFXOqUcPh8fCyhlOGQNUd0yzfDCUDR-Y2aO6UyP_Y,898
58
+ cfl_common/common/migrations/0042_totalactivity.py,sha256=U8nY0lcnreU4ugWpt8xi8lSDDRDg3cnV7liYVU_MxNw,810
59
+ cfl_common/common/migrations/0043_add_total_activity.py,sha256=9dCx3-uCrmG5XS9snhTeFEOpaqFWZvjIvkgukYldZ4I,1065
60
+ cfl_common/common/migrations/0044_update_activity_models.py,sha256=9ZwggtsiMB8LzKQEoyeDSIaADbz_wFk55bt-C9wSooY,997
61
+ cfl_common/common/migrations/0045_otp.py,sha256=_GmCOFOINqFMBqPBvdBaR1nwAI_FkzIlMTq_kfaN1IQ,599
62
+ cfl_common/common/migrations/0046_alter_school_country.py,sha256=dg_lexw7ALB-jlOm_EBQauk9mI4VbqUGv0qQsHo0b5s,437
63
+ cfl_common/common/migrations/0047_delete_school_postcode.py,sha256=GPV0hLfXmbPpx4-G5OaaLy6aalKvSnZLH0aGggYx9u0,331
64
+ cfl_common/common/migrations/0048_unique_school_names.py,sha256=pu5xiuesvFNGngD-hl0OQ6Gi2r6pEY9fPCayKyb9n04,1433
65
+ cfl_common/common/migrations/0049_anonymise_orphan_users.py,sha256=tw9xMrDMRPDCO8HWjBVlnQF8r1YVCKZnVr2wZ3He6og,847
66
+ cfl_common/common/migrations/0050_anonymise_orphan_schools.py,sha256=_KCkSkoObTpLplX6gXvlV3JXpddn7neyJEa8YKFWeW0,869
67
+ cfl_common/common/migrations/0051_verify_returning_users.py,sha256=WMpoTA24WgimLEVmKXuPqZ3aZdClRhY5vuGtYseeJp0,758
68
+ cfl_common/common/migrations/0052_add_cse_fields.py,sha256=NhUkkcu2EBzJFhewCTccQ63AoANkGq1CXbFWIGJG9jk,2232
69
+ cfl_common/common/migrations/0053_clean_class_data.py,sha256=lBKlDa49YwT660o-Ot6IYe4I1KfervTn4uAijda0nyw,584
70
+ cfl_common/common/migrations/0054_delete_aimmo_models.py,sha256=fmn4mDdlHr5DhPbIl_ygvGwWVFD8TZHAgQ6VUQQgCx8,415
71
+ cfl_common/common/migrations/0055_alter_schoolteacherinvitation_token.py,sha256=lzPAMaI3zU_q25RuIos_LV97NXOa3MIn_eWaEL71Y4I,403
72
+ cfl_common/common/migrations/0056_set_non_school_teachers_as_non_admins.py,sha256=_BrC9yfSYpP-c7EGFZmz8a4Kx_SxnRhpLMxJ70RVFOY,603
73
+ cfl_common/common/migrations/0057_teacher_teacher__is_admin.py,sha256=4pinm9T3JF3PRNLnbXI6mdFiNyxg1MnRs8lMKC4S5Bc,511
74
+ cfl_common/common/migrations/0058_userprofile_google_refresh_token_and_more.py,sha256=xHBv29aWKGkISxhQd_ao5RcZPg5UkirsVf9sqajkk_8,656
75
+ cfl_common/common/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ cfl_common/common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ cfl_common/common/tests/test_migration_anonymise_orphan_schools.py,sha256=wJRyPgRvBsXLSCFdbBi2GXjgSgDbKUTRiM31CXIvpqs,1194
78
+ cfl_common/common/tests/test_migration_anonymise_orphan_users.py,sha256=MGuI8YVvUReXxjK36i2n-vkC677I8HqVHph778zL34Q,1368
79
+ cfl_common/common/tests/test_migration_blocked_time.py,sha256=z9WxMTrZTKFieLfbQwkoOZozziPHmWVk6T4FysLeHGk,590
80
+ cfl_common/common/tests/test_migration_remove_teacher_title.py,sha256=wwm6tayb75QmDXwXBfxu6SIMf7Ant4rEHHEBLIFjHcI,522
81
+ cfl_common/common/tests/test_migration_unique_school_names.py,sha256=D5SQ1UmD8yHLiEDsA7mWl1O4HzzxsBN_RXErB3ikg5I,1032
82
+ cfl_common/common/tests/test_migration_verify_returning_users.py,sha256=n8JGW-TmE1Hv_4AHl3kn9b6Hwp7DkpZWiYkbPeR8PXw,2054
83
+ cfl_common/common/tests/test_models.py,sha256=xMdzonW5CADMjas_zfg8V1YPQpUetleyn6TE95hbO9k,3723
84
+ cfl_common/common/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ cfl_common/common/tests/utils/classes.py,sha256=ZA2pp9Pyx3rwi0VFwtuUA2Pys9xQJ-L_zE0u2tpwEH4,1094
86
+ cfl_common/common/tests/utils/email.py,sha256=RljsVjIob4Uqi3O5YhP2ifqfc4cMcdP4Gv0EaL-sHXo,1780
87
+ cfl_common/common/tests/utils/organisation.py,sha256=vNgKFtU3VPcWRnZfh82yCS90PLAK1XTYJNIxGwfgUI4,966
88
+ cfl_common/common/tests/utils/student.py,sha256=GYOyd2VH6QXjjLzjCh4hpT86U5si2URlJJWZwlCVLrU,3846
89
+ cfl_common/common/tests/utils/teacher.py,sha256=KQ_NAl4yQqiX_zwcULQjkovc29JPhnkLR5Nk3Ljzbpg,2661
90
+ cfl_common/common/tests/utils/user.py,sha256=NvLzZLVP4jy5Hn1iztOYF_BTQ9WsbSmuWMEzGzhAsRU,919
91
+ codeforlife_portal-8.9.9.dist-info/licenses/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
1
92
  deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
93
  deploy/captcha.py,sha256=MbOBuGnbT_SOIltSjP1XMOLrfo1DldCilaVAEim0vM4,23
3
- deploy/permissions.py,sha256=uGFnns9HWgiXucb9ka34y_3W5kity9Dil-uAAMJIc6w,126
4
94
  deploy/views.py,sha256=7mY2zNPkaBFrlWGByJHp2zFqHIHSMc0YArjE_sFWMMU,131
5
95
  deploy/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
96
  deploy/middleware/admin_access.py,sha256=-uF9Wgm7WPmNCEQ2Ti-rBXMrYJb0NnrIfnUdRIXzlWs,1207
7
97
  deploy/middleware/basicauth.py,sha256=DiSImGc9mepmsVK1Be5hc2iLnGzsOFx-S2i8AQnXMwY,1170
8
98
  deploy/middleware/exceptionlogging.py,sha256=qE3fJnaCwEslrCpF3k8jK1MeqldnvALPnlrUsiqV-5g,474
9
- deploy/middleware/security.py,sha256=SNNbPwxbCQgw53TnXJmwyg96osALE9JUhRFwOuAs2lo,751
10
- deploy/middleware/session_timeout.py,sha256=JfWuEbUsgKs0l7ofVopzfs-UFAUJ1lW5lIPM18n-Rrs,881
99
+ deploy/middleware/maintenance.py,sha256=JhlQD7FowzxnRxk1_uGXYRQ2Aas6v3C9BRxYgN1HLAY,932
100
+ deploy/middleware/screentime_warning.py,sha256=-YmaOn9_RQwTU8C6VxDLWct_0G3Y5oHjAv9AvKZSvIw,1152
101
+ deploy/middleware/security.py,sha256=LOZ-OUFo2dVhbRzI_KdSCMh4TItcJhhqzZg5zNAH-6Q,870
102
+ deploy/middleware/session_timeout.py,sha256=Vfl6_9d8KwPsWRvCIcpBm7kWjgvHC8I7exJOejbyI4k,1023
103
+ deploy/middleware/tmp_basic_auth.py,sha256=XGY8DOtthaVSk5g3uaDA45OKy9R-vyAjX5RKsqgzKZg,1576
11
104
  deploy/static/apple-touch-icon-120x120.png,sha256=7GwelKO6CNbvjJJ1nqMvDGkPoQWqYomMKKP5EB5gmfM,24583
12
105
  deploy/static/apple-touch-icon-152x152.png,sha256=V57OGP0VeeKHen_iYVa72sHe_rEaMAJzU1FAiHWWBwY,36276
13
106
  deploy/static/apple-touch-icon-180x180.png,sha256=OIm3wwx0aL8fh1EIlMCKp2vVNpsuY-NDxV1QR73bf1g,47948
@@ -16,43 +109,40 @@ deploy/static/apple-touch-icon.png,sha256=QjNQ8jDKI4BpfMMsrs2t3H0fXHa5KHV45fK_VS
16
109
  deploy/static/robots.txt,sha256=5cS4RITuQhbpNzvpk4AyDCXdlIBfmfCoBYRvCHY2VT8,24
17
110
  deploy/templates/deploy/csrf_failure.html,sha256=-pBRPn4Y7nUdYHGpTHCokT9Boi-isuwuivF8V2K1SgM,412
18
111
  example_project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- example_project/manage.py,sha256=EUgybZlZ7xk2Zf2KCwBbK_z7gf7Ifqs0_bl4Kijhdgo,242
20
- example_project/settings.py,sha256=e1BbM5INjTx0ihkgpQBtWPcFxlwLTiJzvms4bmMp4dI,1301
21
- example_project/urls.py,sha256=OVeRQ-TCpzHISBRuzqD0yd3ewF7H5U3c-f2p2alfUD0,430
112
+ example_project/portal_test_settings.py,sha256=_6EDMwnYH2yCukgiop0sobqShbB8tivO9hcjZUYReec,7909
113
+ example_project/settings.py,sha256=DQkHGjS-NYIPTCOnCD7QBeV7rxTNdIGqdC-qfTuA5qU,6278
114
+ example_project/urls.py,sha256=FUTzHPlUS1O5kqMHjL5V4L552N2ln7uTDXcw9wjKUto,422
22
115
  example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
23
- portal/__init__.py,sha256=Ato60NC7krVs7Hl5I7fsznqWv8wgepxkZRf-jmU6rKs,23
24
- portal/admin.py,sha256=BHiMjU-n7HcipAysP8u1GvpxJ7dLg7E91it-d6oedNk,3037
25
- portal/app_settings.py,sha256=QplSTDTIDVLyJHFuCUBT1EwHjVn94ZpJFz6Z6kDqpj0,606
26
- portal/autoconfig.py,sha256=nqptWPfUnaqkxniG8VSYySNAU_QyiB8TXScyh0dvGeQ,4994
116
+ portal/__init__.py,sha256=4mfxDvDYHmb6W8f8wyW4gRThq4to-pSIj_J1m3edug0,22
117
+ portal/admin.py,sha256=RKJizTF6dPJKmGPZw7nZUM0X8jkiTjgyKhLQxtvHJ0I,6148
118
+ portal/app_settings.py,sha256=8P3r0ArkOzL_iVjoaLIHsNWG4uP1tT2z1kCUHPhAZ9s,714
27
119
  portal/backends.py,sha256=2Dss6_WoQwPuDzJUF1yEaTQTNG4eUrD12ujJQ5cp5Tc,812
28
120
  portal/beta.py,sha256=0TCC-9_KZoM1nuzJ9FiuKR5n9JITdMYenHGQtRvn9UU,255
29
121
  portal/context_processors.py,sha256=1TrUZqnMqGa5f7ERph9EpBqojSMJvOrcpnJzTdeCLDI,133
30
- portal/csp_config.py,sha256=aLdV1SgiYHAIPOf7RIr1NSi5_kDeLzLjvndctoV5JK0,1916
31
- portal/handlers.py,sha256=gF99OfQrGcIGDnUyONhvylZNU8sl6XHYEurwu0fuiss,422
122
+ portal/handlers.py,sha256=TSaTIsEi-q8cwoYezw4NgVKyFy1UZkqREMipeSKA_KQ,421
32
123
  portal/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- portal/urls.py,sha256=ez8JBj1J8W0jbv8KfCatJ7ltv_BhjVx4Uwg5CHUoOGI,15613
124
+ portal/urls.py,sha256=BWhRI-9rGEydbasI0UCtYYASqHbyUXokfepNWty7cQg,18218
34
125
  portal/wsgi.py,sha256=3yRcNxBQG30NhzrVi93bX-DrbXtsIQBc70HiW5wbOyE,401
35
126
  portal/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- portal/forms/add_game.py,sha256=iL9riLqP9ho_Ex3ow_SxrM0ndUjfk9GtBX3ZR2fmuUY,1045
37
127
  portal/forms/admin.py,sha256=Cdl8-wvasAzvMfgUlFYzQjYeuyC7gIsSiy8V_-jMp7w,2080
38
- portal/forms/dotmailer.py,sha256=3CZYO3d7RRj39RQGuGTIJcOrLy0sljC96gcAVaKLWHc,760
128
+ portal/forms/dotmailer.py,sha256=AiHoN8ZRl3A69FYSldkjlhICGx_l4BujP5HjYdSRCok,897
39
129
  portal/forms/error_messages.py,sha256=8d3z_3e2L-5zwj5hFhnUByC5k2CEpIVVuJg2nYkCUQ8,148
40
- portal/forms/invite_teacher.py,sha256=3W_Uzmu2mFgN2oAr6FvAxy6keaxluOK4EHB8fwS51i8,430
41
- portal/forms/organisation.py,sha256=RUfJf1AREgPblNUFl8LgeBo5lj18cLUIFtWcBEECvD8,3519
42
- portal/forms/play.py,sha256=o5i8RvPFE4Idt9ov0llErP5_Dy7RDxxKzad1ZNKvNjY,11753
43
- portal/forms/registration.py,sha256=uapIM63VWSxrNlzPRR2FmoOPQv4i25GrZO0qMKjli74,9166
44
- portal/forms/teach.py,sha256=FkhLXSR7Dtf-8zTyMWQaZ7Qum1Jf5MxAD4XQRW0LBQg,20010
130
+ portal/forms/invite_teacher.py,sha256=jkDNcCfkts4_lXRzhcI3xBam21Zn2yX9wMpMVhDtW1w,880
131
+ portal/forms/organisation.py,sha256=-h4Lpl4WisqNGgohlsmqh_ABA0aLfeXtUxAR1sUdi0I,7278
132
+ portal/forms/play.py,sha256=j_QYAKb4qyW0uy0VUUG49dmzDLINc3jR6ddK-djrbc4,11523
133
+ portal/forms/registration.py,sha256=a-TuzikRc0Q-BAYs3rJ3Sz1wmQ1o_rTEtZmWdF7-xss,6008
134
+ portal/forms/teach.py,sha256=lQivQ4pXnvJw8nJMSbqtg-Il5RYkw54ZxE5rJuNlFn0,22391
45
135
  portal/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
136
  portal/helpers/captcha.py,sha256=Amwg3HZ9eIh1LGYVYWYruk1ccNj6P3nYP_evufOY8BY,254
47
- portal/helpers/decorators.py,sha256=eQfuwR5b16LA7Yk8UDib-r0sQdzDGqe0s_4dZdrBw8Q,2560
48
- portal/helpers/location.py,sha256=VWgY-rxb64rGIUw7t7GDE2-aZwM7ZUjKyH7PlmyHx8E,3501
49
- portal/helpers/password.py,sha256=7TtwJBhyay_XvJplG57mcn0YOvcX7-qf5M8sY5Rk6PU,3483
50
- portal/helpers/ratelimit.py,sha256=tB8NmuqfCVK80LDhb4MsZQY53Zxspaq-S31cWND2l3U,5984
51
- portal/helpers/regexes.py,sha256=QYzWMfWjYO731KlOyp_ZhG7iop_VV-BdwRHrfLRtppY,125
137
+ portal/helpers/decorators.py,sha256=Bs6AVCvcgxfHLdJVWzTmZpxlYbJZXJh5e9AGRXf7cwo,3617
138
+ portal/helpers/password.py,sha256=tvCRwul_70XE7D_RkEbs7Ox7kMZlECzZEhDVn_0yfFw,5546
139
+ portal/helpers/ratelimit.py,sha256=AyQ31YbhPUIE6JFyc8RARiTzLoMDeCSwKFNIZ7u0MNM,6744
140
+ portal/helpers/regexes.py,sha256=LlMsbmjGow70QWUh__3PnQWVIce4W9kKSzKnYSGN9AA,813
141
+ portal/helpers/request_handlers.py,sha256=eRubxSYj17tpwnLqpO90Sk0qt8W0bg3kTmzKsoJItZA,354
52
142
  portal/migrations/0001_squashed_0041_new_news.py,sha256=cE-F_Az1QvYTBvMj7w6dcoKtIlf_pQUlDiptFy0035c,29559
53
143
  portal/migrations/0042_school_country.py,sha256=QN4oRiIjN43ccG9f0-e0mb7ltRsNSWsMZ4_EsHMO1vI,423
54
144
  portal/migrations/0043_auto_20150430_0952.py,sha256=4ITYd5JCg_RBW38jo81mq4LSNKpXUpTKk9E_ydqVdK8,461
55
- portal/migrations/0044_auto_20150430_0959.py,sha256=O62yshgbQVSSnLiPtEqQ7XlsFnwP8pAw-OaEnleRjRQ,1106
145
+ portal/migrations/0044_auto_20150430_0959.py,sha256=MLl86p_ufaI4RoNZKsZ3_b6U-jcXny3QTCFIl-grLR0,1123
56
146
  portal/migrations/0045_auto_20150430_1446.py,sha256=RrnnunM74PfD8CAtlxHVRyCqoI2OSYUqo7nPf9avXHk,412
57
147
  portal/migrations/0046_auto_20150723_1101.py,sha256=LyDMvFyF3xWOUBaGFEsagT07Y_V7pi_VmFvt65MGMWo,540
58
148
  portal/migrations/0047_remove_userprofile_avatar.py,sha256=V_5BvJKcYxQ6TPeiv1ZdN9f2CDqmNKGhvBhjDBVrUys,267
@@ -72,6 +162,10 @@ portal/migrations/0060_delete_guardian.py,sha256=YABpKsMelyG8b-ET9Z1fU-xu-mjUmEo
72
162
  portal/migrations/0061_make_portaladmin_teacher.py,sha256=-ivGCTtkhIJQU9CuzIFFF1BWEE8ataIfA-tslaLErgU,3811
73
163
  portal/migrations/0062_verify_portaladmin.py,sha256=V0V9mtkK5Eq1yMdeqXxIVVc7MfcuwxKKnWagsB7CE1U,1306
74
164
  portal/migrations/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
165
+ portal/mixins/__init__.py,sha256=4lYhXijB-Qk3rcKmrkxAdZEecGlHhT9w0r5SXKU9rkg,34
166
+ portal/mixins/cron_mixin.py,sha256=mYxQythUe39g_GS-pc6TquijD28i5y37ifChyk7Sa3c,327
167
+ portal/permissions/__init__.py,sha256=eKTCImgWUR2LGYdH2DwvPYeTYJA0Yl0iKtvdCWYgRFc,65
168
+ portal/permissions/is_cron_request_from_google.py,sha256=1YvX5mQLqJxffYH47dPLKr5rZXcgejPE9HS_nkcbZCw,587
75
169
  portal/pipeline_compilers/__init__.py,sha256=EgsWHkPIyBrlpP6BygQupqRw4desyaSQMWyJAme-ib0,85
76
170
  portal/pipeline_compilers/libsass_compiler.py,sha256=YrwQnC71L_GCYagYlt9R_lTtmPHBLBJJhlViuXEzekI,742
77
171
  portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
@@ -79,8 +173,9 @@ portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.svg,sha256=QvY
79
173
  portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
80
174
  portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
81
175
  portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
176
+ portal/static/portal/img/10_years_anniversary.png,sha256=8fWDgvSQK7qYuwOiVWVZpOuHowX8_zrJBOsS3FGw8qE,45815
82
177
  portal/static/portal/img/10x_logo.png,sha256=AGYNiCVXmZ9lmWanfsdEyAltzE5GFtViVH3q4pNEhW0,3329
83
- portal/static/portal/img/RR_logo_grass_background.png,sha256=vkjFgjxzYupEmOUZZP5BHhiEFHJzYnjFkv1s0XyekRw,64472
178
+ portal/static/portal/img/RR_logo_grass_background.png,sha256=erCVIKAaARZMr341jNwfOiLooEBTVYFKqetQQGqTG48,127324
84
179
  portal/static/portal/img/RR_logo_green.svg,sha256=uIrg7clG7ccW9F_VVga_o8bYnJx2HpY6qD3wfb3m5Mo,1177416
85
180
  portal/static/portal/img/RR_logo_simple.png,sha256=AT6-6lf2NVt-MlPzcZ5nsFBoVyxzwg5bkccrv2GBbRk,8799
86
181
  portal/static/portal/img/about_us_cfl.jpg,sha256=lkGqYotNL6YFXguGkm4ivd7XkMst1Nk3lsd9rYevg00,140736
@@ -89,12 +184,15 @@ portal/static/portal/img/about_us_ocado.jpg,sha256=QAeIuiqLTo0gMLs3yT02Je2DEjczB
89
184
  portal/static/portal/img/barefoot_logo.png,sha256=KxGTEuHe_ipovFWNgqou6Lk5CdEhEUN30Ixi4nQRq3U,9038
90
185
  portal/static/portal/img/bcs_logo.png,sha256=pB9p2NP6zJfXDVtPff8Yssn5-uoFdDdLOrFRXlBE3hI,7562
91
186
  portal/static/portal/img/clubs.png,sha256=cmh6AkK5nOMVIFSLEahjJz7Rnr9gifWWSHVpzQwSqVo,159021
187
+ portal/static/portal/img/coding_club_hero.jpg,sha256=v5Tl6bgqSGPBI_VXYNnxFkqLnGYt89Mrbl9ptwrAcaA,255934
188
+ portal/static/portal/img/coding_club_python_pack.png,sha256=QCD_fGEiKbRB8yCJgT_5KZIKiUW8ackjKlHnqpBJkuQ,746153
92
189
  portal/static/portal/img/confirmation_tick.png,sha256=sgSL6Iry9GVIPDa09QbH5PnLBDE1NnXAkkJAjOGcWEo,3723
93
190
  portal/static/portal/img/cross.png,sha256=ekOcet9oscU5z5w2MkAlXE26IOMjYY-tCPTM19K8Bf4,1143
94
191
  portal/static/portal/img/dee.png,sha256=GQHNpaEiQt9M3qjb3wy6KOzlpKB1fNkESPe6yFZ7Mcg,45387
192
+ portal/static/portal/img/facebook.png,sha256=qaQdtT9dOg-7-XWnRxz8dW5Wwm6CEWq-S0hQDiLCWus,6543
95
193
  portal/static/portal/img/favicon.ico,sha256=vZMUaL5b47WxGRxlRMzp1fRlZQXevGHxBq5vOTV_tdg,481
96
194
  portal/static/portal/img/get_involved_hero.png,sha256=TD52SemoUt0xILs_WMxtoaKaSaXQVEQhSr2MgMNW8NY,176315
97
- portal/static/portal/img/gitbook.png,sha256=xnh_535-b64zq2O-Z1hEqTGkyYL0O74LvokV1RE1gFQ,177664
195
+ portal/static/portal/img/gitbook.png,sha256=98fufaDz8WkaxvUM0xw6zR2qjtp_9Gk8fPBt0SXWBKY,181846
98
196
  portal/static/portal/img/gitbook_space.png,sha256=d1krFtJM36UgBu_aXW0LmGKG7QyIvp4zC6kOXBTjon0,62646
99
197
  portal/static/portal/img/github.png,sha256=NaZ4dyTsDgbTaBLJQW9hRo49uuGw6KOXZ4p7BInrVsI,63596
100
198
  portal/static/portal/img/github_hero.png,sha256=HQHyoT5IRnCGzCklqc6fJM6BOoN9ksrBN0WJD7k50ss,47014
@@ -107,6 +205,9 @@ portal/static/portal/img/home_learning_hero.jpg,sha256=6TCMgY4ssAdW7H8WxtjPq-M3z
107
205
  portal/static/portal/img/home_play.png,sha256=TXsU62wcEcuUHF4948V_IxDh3nynAvlCzS7vCS44M5k,191553
108
206
  portal/static/portal/img/home_play_hero.jpg,sha256=VhuB4t98Q3EpT9US-nVdB44xOwA5RSYwSQKAtdQBVcQ,110397
109
207
  portal/static/portal/img/hope_logo.png,sha256=81UakmmI4BUH05MljuRIyCGnP51wY2myE9dLRuPbA5o,7967
208
+ portal/static/portal/img/howe_dell_1.png,sha256=oEst1ys1e8WxmDTV1buj6RrdzH7Ozf9B6wUk48ld1pI,162192
209
+ portal/static/portal/img/howe_dell_2.png,sha256=7Yd1biwFjd6lQ-2JR7k90CrAvgBhPWdsL2XfoTyOLdI,154063
210
+ portal/static/portal/img/howe_dell_3.png,sha256=Pw_wpN8raUjYvnKWui1UFpQ2upVCWb2M-XsGGLsBXlc,321514
110
211
  portal/static/portal/img/icl_logo.png,sha256=nB7HDAibkAWEDA3P_Edy1AHTUgUgDALYR-sae9BGLdc,3260
111
212
  portal/static/portal/img/icon_controller.png,sha256=Zygh2vTM1xuKPgKTfYiO7DhcPDaehAMhljrYpOHsKUw,5948
112
213
  portal/static/portal/img/icon_free.png,sha256=de2vYAkpj3vUzI6bAgfH5_zfp_J7qP9Awxy4qzY6XQg,19299
@@ -116,22 +217,18 @@ portal/static/portal/img/icon_step_by_step.png,sha256=WBOXt3VtVHXpYX4Q9kzlhJBxgW
116
217
  portal/static/portal/img/icon_tracking.png,sha256=vXVOsKNh6eJ_HmaGqlzkdzBQLd1aBdoQ-_sMXRtm8Wg,761
117
218
  portal/static/portal/img/icon_uk_flag.png,sha256=j2fipz-91fLkspJF8EGwMvfB0LkbcPNJF-G0AttHohc,6052
118
219
  portal/static/portal/img/kirsty.png,sha256=0uxE4JV4C364Ueqn3a_nE7BHMKgDJZ5YhPOB2glLMAQ,31240
119
- portal/static/portal/img/kurono_hero.jpg,sha256=jxSWa2Fqq5kOSlSw-XPJk213BCdeQg02aLQRw0GnBR0,80736
120
- portal/static/portal/img/kurono_landing_hero.png,sha256=7hf5lyeJT0LQX-lOYWkmU5gAxH5niJ8tdbBN_p-Szhw,254014
121
- portal/static/portal/img/kurono_logo.svg,sha256=MwgrxHFfBhpZkfNWMydzVe9J4detk94Baw8BQz6-opI,2930
122
- portal/static/portal/img/kurono_logo_grey_background.svg,sha256=kv8ss2u29IeL1Pyz_4gaZn3_sRJL1Rh2Cbs4H4LQgBc,3017
123
- portal/static/portal/img/kurono_logo_mark.svg,sha256=pqyBT2VwoXJOp_n3bdui1kVA1uw4Y8ROHnnWgKrX3x0,1494
124
- portal/static/portal/img/kurono_resources_hero.jpg,sha256=aggqujljpNbly6m-0y8VY_C3Fmlhb1jf4iwgCW6FCaE,119585
125
- portal/static/portal/img/kurono_story.png,sha256=mlKMWVKceOWt5YAOf1P7JdJJ8REawY0hMIJsfsUqp4s,737438
126
- portal/static/portal/img/logo_cfl.png,sha256=RLX7DhqOrg07GPaY_7hKhoR6PqPSg_y2urNrgNG_2o8,16839
127
- portal/static/portal/img/logo_cfl_reminder_cards.jpg,sha256=hn80bwEqB50_3-hOewzVxUoyhaVQRf9LU_K48MR1Meo,8599
220
+ portal/static/portal/img/logo_cfl.png,sha256=COKEGSkoUFxI5sVcb3GCAOtmxoQbeZJ2EEwVXmkF3pc,28845
221
+ portal/static/portal/img/logo_cfl_powered.svg,sha256=2mj_Qjaxy4bWKtb1QEL9aUbcToGMiYUgLH6DBzqtFKQ,22353
222
+ portal/static/portal/img/logo_cfl_reminder_cards.jpg,sha256=_jVvWRCbROrz0q2AhN6gnPGwU6FAyhfLO6bKquuIljQ,261670
128
223
  portal/static/portal/img/logo_cfl_white_landscape.png,sha256=_Sg468s_RShF-R5fRDFd7hvQsYqjDWZamV8GKIyeXDQ,4747
129
224
  portal/static/portal/img/logo_ocado.png,sha256=_DtumBwHzTHvwRz38ilECL-zOmNdZh9l8vSNQLveqxo,5232
225
+ portal/static/portal/img/logo_ocado_group.png,sha256=ZnwSMrUlqXaawdAAbENwTDPdEswhA3EbFirP5fAZ59w,2543
130
226
  portal/static/portal/img/logo_ocado_group.svg,sha256=FzYobwl35hZkyyoR18uNWJIx-FvOMUr5zEXKQWuGxsU,5451
131
227
  portal/static/portal/img/logo_ocado_group_white.svg,sha256=cPxusvooLqfmEBLKOH2XzFYhDck_No2SwPM5VvHU-d8,10993
228
+ portal/static/portal/img/logo_python_den.svg,sha256=ivvw33qqXYittwwBOPSufMmGuUCyQe8qTbRZ8nJ04eE,98142
229
+ portal/static/portal/img/long_europe_map.png,sha256=2sEIi7lSkYZUcWtItiNdtic8OqDSBAYuD_4dXnun4Ug,42306
132
230
  portal/static/portal/img/mc_saatchi_logo.png,sha256=piY91zTp0LYT6Nbo-rbNgkvVJYXebvOrIm58f3qurp4,3095
133
231
  portal/static/portal/img/nigel.png,sha256=5ErEl5e56AsQnhsLjGs965wn5D8oGac7Wl6-wBGvN5w,49149
134
- portal/static/portal/img/ocado-swirl.svg,sha256=JNQzjgHENKhHVu0oNdqtGCz8iVWzMU56d0Cs-IDCuek,2447
135
232
  portal/static/portal/img/oval_blue.svg,sha256=9dkV4OG4DCSTfRd2BzioP-oI5b-hzHbS9oySF-43EPA,511
136
233
  portal/static/portal/img/oval_pink.svg,sha256=Nx_WIK4DDqzF9aHws1PiAWLBTwFcAVGAyBmgQvTXsw4,515
137
234
  portal/static/portal/img/oval_yellow.svg,sha256=-TbMEyYaQJKok57jUht2U3t_AkTvVclqpi1D9N99Dvs,511
@@ -141,59 +238,66 @@ portal/static/portal/img/polygon_blue.svg,sha256=c9J22GWSicz8EsRJxZQwVnIneRsdiKA
141
238
  portal/static/portal/img/polygon_pink.svg,sha256=yVYDtB8jWBu3bGptu2fgVM5is6-Cx2uFz2tCvKR7kzQ,579
142
239
  portal/static/portal/img/polygon_yellow.svg,sha256=Q5aI2gBbFcnaag_oOw5nabsiWofqaF79qxMJrf12VEc,579
143
240
  portal/static/portal/img/pressure_cooker_logo.png,sha256=fg9mVKzrxQTMsDD7prZxtBEc1P9LYwwOft5Lzow8Pc4,2876
241
+ portal/static/portal/img/python_den.png,sha256=qOryNFsE9TW4fVqgcBlpE8ozwyx9G5dE4Zoqz_A6tvg,172944
242
+ portal/static/portal/img/python_den_banner.svg,sha256=ypO6Qlr82BmV_rOOCLDEAeuUe5r2ezQKvdLTqjvxyXY,454879
144
243
  portal/static/portal/img/rapid_router.png,sha256=GhtnMvCN_iNjJMujY927wauyhCJ7JjMB2R5_yAxONSc,77059
145
- portal/static/portal/img/rapid_router_landing_hero.png,sha256=Axtywj2cu1qoq3xYI3Fs7j1HIeOOygP09xk6B6wKORY,583336
244
+ portal/static/portal/img/rapid_router_landing_hero.png,sha256=f9B3iTT_YRi4KxmPZmP9N7RMYcjMuhfOEKVezQwjkd4,146564
146
245
  portal/static/portal/img/rapidrouter.png,sha256=z8_HWPnJvfz-nIufepmGghfPDrhXaMae-1SJSL3qMGY,36268
147
246
  portal/static/portal/img/resources_hero.jpg,sha256=7a9UD_Hz8duS4IFfXo_dspgEbJpt2h_5JY-P3To5G7I,65998
148
247
  portal/static/portal/img/resources_montage.jpg,sha256=X6ahyduC1qA-Hv0J9cF33ikoyl_SW01djuDz1D-2JQ4,74159
149
248
  portal/static/portal/img/reuben.png,sha256=sJdtrEwtB8TJNIhlzk5uES37oidpODRoZ2F7mgmJCus,93064
150
249
  portal/static/portal/img/rob.png,sha256=7ZtcMzJ_khTflJJIhfU5YQzhgld2ceBB2QBpZX7yVKw,103324
151
- portal/static/portal/img/rr_advanced.png,sha256=jzxGWBjg7ERRcXgY_NmC6pRCpN7JOhedE3NWf_Fx3T0,76220
250
+ portal/static/portal/img/rr_advanced.png,sha256=hpyfd-FWGeuuRoBiMUq2bynpcBcwvRBnO3f04czb4Os,228593
152
251
  portal/static/portal/img/rr_beginner.png,sha256=xnLZ2bpOc5WbS-I9lu8hWcs8W8x3QaYDp21t64auMqU,55473
153
252
  portal/static/portal/img/rr_intermediate.png,sha256=fT8CXKMoMjyX05aEBXHNS4PseuVnqdiEWSr-enNsMeI,90538
154
253
  portal/static/portal/img/sadface.png,sha256=FU9d3XPCfe6sknfAymz8XPl_0nICp0geiqTQoOximvg,2148
155
254
  portal/static/portal/img/sharon_harrison.jpg,sha256=VBPA3nuzP8k8R8MW3-kHK_TFjax8vMktLjU84emR9Js,6949
156
255
  portal/static/portal/img/sian.png,sha256=9-j5qxJPHXPto8a06E6iYU-kbUCbAIY3UhJU0Egw6ho,116116
157
256
  portal/static/portal/img/teaching_resources_hero.jpg,sha256=tDJpcTnQ_om0aVIJBXHtdjRSuGkuIcl1N__lWYVvNbo,60671
158
- portal/static/portal/img/thumbnail_educate_kurono.png,sha256=tj2K3JjNICg1r5vLRSKARhZYlnR8GpZM4x3iplU1sh4,68271
159
- portal/static/portal/img/thumbnail_educate_rapid_router.png,sha256=dRBgspW3KhdAl1I0lvpNDd130mszdOv2gJhZEk8J3Qs,67978
160
- portal/static/portal/img/thumbnail_educate_resources_and_progress_tracking.png,sha256=J6dyPQ5uHwgW7pNxUWNAXfuJ4Spsk2C-OyWA4wA0xyY,33575
257
+ portal/static/portal/img/ten_year_map_pin.svg,sha256=7hOOyo7Qb1SIBJ_QmpxP-2cS6qr0OleohWhAisAXzv4,348
258
+ portal/static/portal/img/thumbnail_educate_rapid_router.png,sha256=g6VMZiKCx-WBmt5XSnRHFLCG9My26ilmIteErLvu-Yw,246081
259
+ portal/static/portal/img/thumbnail_educate_resources.png,sha256=kWmhGxkGiJBFB75ytdTHCg7Y7M_GBjhe7UgA9kIG0AE,37070
161
260
  portal/static/portal/img/thumbnail_intro_c4l.jpg,sha256=stFXCm66zSD1rX5QVuW8ppkZjl0E_9zYJ3K13Sfib_0,34617
162
- portal/static/portal/img/thumbnail_kurono_resources.png,sha256=YzLV2-ooszKXWKAxzzPhzzDW2F3dNiCGd8wzB56ZBkY,37516
163
- portal/static/portal/img/thumbnail_play_kurono.png,sha256=krSmx_Cauo-uLOYqb8WSH4AZ3M8RBJMZp3-_rrd3wZ0,68845
164
- portal/static/portal/img/thumbnail_play_rapid_router.png,sha256=JtdW5gqGa1PsU8U-uU5EgJsQcO3JryREb_NXbNiUzzc,19365
261
+ portal/static/portal/img/thumbnail_play_rapid_router.png,sha256=PcgUPG7zmkjPlsw0YIBewxNDSjwRtHPZD1kIDEs9YaU,20989
262
+ portal/static/portal/img/thumbnail_python_den.png,sha256=0if8hLRK9tR-oII6IEuRRq2EHQ9O_MTjzQpVViJPx08,176884
263
+ portal/static/portal/img/twitter.png,sha256=QD2ckrIWgV6WpuV0R7p717_T9a-DibzIxXsqHbvDR48,15969
165
264
  portal/static/portal/img/universities.png,sha256=y015DeiJzJyIAEC-qIGY5HgsXJDr_DhUXOx8_2xbxf0,145961
166
265
  portal/static/portal/img/wes.png,sha256=z2Z-vqqzIPkHY0PN7pgb7Im8CU0w9p2bc9VNRXGxtd0,54619
167
- portal/static/portal/img/x_close_video.png,sha256=R6YR7j0axvkIdfB2u17hvbgTWA1sCk_0GREBRfFu3aY,1051
168
266
  portal/static/portal/img/colorboxImages/border.png,sha256=Eb2D9kRqG0Gw2I3bLicfzJkSshDXf0DjTl4x4amvF0o,112
169
267
  portal/static/portal/img/colorboxImages/controls.png,sha256=zQowXWoW0otiA3-wj5sGLdGgpqO5cNj5Xs69VvdAZ-k,2893
170
268
  portal/static/portal/img/colorboxImages/loading.gif,sha256=NO9VJC_CTJTweQkCwJYB0ijpB0v3ofiMTeajm0DOOPo,9427
171
269
  portal/static/portal/img/colorboxImages/loading_background.png,sha256=lZ7Mxrcb7-5nZXOS5_Ir4myrQISDZX-zKiGP7W_-AWs,157
172
270
  portal/static/portal/img/colorboxImages/overlay.png,sha256=qy73bf_q55z4kktuaTaMhVrxDzVRCIjgmBQ5cbOmLtE,182
173
- portal/static/portal/js/aimmoGame.js,sha256=WGnksaYWUhF5p0Z4xqZKsGNGkwDZ3RuErOn1biQ1oiU,3004
174
271
  portal/static/portal/js/bootstrap.min.js,sha256=nuL8_2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL-1ev4,39680
175
- portal/static/portal/js/common.js,sha256=HlI58AY3puh7cGDvS5wfwvLqAuR1Ebrq9I-QYxk04tk,4258
176
- portal/static/portal/js/deleteWorkspaces.js,sha256=dsDe4OuQc-kKrvEEicQ2O0FjmULyZOQIlq9Avyr9seo,408
177
- portal/static/portal/js/fuzzySchoolLookup.js,sha256=eXZgeVC7_WvOZdHc_oDpCTlpg708yP7TqSZoIlXwuO8,1919
272
+ portal/static/portal/js/carouselCards.js,sha256=IByMjKk37E-TCc3vx9nfF-IJWl9BOFPNVqf4WuD75GI,778
273
+ portal/static/portal/js/common.js,sha256=S39e0B75gycBQ2KEULPD-i-yZdM7vP-jvW3gIFTn5GU,6980
274
+ portal/static/portal/js/independentLogin.js,sha256=wjjJBAF5arJ2iwW30lHTraG_f2FJ9UMGnXGpUSXwXIs,538
275
+ portal/static/portal/js/independentRegistration.js,sha256=YWhIzwJcl0acU9weAKB7pWK76J1dpAuAQkI7DrUm3uA,2622
178
276
  portal/static/portal/js/join_create_game_toggle.js,sha256=eWxhMfzVKu1oft9iUFV4w8CgqMRv9-unb5P5cGi1h_4,393
179
277
  portal/static/portal/js/jquery.placeholder.js,sha256=bgf7YMB5_L4r1sElBMzAKZfHGaO-XiXaZ4a11UaOh_I,5297
180
- portal/static/portal/js/organisation_manage.js,sha256=RYHQg4iWVUpYZ_MaVcPWrSCc36adWf_KwAf6w6wSFVU,1302
181
- portal/static/portal/js/passwordStrength.js,sha256=2mv4Yj4xbhLiLvQS36u4N5UMyj1O9QRnQLlxGrzkAL8,2876
278
+ portal/static/portal/js/levelControl.js,sha256=EdaY-_mS-K75lWEklZASiWcwbrSGbnegaAu4geehFaA,3567
279
+ portal/static/portal/js/organisation_manage.js,sha256=FiPUAGPfktk-k1KE2pq-dD6onHJKJPnGS0u5FBU98tU,4991
280
+ portal/static/portal/js/passwordStrength.js,sha256=UK9mQqHQSkgYTrer9eDhynNa5C2VVeHGcXOhFYup7NQ,5354
182
281
  portal/static/portal/js/play.js,sha256=5WlqzT-JqgLCPnlTIilrFK4bfgAfQWaZ7LuSYfKPwmM,1363
183
- portal/static/portal/js/riveted.min.js,sha256=EU63Sxa9zQVGsu7D9UTJqzH2_MOTAgfCwtfTVFdKvOE,7108
282
+ portal/static/portal/js/resetPassword.js,sha256=HsFpD2sWqyOK_fea4xi7hQQVTJ29li40DeFOnQEcRjI,726
283
+ portal/static/portal/js/riveted.min.js,sha256=8MH4P9Uqy4OVYc0aB05z_A3V-W588lvhtt-QrKlb3O8,8455
284
+ portal/static/portal/js/school.js,sha256=eFAXgSDYY7pTv-qFSr4ClxoVjIQ5GR3IDLZxirGBu3I,291
184
285
  portal/static/portal/js/sticky_subnav.js,sha256=mTlUnvsuT8YSpG60jrSB25_4LWp0mOBDYY37XOec4E4,850
286
+ portal/static/portal/js/studentLogin.js,sha256=7qyr-fVgfvyQ7Td7fUn3MejWCaglWLr26wjFYFVuI_c,525
185
287
  portal/static/portal/js/teach_browser.js,sha256=r5duQU7HNwVM9tSGamaxmY3gWzRRgRfOIMbT9Ifaz1I,2437
186
288
  portal/static/portal/js/teach_class.js,sha256=cHn8cw02V8sCcLL7WCj0Uy2YI8kFjkk0U24pFHTPn_4,4947
187
- portal/static/portal/js/lib/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
188
- portal/static/portal/js/lib/jquery-ui-1.12.1.min.js,sha256=VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU,253668
289
+ portal/static/portal/js/teacherEditStudent.js,sha256=Jq-WPPDDHMZ8_8_zFMUeaXSqLq0babGdWADUn7vnjoA,730
290
+ portal/static/portal/js/teacherLogin.js,sha256=4r3z4oGVuiMymE8APvzQ0F3QAmNWxDN_Jb-eLC4WAQI,531
291
+ portal/static/portal/js/tenYearMap.js,sha256=4kfgL--Im0UOcO7gQbqhVJeqIJYwFY853EwRgoDbrgE,348
189
292
  portal/static/portal/js/lib/jquery-video-lightning.js,sha256=nLfbod3Fh-HCELdu1_t0qcqr1C0ensnbKePvw_hvQIk,19519
190
293
  portal/static/portal/js/lib/jquery.colorbox.js,sha256=4-ZawxafV_4sijUG-zDB5Dpb1sSXJyTpS6djiQLI6P4,29200
191
294
  portal/static/portal/js/lib/jquery.easy-ticker.js,sha256=Gj4dexfJvqsIds9qNMsAnomtSgN_VYOsdgOzKMoR77U,4278
295
+ portal/static/portal/js/lib/jquery.min.js,sha256=2Pmvv0kuTBOenSvLm6bvfBSSHrUJ-3A7x6P5Ebd07_g,87462
192
296
  portal/static/portal/js/lib/modernizr-build.js,sha256=pGqgo-dxjy43hd1yL75ivaH9xWF9qfVKLlD4EYlTzJ4,36698
193
297
  portal/static/portal/js/lib/papaparse.min.js,sha256=tDf9H6Pr0oXtuyG0hGdMQ5OU5EuM5IK8WMK2iTbdvd0,18829
194
298
  portal/static/portal/sass/bootstrap.scss,sha256=q_gMkiqFVJBrMKNr0kXaP7y4caychGNGkyEyEUUFN3k,2144
195
- portal/static/portal/sass/colorbox.scss,sha256=ZSilgJLSC_ZIMp2Wb5zJvwR-cyRbmcDPy93Kt78VbIM,3790
196
- portal/static/portal/sass/styles.scss,sha256=lu_uj7XDOTJ9cDjpd6kbENSKbGMUK7Qdx7jGV817UA8,807
299
+ portal/static/portal/sass/colorbox.scss,sha256=DqEMSAPBfBwNGY1acoh9fCW9PPY-SchjKW7sNMxd9UM,3637
300
+ portal/static/portal/sass/styles.scss,sha256=gTv8yjfzrN1acywPBkS9b49648LUGN4xvkwqAK-gAvc,780
197
301
  portal/static/portal/sass/bootstrap/_alerts.scss,sha256=C5kv4Wt7RFE3ESibknOeFzbE79it0qfwV59y_yaeImE,1546
198
302
  portal/static/portal/sass/bootstrap/_badges.scss,sha256=lHaAb3wWe4sh5kwNTsni1f0PCkNXBTfcVbakJTzoAYY,1228
199
303
  portal/static/portal/sass/bootstrap/_breadcrumbs.scss,sha256=CL0rlyGosT73v7DLy06j9YRfK3b9EtUxupKrdbfjupc,700
@@ -293,115 +397,116 @@ portal/static/portal/sass/modules/_all.scss,sha256=k1U_FAKajqT8B3U53UT9B1Hc4jn5P
293
397
  portal/static/portal/sass/modules/_animation.scss,sha256=s75-4xRmPSmqwHUuyVy0OcnbS5jreRnotMXm-CuTLkE,39
294
398
  portal/static/portal/sass/modules/_breakpoints.scss,sha256=Nc7nrvjzQ0eK844ITuqwYcybIJxpYVFU5s30mz3BGOg,498
295
399
  portal/static/portal/sass/modules/_card_constants.scss,sha256=FUojcT5Fs-IYErt-frahD3HnVb06A515k4SQJrqVUfQ,107
296
- portal/static/portal/sass/modules/_colours.scss,sha256=tWcMlEzMm8fxVS_wrDR246vRNtAl7Kd9s32wnsYrW1w,4211
400
+ portal/static/portal/sass/modules/_colours.scss,sha256=6Wz1ev8T0nDmftQBWzUiCvOcJUrbkqQTCTisfnb-0Go,4250
297
401
  portal/static/portal/sass/modules/_homepage_constants.scss,sha256=GfSppJtWNxufu4hKO6vHX7YBQgmU1oB0KBonh-ltgv0,44
298
- portal/static/portal/sass/modules/_levels.scss,sha256=dGSpaNHkyuSY7b1QbFILzirx2X1EKjUgGGqlL2KuEMs,105
299
- portal/static/portal/sass/modules/_mixins.scss,sha256=XQ6Zpy5yPZmz_kcWliIkn-Du3ywcMcwH95mZ_pkDE4w,1493
402
+ portal/static/portal/sass/modules/_levels.scss,sha256=-PrZ21k_-sQAxYZB0uJd7macz46-VVwsQdmtxYyZYnA,106
403
+ portal/static/portal/sass/modules/_mixins.scss,sha256=8xDWuApUG6B3pjadB4iHpJ87ehXCg0qqpabnVd2cgxU,1987
300
404
  portal/static/portal/sass/modules/_spacing.scss,sha256=WHBcd8ZSl4UHqPAOmW_JLt_MOfww44Hj8W42dWOpTO8,31
301
- portal/static/portal/sass/partials/_banners.scss,sha256=IDesFp-untkbEksGPQ7GCYJ1qGc4o9dmuVMrQDW9IIM,8787
405
+ portal/static/portal/sass/partials/_banners.scss,sha256=Q13Mybarzkq0GWvhStiqIuK_bgKku8wkqC6qCFIruEg,5658
302
406
  portal/static/portal/sass/partials/_base.scss,sha256=cUvskrzNXLA-Xg1EgpL-S0wTWDnRn86AcdMbE2_aLMM,26
303
- portal/static/portal/sass/partials/_buttons.scss,sha256=adKGF6f0Twu7DNJFZlmpYZa5e6U3pWUeZN8mb32QciA,9002
304
- portal/static/portal/sass/partials/_carousel.scss,sha256=iGT031ng0CIh9kprSh5hj73sTHLaqgEJePXOJq9gAcE,898
305
- portal/static/portal/sass/partials/_footer.scss,sha256=g5NMUSvpm_L5uw-nyFkDnreiDNG4udQsdNH77EWWYHM,2445
306
- portal/static/portal/sass/partials/_forms.scss,sha256=SMYhMy8YoDVdHKRRWgOOvJB2YRGQhAvHAnqNPcS0vm0,6245
307
- portal/static/portal/sass/partials/_grids.scss,sha256=hhl3V6Ck-aDiQsPLHLC7LzTt1kTBZUCgFCvRfBlzPMg,5347
308
- portal/static/portal/sass/partials/_header.scss,sha256=_QqqZ5rHf_BsOgf3rhzHiyUq87sqB0Pjd0n5-H7omGo,7296
309
- portal/static/portal/sass/partials/_images.scss,sha256=1QuDit2-IO7f0WpanTLnOLcHxoEE93EC056biHHhHjs,3087
310
- portal/static/portal/sass/partials/_popup.scss,sha256=ccawuZu_GrXs6UWMtNc2RyH0YpzmNF6k2R_qX3iS8hE,2361
407
+ portal/static/portal/sass/partials/_buttons.scss,sha256=IoExpRV7Ng7wQ--jpOgnXC3D9SZqV95hM4bLEwNKNAw,8913
408
+ portal/static/portal/sass/partials/_carousel.scss,sha256=m8N6jSuHBzeKyMUNGGc48NlNYTmotKlaiy10hwFnyWY,3500
409
+ portal/static/portal/sass/partials/_footer.scss,sha256=oqt-Qvz7vtUFNnpe4FkQkaZk3J3fojCy9cKCxqGTWoM,2493
410
+ portal/static/portal/sass/partials/_forms.scss,sha256=cbonSxhtfaHR-4R6i0u65AaIZRG_25C837CgZlLuwCI,7101
411
+ portal/static/portal/sass/partials/_grids.scss,sha256=pnMQht5lZ65MRB-0_nl8yn655hlKC_oWCwZopillVwc,4968
412
+ portal/static/portal/sass/partials/_header.scss,sha256=_54ppHxjp8Y6PB_UbYlxvH3MKke9tjsaq5yzDsDt-jU,7493
413
+ portal/static/portal/sass/partials/_images.scss,sha256=uHUZ1rRZntijcTnv3Ws2EjGR7eJ7aunDHwUj6-lRNMk,5592
414
+ portal/static/portal/sass/partials/_popup.scss,sha256=GQ6Vtmj3vdOP4Hvsf8ZxKdEtuL8gqoClYpDgQ19kvnQ,2280
311
415
  portal/static/portal/sass/partials/_progress-bars.scss,sha256=cTyRa9WLeIE0rETmY58Rcyf-8O6JE3iDTa_jw3mk23g,144
312
416
  portal/static/portal/sass/partials/_subnavs.scss,sha256=6FJV1wBmHchnGBL9Yx56Ua4RR1b5P6ABTextZPTqXSs,5052
313
- portal/static/portal/sass/partials/_tables.scss,sha256=p2yVOL6ZBEcuPvY6mk0T71V82FbBETWA89adYbCRJJY,3199
314
- portal/static/portal/sass/partials/_text.scss,sha256=2iH-QaB_MyuIY8vJMQjCxMOZA5EPeACPQfdhqb9R_V4,3788
417
+ portal/static/portal/sass/partials/_tables.scss,sha256=XrO-I41hfyFy1Uh-STokSpoG0qifJVNlpWS4sNxDYdQ,2984
418
+ portal/static/portal/sass/partials/_text.scss,sha256=YFnnMtlhx21hL-ueUv_HqCk-6ha_HpxohKTgfkotC0g,3716
315
419
  portal/static/portal/sass/partials/_ui-dialog.scss,sha256=gaXrY_uGqT6SyxYsCJmEiwg-OXa_NBK0P7-52TNLfXw,956
316
420
  portal/static/portal/sass/partials/_utils.scss,sha256=v0rzXvmkmA4sex_DdZ0LPYQybP8HXqDAE4q-kQKkPgk,3468
317
- portal/static/portal/sass/partials/_videos.scss,sha256=p0Pm5eUWAXSrJoqLLLLBMDRx1FsFVtEOAV7GHQ6I77o,303
318
- portal/static/portal/video/aimmo_play_now_background_video.mp4,sha256=WSLFCTgpSiLLU-eRZreUtxfv-f6s4W9g_D0gxMO8aeA,999060
421
+ portal/static/portal/video/code for life .pdf,sha256=0dVvxGFmCOhIzdMBjGhZJLhIoUX4vPll3_vFnZQqeAc,277957
319
422
  portal/strings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
- portal/strings/about.py,sha256=noSrUV6c4gLvg4Cm7xpeE7cGbWTixi7_HJcw6EXdvqY,644
423
+ portal/strings/about.py,sha256=ROt_UFX9eBzTJRkBTFF0591EO4_6WM4_kEy-vRrlPlk,962
424
+ portal/strings/coding_club.py,sha256=fMQt829owRrqsH7CWTxo_TUrTOx70ll92XciRgqhlUw,312
321
425
  portal/strings/help_and_support.py,sha256=S6lQU6y0WhwBl33KDPlFA48NGQpuuBUGOY9WsB_ys0U,386
322
426
  portal/strings/home_learning.py,sha256=ZZ9rLupgBGrawxQ1kovCyYId6mK3w5LHchX8Ct8J2Lc,273
323
427
  portal/strings/materials.py,sha256=6hkXU5EhrDA-nWWQIiJ5nSZTXjulJFtEd4O0RNYVcbI,274
324
- portal/strings/play.py,sha256=ag0AxBXkXV6TjBUItwfWgh2mepBhPfmwhYiUrV-Hf3I,711
325
- portal/strings/student_aimmo_dashboard.py,sha256=heEQ8KN7Vt19fg0MAYPcg9-mLOlCpOWlxVb8QMMldjE,235
326
- portal/strings/teach.py,sha256=vE_fMTbO5F3Y1DC4csmJTKQv8pgf2jJT8GZAWJ2rNaQ,270
327
- portal/strings/teacher_resources.py,sha256=hYyC8uorRplO7Xr8uPsTeVtRvgZsdKyiF4D6s88hu6Q,541
328
- portal/templates/403.html,sha256=2o7mVrBmWv00ZwlGAH9ALU7Rn3MAGIvjf-JDEzcd28s,1174
329
- portal/templates/404.html,sha256=hk4jUYPK9hjcpbsJJ-1d3X2OOnHs-RxT5402-e4SUj8,568
330
- portal/templates/500.html,sha256=wS981fzdDCMNledee1Dxd2niuVz0oeJXvAVoxPIHyL4,1708
331
- portal/templates/email.html,sha256=uurjsOiEtqJcsgu0xAWCgoxWnFBLACBOrQ31gKbkk40,52
428
+ portal/strings/play.py,sha256=QbHlRfSPZNZrwuiF-Mi5agVmkwl975iJWiprxdvx3UY,777
429
+ portal/strings/teach.py,sha256=fhzX55gs9eKEYUfCoTGcJYWuVJA2bx7mXvQMtXfp9-Q,257
430
+ portal/strings/teacher_resources.py,sha256=8fdLLv0n140BQ0u1ivHhaJCFhz2qwNt4g0tCT-H4UW0,350
431
+ portal/strings/ten_year_map.py,sha256=iodL7p1MZwo1pd3az6kPvr6OvoSgZa91H2gjeMw4OkY,517
432
+ portal/templates/403.html,sha256=1-xUtVoSijK9ujk6vUMWsjNaFUcHKWKggTC6SelxqhA,1180
433
+ portal/templates/404.html,sha256=Tk6HmuzDdIT4ojoIHvH2MibU_0OekU5gmuJmk5M4K_Q,563
434
+ portal/templates/500.html,sha256=RQs2QqaLPINV8OdxbmggK03K4LSQ2nyt0wR0X-kuxNo,1714
435
+ portal/templates/email.html,sha256=MXB64zc1Sd34eIq8mGT1HhrjAiZUNvRx0_XjZllfKUU,268
332
436
  portal/templates/email.txt,sha256=z3bkT2WnkCrVa1RLVbGd-pE81cLEHlZ_QowfbSQAOvg,19
333
- portal/templates/captcha/widget_v2_invisible.html,sha256=wPBAvvjm-qhSCrQruwJ2SSBkxFg4oUNFl26Axs1IjZw,306
334
- portal/templates/captcha/includes/js_v2_invisible.html,sha256=FUyDf1RDyS7whzW2B_TnD1ovS8an9sDavCJFqAsrnmQ,1409
335
- portal/templates/portal/about.html,sha256=RjXA9Y20xDc4IZNArgfZnEDeLcCzW3fqwlv1S77m1cU,9907
336
- portal/templates/portal/base.html,sha256=g7d0cWUETuJaAALx0GvxVIXPokwjPgWO9t5uZKPDAuU,9011
437
+ portal/templates/maintenance.html,sha256=o5d8FbFj6CIFs76Pm0moM-2fVkBisZHKqgE8f_LwMAA,1610
438
+ portal/templates/django_recaptcha/widget_v2_invisible.html,sha256=3t5JHgyr_so5FQEUtbq501kEjz80KYBOoVz3PuU1JOc,318
439
+ portal/templates/django_recaptcha/includes/js_v2_invisible.html,sha256=QQnBzZBqdtPeJeYFOIihJM18YoSUWbsGjuoMy-5gxNM,1408
440
+ portal/templates/portal/about.html,sha256=_iD0GCP6q3-XuZ2LC-9O0KYY-mKL6c9qk3O-NRRqsRM,10321
441
+ portal/templates/portal/base.html,sha256=pEcfyYQjWtZk-de4NuQBcZwu9VMQFangbrpSnz3pJqg,11655
337
442
  portal/templates/portal/base_no_userprofile.html,sha256=PlRufyYmUUGWBZ6CvbYhJWOMTqKqdcee4xnO5--AogA,447
338
- portal/templates/portal/contribute.html,sha256=zvtWd4yo427K0zpTQQTjUNMblYqkD3tNg_y3T8ffo98,4006
443
+ portal/templates/portal/coding_club.html,sha256=aINDxOqvTfG2WBSKUHE7JiwlCW-RVSi673QbZ-G9zoY,4852
444
+ portal/templates/portal/contribute.html,sha256=bhIMaUh9ucQfiudomsZJerYRuhA7963ELO7ukH7vgdw,4269
339
445
  portal/templates/portal/dotmailer_consent_form.html,sha256=UDdizPoKYZGybr6z9nzDV4WPhJPa-S3bIKywvVgFrxg,918
340
- portal/templates/portal/email_invitation_sent.html,sha256=xfDxz2LNAzuLEZsLcZeXiVfRE4iCd81-UhY6F0bisvo,646
341
- portal/templates/portal/email_verification_failed.html,sha256=4Fljzn93GK8skEBfga31gjjWOgwjqrKyahgBt470Kqo,811
342
- portal/templates/portal/email_verification_needed.html,sha256=EiIoCOtq9uFvzYkpKZsCEhB3zGXZA2CVLtlsbh5UVjM,1005
343
- portal/templates/portal/form_shapes.html,sha256=k8MaPkksMzm2GJbk7sXsqUWh4peLxV_P0KVF7ezvG3A,1256
344
- portal/templates/portal/getinvolved.html,sha256=KkE9rk9RGYKoDSl4OeUDeHy_N9jyYaVcEff_7noy9A8,2926
345
- portal/templates/portal/home.html,sha256=wAqanMH6BR7hhRqwjgbr2RGE_lwn-B5HVyvo3_Iiyt8,5166
346
- portal/templates/portal/home_learning.html,sha256=YhjJannqgrTlSmJyfxU8WOX5vHavm-cevt1FH8Uhp88,9587
347
- portal/templates/portal/locked_out.html,sha256=ztjblbVc_bsNat2eUyuKQsPYzXQuvyE364lWCsPQSis,917
348
- portal/templates/portal/mouseflow.html,sha256=ji9SWR86nqC59xdmivfdPNG5OzFk8gJEUeOUUh52alk,361
349
- portal/templates/portal/play.html,sha256=hxDe_oqfutncZb_uvZxhKcXx64hoQdS2dxbHWV205EA,5006
350
- portal/templates/portal/privacy_policy.html,sha256=2Sj7nIyLve-FMQnPHI5RVQ1urFWCME58GJpreplIebI,33854
351
- portal/templates/portal/register.html,sha256=sPhKe_taDlrNJev2yyux2l0yxUQ7kIu3Gedz8w6OGQs,9179
352
- portal/templates/portal/reset_password.html,sha256=IJlC60KDYsROqUm8MeXchCkUAhLv9kEKgwMY1IU4hnw,2182
353
- portal/templates/portal/reset_password_confirm.html,sha256=SklrU0kxxZ1i4ovHaE3xVWNThZSfrbZUoa18cb62Isw,3041
446
+ portal/templates/portal/email_invitation_sent.html,sha256=hAMzQXE3NFGnOsQlCGuo3Aps-vazSJb5BhAN7bWT48M,641
447
+ portal/templates/portal/email_style_template.html,sha256=lIlpiEC7-mO9tx3Ra9jtBjdXYxh5HKGZU8uqbvKdEbk,11893
448
+ portal/templates/portal/email_verification_failed.html,sha256=i93oA6EXxa-Tj6A05Bk6ftR0h0A4M_oTjNqqyCJ4c8g,806
449
+ portal/templates/portal/email_verification_needed.html,sha256=lJvwWjBg6y-9V17gyVCIQj1sXzB6O35porHGhrLT6WM,1053
450
+ portal/templates/portal/form_shapes.html,sha256=_b1V4S8tAUN_ktBDLa4Ea6TqWDXUCr9U0in3AzLgAf8,1662
451
+ portal/templates/portal/getinvolved.html,sha256=jC56RTuLjDISr7eJUPA2TErz1TBcLi9G42BY-jo3Xe8,2872
452
+ portal/templates/portal/home.html,sha256=772Uaj07JcNB-H_FTXvNPj0JosRq2KHBPuGuBp_ZswQ,6528
453
+ portal/templates/portal/home_learning.html,sha256=U1_AYrTNLqCjla7-vdVkC6SOigGBAmu3kscuiYNH4rw,10070
454
+ portal/templates/portal/locked_out.html,sha256=JeiFHFyueFX03D54k82swjxvKY78cFG8Vre-bKKv_7Y,894
455
+ portal/templates/portal/locked_out_school_student.html,sha256=bcpLtu4mkHR-zILLuArtHH2OfUSjHiqntcdbTMlx5Kg,684
456
+ portal/templates/portal/play.html,sha256=35dsR5jMavX5YvHZCwsoGdbCjEWJG-vPyqIeUAkgbLI,5724
457
+ portal/templates/portal/privacy_notice.html,sha256=JexPB9Xgvlymv-TCzpWoViuZ2R-xalScCsueMW66-fA,49247
458
+ portal/templates/portal/register.html,sha256=Vf2L4VMPuNQWgK2CWYBgBEYDkfUJ5YjXMaDY0C-Fp-E,12465
459
+ portal/templates/portal/reset_password.html,sha256=YzsREz5D2OwhicMLahVOVDXiNDxoHlPqU5iu96i36W0,1373
460
+ portal/templates/portal/reset_password_confirm.html,sha256=jPHSDatezRXzCG4zH_5BQPWAxLblidqro0hzvsH54ho,3499
354
461
  portal/templates/portal/reset_password_done.html,sha256=rpzN3svZne5H2FS3TJaGnHypRj2KX-SRS6DbFQkgLf0,667
355
- portal/templates/portal/reset_password_email.html,sha256=Ru4dmjYS_nbwudsRbXTbQHWxUrRNt_eecfpkcGwEfEs,343
356
- portal/templates/portal/reset_password_email_sent.html,sha256=fCSEQLG_n72gEBqmX_VHZ7xeGhUdcWV1WWo9NhI1MWE,806
357
- portal/templates/portal/teach.html,sha256=2IqQ28zM-h4PesnSyvjn9Ti5dSupIFL33Dy9JYWtEV0,8283
358
- portal/templates/portal/terms.html,sha256=ynf2C6ZNqJpeCItfvNLjVqA479Po-MegpPSEcbvI6eQ,19861
359
- portal/templates/portal/admin/aggregated_data.html,sha256=rNiT7fuxkYW5e5vBBoav0yYEaxe50Fn1qYhVD6wABeo,616
360
- portal/templates/portal/admin/map.html,sha256=IZk-VOqV4ee51KVYd7Jq-ylf8upNEyMAPXyXExk2Q0E,1793
361
- portal/templates/portal/login/independent_student.html,sha256=Q_oa1n_9rJEg-j9H80Kl3FlTPtO_bt9Ur5SdU26qcZc,1167
362
- portal/templates/portal/login/student.html,sha256=t4XQa0CETFyd2tObRsoZwpV_pkux9x64gfoZXPtgouw,1043
363
- portal/templates/portal/login/student_class_code.html,sha256=d59OuXHsh4jKcICvYlflkWD0NMnY-Rr7ZrjCX7BA7KE,810
364
- portal/templates/portal/login/teacher.html,sha256=FHxq4QpHXD7JsQ5bt5V7DrurSBidFt4NiZZTQzVpAak,2055
365
- portal/templates/portal/partials/aimmo_games_table.html,sha256=eu3l_dVtSLEsm1U5dJN1TB4b5om9yFur729UtQrJ6zA,4288
366
- portal/templates/portal/partials/banner.html,sha256=nFPNeyIdc-vKbenZIRNLHd8KOETgOXdOe93mloTPwzs,1161
367
- portal/templates/portal/partials/benefits.html,sha256=RISqxR9p4oNwBDhN7CxiAg-uoJCv9yNRGojZMCeaqrs,2368
368
- portal/templates/portal/partials/card_list.html,sha256=h37Me8uQYwHJip658Kgqbj1OsSNmNllM_YNu-dR6oKY,1200
369
- portal/templates/portal/partials/character_list.html,sha256=Wy9MH3YMSDvyJAxEjqeBUyPP04KVf1CniwgSthSVbhI,408
370
- portal/templates/portal/partials/footer.html,sha256=xH0wVceGY1-1R2Ybt_94Sr1UVqFnMyQl02h3pQIahPY,3227
371
- portal/templates/portal/partials/header.html,sha256=XlTdPoxgosBtc3OlITp57MRF6La1Yxv8HJ-ywNtwxdc,19215
462
+ portal/templates/portal/reset_password_email_sent.html,sha256=kwNvoH_M-Qd5s-g0HiULwfQt_SD12WEMgPRSnLmldTQ,914
463
+ portal/templates/portal/teach.html,sha256=3JWxPCxvVqDHpnYlunIg63ole_GjQwcAma4v0e0dR5o,9265
464
+ portal/templates/portal/ten_year_map.html,sha256=_NxEXDJMGdtguuZ3vYl00yBgYo12wv1w8QJ-LMhw8fg,8390
465
+ portal/templates/portal/terms.html,sha256=ekhBnhJVHcr5BE5W4PZ-YNzGsmhvRTrj1gdpdNdSYRk,29314
466
+ portal/templates/portal/login/independent_student.html,sha256=G4u82m0lko4yQvqRDMger5p63A6KtFI_bsEOsQWlyJw,1777
467
+ portal/templates/portal/login/student.html,sha256=s5rUyT-u7gei2xWQ-Ba35ePC5WbtwReEzUZAKwUoZVY,1261
468
+ portal/templates/portal/login/student_class_code.html,sha256=rJr6NB4Oz7XjZXDOUHpwzT6r6yxh7nZ5joca-z2bK-s,966
469
+ portal/templates/portal/login/teacher.html,sha256=TaqkNTuGuQaXrlMVr0VnmfRQrOEfKEN8VbqSJnoEoQA,2834
470
+ portal/templates/portal/partials/banner.html,sha256=5MzRKCZWFPDzcRzHPqG5MeED_KsmvAcKoA74YYXmlPY,2101
471
+ portal/templates/portal/partials/benefits.html,sha256=TZm4U_XimgivkPMjDXxxkV7PLfRyi2PAwkH8Y4sFDps,2363
472
+ portal/templates/portal/partials/card_list.html,sha256=yHcp4oc0WRG9H6Ek871VCHbwYkDRcwQYbZ320gtsFn8,1550
473
+ portal/templates/portal/partials/character_list.html,sha256=SnNFHzbIkOSaiRPIvSdplEf_B87UYgJ1pOvMltNDxLE,415
474
+ portal/templates/portal/partials/cookie_list.html,sha256=j815wyA9nAe74tzuKtp7Rxnm9oclORmipImfbI33BRI,6538
475
+ portal/templates/portal/partials/delete_popup.html,sha256=nEhnwgnmKoFzb6LlCwdX973Em9bVOFh6MON36RPteYs,1275
476
+ portal/templates/portal/partials/footer.html,sha256=dC3eKqZ2e2gCnRsZwsFNWVEOwgwQtXrO7yfwBuW63hk,5628
477
+ portal/templates/portal/partials/header.html,sha256=Fqly39-c8MIMLIIeq_sbT3CeGJMhvEOIqIqGWrKREfw,20744
372
478
  portal/templates/portal/partials/headline.html,sha256=xKb-WtkT0FyQqT0smyNSKkXFvU7KQ5Czad8ca6YKQg4,89
373
- portal/templates/portal/partials/hero_card.html,sha256=M6N2CwP7hOKUrqdz8XP3F7yZIobVsLGcAwPu0rN06Nw,702
374
- portal/templates/portal/partials/info_popup.html,sha256=wG3cEpLc2XP8e29PKglZUVZxT3dp8rtFrxHClonL63g,584
375
- portal/templates/portal/partials/popup.html,sha256=nuk3N4B84FuIkxDS8VWQ2TVY4ByvIU7c4oeVQ8EWWH0,651
376
- portal/templates/portal/partials/register_newsletter_tickbox.html,sha256=pcBTQzE8kEkqCtPfxgw40K8sSyws5eDHfQR1ZLtlcmg,329
377
- portal/templates/portal/partials/register_over_required_age_tickbox.html,sha256=CJ3Ow7czdpG2-c6BZVfvSi34ZCXuYMaNwrDUscrwK7Y,311
479
+ portal/templates/portal/partials/hero_card.html,sha256=UN5hyxrw-McuXFsDzPBIECB9yGrv9VjsFf8SEBowwXc,786
480
+ portal/templates/portal/partials/info_popup.html,sha256=gzffd5MBVb7p2hGQuZMNDudThrRgs847hCu9ziT9uLE,566
481
+ portal/templates/portal/partials/invite_admin_teacher.html,sha256=zrlqPtvD_e2bxYrQRyA05ibF6UN0qykL3gmLKunn4cc,1407
482
+ portal/templates/portal/partials/popup.html,sha256=Odi5qZWfN2PMkjz-ZPnTbhaMx_6t7xIyQfqplUlVEDY,875
483
+ portal/templates/portal/partials/register_newsletter_tickbox.html,sha256=sAusxiLPzVoLKo3ABvo66RtXSLtEzNvZDhvRImq4FvU,224
484
+ portal/templates/portal/partials/screentime_popup.html,sha256=SgdHUgfPQmW7tmpLi48JNQUhOlTiD95Pdj3VSaN4bZg,821
485
+ portal/templates/portal/partials/service_unavailable_popup.html,sha256=OmffFQeTG-je7Xi0kyiFUOqSvm0l2-YJLl7IOH1Mk3M,637
486
+ portal/templates/portal/partials/session_popup.html,sha256=MuPw_Gd0M7o8IG08vRM9twfbPM6lsMxXPMhTH-Bxd4c,992
378
487
  portal/templates/portal/partials/teacher_non_dashboard_subnav.html,sha256=IHk90i81VYz-0XhcwJ3fWhkNYs1EomPa_abwraxZiEU,671
379
488
  portal/templates/portal/partials/teacher_non_dashboard_subnav_account.html,sha256=pT3HI2RzGYhLV7q104Av0qJcUdRGWTvmKAnNiZ3KSkw,671
380
- portal/templates/portal/play/independent_student_dashboard.html,sha256=-EXvSjOyOWvNuyxJlrPupJC13_FcjSgUCxCUJ0BFC9E,2907
381
- portal/templates/portal/play/student_aimmo_dashboard.html,sha256=ZBWfDUQeeJwpsnMQIoZpg-C8pqB3hITjr_gxagl8mHE,2653
382
- portal/templates/portal/play/student_dashboard.html,sha256=iWKAkeEnCs7HLM8oQ3F33pTgytYuKRTag4qvpJ4evbU,3898
383
- portal/templates/portal/play/student_edit_account.html,sha256=fKPsxoiK_oFLDJmd8g7m8yOY08LATXc8bLmZ-XxcMJA,4635
489
+ portal/templates/portal/play/student_dashboard.html,sha256=Oaaau-bb0i5dMcj1sxH9JmJrYIb0AuXxy7rcmCpnwco,4362
490
+ portal/templates/portal/play/student_edit_account.html,sha256=WSvkAbKetKIFE-z6kDlyMG9PmuyqPenJct-aOxPnefk,7258
384
491
  portal/templates/portal/play/student_join_organisation.html,sha256=05mbvmOryvMKUR9EpYeCNbuTL0kK2dcjovfJo7kjCqc,2980
385
492
  portal/templates/portal/tag_manager/tag_manager_body.html,sha256=M_c9T2cfmVm6_GjtRBegqDn6mCgXbnJ6j7C73TMUf6Q,661
386
493
  portal/templates/portal/tag_manager/tag_manager_head.html,sha256=kWQ4ccJ062cWRJOcfTNaWYTxCmzDsB9JD5v_YdyO5Ic,1288
387
- portal/templates/portal/teach/base_registering.html,sha256=7G_bBRdaKLdicGYbLIiERDh8ziHus5an6RrWQiqjIJM,587
388
- portal/templates/portal/teach/class.html,sha256=RI5FtrnMhU7RVgWdjf5aYtYF9KHsuE7D5CWT4KjRTdw,7002
389
- portal/templates/portal/teach/dashboard.html,sha256=7-sMR0cSkRqspFUOZlG-yE37pOTm27WsR3OjxUymTJY,26760
390
- portal/templates/portal/teach/invite.html,sha256=F6EvykmGB6VB6l85a7s04ymU7VaCGhu3yegTqftq8IU,1075
391
- portal/templates/portal/teach/onboarding_classes.html,sha256=eLmZ_A6O4NPIXck2qDDtiByQSqTmYG4ks2l5A8DUlV8,2809
392
- portal/templates/portal/teach/onboarding_print.html,sha256=uuc6HnplPF9XIB0u4I1FJih0gs0n77MLKo9SMbwvelk,8867
393
- portal/templates/portal/teach/onboarding_school.html,sha256=45--UvtrqJdPHgQrzKbJtcumtuB5zXKVnOTSin249RU,7741
394
- portal/templates/portal/teach/onboarding_students.html,sha256=amThqoSALBBxZ2b4W3k13EhgDIbWifyJZ0kAgvqhtbc,2404
494
+ portal/templates/portal/teach/base_registering.html,sha256=jpANyRQbsmWO404l9Mez91zolNP9ic1khWi27WW0FMQ,582
495
+ portal/templates/portal/teach/class.html,sha256=hNhOHAPiXFGQ4zcl5qMVgNiqS3_ONMAVIvxZ1D26riM,6762
496
+ portal/templates/portal/teach/dashboard.html,sha256=DcY6rcUjAT9h6VbSIA3mq4fyCIATIlWYDH2qMU1LySg,32697
497
+ portal/templates/portal/teach/invited.html,sha256=lTsydONG5se1E099KaRgsxGuG12qVHxFUL2X0E3HBmQ,4188
498
+ portal/templates/portal/teach/onboarding_classes.html,sha256=K212dunXG7eByyCg5lhv4ne-SniMz3kcKXrfianIY6g,2872
499
+ portal/templates/portal/teach/onboarding_print.html,sha256=4vD2ZDNRxERNdCNj3ZNXJWYAFBQPn9C7Pzsz5TZjZHw,8862
500
+ portal/templates/portal/teach/onboarding_school.html,sha256=EyvnQ13R4ovf3-152pCvjxJJIGeT47ygs0VU9ftvJlQ,2491
501
+ portal/templates/portal/teach/onboarding_students.html,sha256=09q658n7U7Vuzy_M_0P2xr2SqHxBlBnaPPoJ8tPhhwI,2399
395
502
  portal/templates/portal/teach/teacher_add_external_student.html,sha256=Lrrh4W3EwxxXKe45kcqzf2BcPxYo_mLahGIQMNJjX9E,2453
396
503
  portal/templates/portal/teach/teacher_added_external_student.html,sha256=f18RhP5PCE13yjBTrQTCwPLZnkcZb0bDUZ_Z2Oh3D3I,1189
397
- portal/templates/portal/teach/teacher_aimmo_dashboard.html,sha256=OYRDSaBWtUnlzoyC-DNk-yj-Fg6u_dKtk0A5gjf3lqQ,4427
398
- portal/templates/portal/teach/teacher_dismiss_students.html,sha256=6IsMWoTzJ8ElZuChRQmstolrT_qvJHeYDvtxsqZJ2Q4,4051
399
- portal/templates/portal/teach/teacher_edit_class.html,sha256=CYVwn0Hl9-kHvHFq-T61xdoQWuoV9Q_4fkPMnPl_MN0,4604
400
- portal/templates/portal/teach/teacher_edit_student.html,sha256=a4ZoSsIGYcCh5iPyPnFnsBjc9dh9Q1kgPQ1C1YnCqzw,2746
401
- portal/templates/portal/teach/teacher_move_all_classes.html,sha256=cN6vSvZaFFaepTKgtas-vekJAFF4niD9coAMQTyCZ6I,2202
504
+ portal/templates/portal/teach/teacher_dismiss_students.html,sha256=_5FvvtNjdYpZaM9lDzXrhhTjAD3NK_92kDYzh7xqowI,4283
505
+ portal/templates/portal/teach/teacher_edit_class.html,sha256=rXQ-ygveUym7d1aZv3rXPCuEuElmACJLI4TpvVbGzu8,14495
506
+ portal/templates/portal/teach/teacher_edit_student.html,sha256=JNF8JyoZh0J-oKH4dz7SGSxR0t7J1lbTGLvjhNbk2Rw,3237
507
+ portal/templates/portal/teach/teacher_move_all_classes.html,sha256=u9PNJHrKaIXd67vuwhgMmVXumgSnkKH4QKx1bd3O2VY,1780
402
508
  portal/templates/portal/teach/teacher_move_students.html,sha256=toBtjtpiCwvxo2FTJX5oZDzJ9batXdi7ty5AiCHnq4s,1591
403
- portal/templates/portal/teach/teacher_move_students_to_class.html,sha256=BhzC-MCKC8KPNYUihNkF1CbPeQmLMMwtTQEiX5XtkHE,3348
404
- portal/templates/portal/teach/teacher_resources.html,sha256=wZEfYSoL5G9dyrjak8P3h4D_C7cDg3A4rfHvCV0nfl8,2651
509
+ portal/templates/portal/teach/teacher_move_students_to_class.html,sha256=2oZ4oFS4ikojIEJiRaXnTZntD7UAlZRNc2CdRDkaCRA,3348
405
510
  portal/templates/two_factor/_base.html,sha256=FyfU2R9O4nteTNGt6qPtCBhdrFTp6kc-7Bqs_V6Xmc8,443
406
511
  portal/templates/two_factor/_wizard_actions.html,sha256=Xpv6DEEGQLuf_cCsRKUfJEjMLEmZGYUzXG239Yyt7GQ,355
407
512
  portal/templates/two_factor/_wizard_actions_enable_2fa.html,sha256=7R1mFQfipm2-6eNI64FlHszFY2vzlo6wuR52rGqkHro,358
@@ -411,134 +516,127 @@ portal/templates/two_factor/_wizard_forms_token.html,sha256=5JwDoRj_X1EM8RBISx6C
411
516
  portal/templates/two_factor/backup_token.html,sha256=5JwDoRj_X1EM8RBISx6Ckb_QZioHknwk_Xi04jUD19U,262
412
517
  portal/templates/two_factor/setup_wizard_token.html,sha256=Z0Et2sknJNLtFYvPnVZssG4zCsADuH77xllPIQb22rg,266
413
518
  portal/templates/two_factor/core/backup_tokens.html,sha256=u0T-LqtZtGRitlT6lwx_-U8DLPMQERRL2uh_rRL77rI,1442
414
- portal/templates/two_factor/core/login.html,sha256=BCM5SSepCC4J1RtuGNt6FJXwR8gwdCKxN5NTIl7dP2U,2723
415
- portal/templates/two_factor/core/setup.html,sha256=k5CIx8Xf9aQNR98c5BTTxOJhS3r1F8VVEBcCe47Zt8s,3145
519
+ portal/templates/two_factor/core/login.html,sha256=H7X8A4tBXxwt2bj6vKzg1CBzhsQopGsqZ3qJniGCeKw,2985
520
+ portal/templates/two_factor/core/setup.html,sha256=B4lg0htUt9JzmTTGG9jGm_1H04FICoMTRwZ-VyQk2E8,3025
416
521
  portal/templates/two_factor/core/setup_complete.html,sha256=aE67CIwicwn6W8-JwUqf-bSgje_9G_2Nm9XfnXU-Uhk,600
417
- portal/templates/two_factor/profile/disable.html,sha256=MHopVFLuhbYiJncErXLK1q4d14xfxZmimLmqHqt-iQg,1015
418
- portal/templates/two_factor/profile/profile.html,sha256=N5nlY4CV_OBSyQld7nUXBMVZfAsByZ7MRIGRjjfTWkE,1800
522
+ portal/templates/two_factor/profile/disable.html,sha256=fKIxqmB8RqN_DQrNMiZPTcSmoH-hChNcGWR0HKl1r-s,1010
523
+ portal/templates/two_factor/profile/profile.html,sha256=31dWbU-IL1ogn4mNvLYaPix4WQwmoP1Ho-UW66jXywI,2333
419
524
  portal/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
- portal/templatetags/app_tags.py,sha256=zfxc_LDBPgdq6EaP7ssQTAO5rliLsq_D9quTDuF47I4,4762
525
+ portal/templatetags/app_tags.py,sha256=SvOc4sPGNYpUtnJYxS80EmWYSE-C2mzmvxgRqUHet_o,3794
421
526
  portal/templatetags/banner_tags.py,sha256=7jk8avxiot0jMM1xWnUbs2QDsOg1v2aJDJA4p0-SJF0,823
422
527
  portal/templatetags/benefits_tags.py,sha256=8Bt37DdzMgNkHLqezZHv5aGIS8U4MwQxT1JDmK640OQ,1509
423
- portal/templatetags/card_list_tags.py,sha256=3yxZehGSm9DFAwbPGVnK9VkIc3iz6Og9JaDcUZtmAHY,789
424
- portal/templatetags/character_list_tags.py,sha256=czHgRrW4mvd9VEaGPXBz6HwsiT96tnxp7-jwA8Jxwp8,552
528
+ portal/templatetags/card_list_tags.py,sha256=cexDySSJhGeplyOxF_UYfCEWC_DzMTO0d7-JuZTiPlU,509
425
529
  portal/templatetags/future.py,sha256=fl2S86Y_dl2ilQPvrsJkyH80olPmWyM-k4WGpi0QgE8,165
426
530
  portal/templatetags/headline_tags.py,sha256=1KHOjcVZZTLfWnxpFAUoHhIndd3RbuD1hby0hANiu_w,420
427
531
  portal/templatetags/hero_card_tags.py,sha256=nwTyPvjuaoaeG14ck8q1nbb-wSsTd6Grz3DOUCPEOMc,939
428
532
  portal/templatetags/table_tags.py,sha256=eU8kkBky_Ouq_61-6-YVu5_1zH941KRJD_Wvs_TMXqE,448
429
533
  portal/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
430
- portal/tests/base_test.py,sha256=VbU5LZYh3gG83FHot515aLja0Qg6xsH47-x7malI1no,1159
431
- portal/tests/conftest.py,sha256=TRUERdKX64Yw9DEtdzDZUZSx-ORkHJrT5SqL-slDOj8,1726
432
- portal/tests/selenium_test_case.py,sha256=LhsryXUf7BSN7Mu_6VLvLePaa_6buPmVh0LZIa9STww,2042
433
- portal/tests/test_2FA.py,sha256=cpm4-Ut32h43SP57IPjnUiM2HJa1bqUQRNaK_9e-r3w,3713
434
- portal/tests/test_admin.py,sha256=ZD6kxraEPHKUnioWYp3JMK5f4NQ0f8zNHJ929E9aT9k,5238
435
- portal/tests/test_aimmo_dashboards.py,sha256=8SWJ04NuUqovmqpnlme2Ijl1Wrsd-QsGDF2hnvKyw0s,5355
436
- portal/tests/test_api.py,sha256=-RkAh9oQPRsilsBj7U0OzsHuT1Bb8kWFdcGCWV1ipsU,8851
437
- portal/tests/test_captcha_forms.py,sha256=lirhIli-sHovun8VdrF0he7KRFTAd8DMCpkJ8cQNotg,1015
438
- portal/tests/test_class.py,sha256=PUWF2POfGYESiRZrbsj8UGRuF8ECgYB3pdka6ShEVDg,7359
439
- portal/tests/test_emails.py,sha256=AQSjyRMWotvpv9n3iuBkoJcoBQmdXP3k8jLYR4c1GUg,7773
440
- portal/tests/test_independent_student.py,sha256=OtetghtwByWd-9OSewro_huRZSaJjdFhyXaizq20eIs,19651
441
- portal/tests/test_invite_teacher.py,sha256=LEwYui4BQMA2QaprbDP4og4szdQG5RvSgaLjk_laBbE,721
442
- portal/tests/test_location.py,sha256=txqsYERF8buYNohhmFz4mXlVL-Eb79vFP_IiUusGbjc,8194
443
- portal/tests/test_middleware.py,sha256=WBcnkYu69jxPfrWrrjPYL148Qdk3ZFgp1_uNCYkSjIQ,5499
444
- portal/tests/test_newsletter_footer.py,sha256=zzpmBM-ljWl2gOBOOXWK13qHlApD1YyO0tfJ85N73jk,806
445
- portal/tests/test_organisation.py,sha256=0pCPTYHfw5LdzM5gLRZN5dJRhB2z7hC9JSTBnqTbs7Y,14143
446
- portal/tests/test_partials.py,sha256=DKz7OtdvVorq9efJuShLaPCF9srF5zbkSGpl0RA-C_Q,4507
447
- portal/tests/test_ratelimit.py,sha256=pUutmiX_VduY_0APpCq1zlFW_Af8RItH4G_wPGf8jQc,10459
448
- portal/tests/test_school_student.py,sha256=95U-yHM9L78ImubDiTCSL9j3jw151s0bqmjKVOfeASs,7965
449
- portal/tests/test_security.py,sha256=-YOZ1jFPGINwTWhfKz5l_69l4FGXFpzu4ZU0I31VXO4,3796
450
- portal/tests/test_teacher.py,sha256=eGaTsyyp6otkM6VNem-lx-f6hq283jSSBI0L88GVOGs,26197
451
- portal/tests/test_teacher_student.py,sha256=oIkBy1sGbNujiaRMOD9-MUhgDFkV2-OLNP8PmZ7Es4k,20488
452
- portal/tests/test_views.py,sha256=bWlAxBGaLGvclIlDcgPwC54YCtFgmV_RKvwk5vW_Hqc,20269
534
+ portal/tests/base_test.py,sha256=SxoX3UMZ8rTDHqKJFUDaUpTvPS2w7qUdOXviv6wtS1o,1649
535
+ portal/tests/conftest.py,sha256=Rk4SOaFS22bFwNPRDOQHeNsm0We5BdEI52NTcfSlv1g,1297
536
+ portal/tests/selenium_test_case.py,sha256=eWUF_5SqkI178bkay5SUDa06r0QTIKUUT8jTAhrdbmk,469
537
+ portal/tests/test_2FA.py,sha256=0N4C9Ab3TvO9W__oQLCo-fLDH1Ho3CiGGsSg-2TiZUE,3597
538
+ portal/tests/test_admin.py,sha256=AM2dgv8j9m4L-SDO-sMA9tQvQH9GwRBrlwRG9OgqtfI,1451
539
+ portal/tests/test_api.py,sha256=Yo5s_nEGOoG35jA39yZ6nuDOUZvuCZ8o8o8XhZos61w,13819
540
+ portal/tests/test_captcha_forms.py,sha256=Yn_VYO_6jbq6AeKeLcv-YFL1YwXZpU0C3y7SK8fRUm4,1033
541
+ portal/tests/test_class.py,sha256=KBDHL4JdjiifY1l3-TLxOVtaCHtZrpWXU5y7xGtrq7s,18124
542
+ portal/tests/test_emails.py,sha256=pLr06j3uMBxP1raoZQWzUTBVFvsEDFtUh85J8OnqCwE,9238
543
+ portal/tests/test_global_forms.py,sha256=GIm_oSN4VsfaO--E2SMRu8CwVraan0UBj-_LE_tu8w0,833
544
+ portal/tests/test_helper_methods.py,sha256=-SQCDZm2XUtyXGEp0CHIb_SSC9CPD-XOSnpnY8QclHk,890
545
+ portal/tests/test_independent_student.py,sha256=NrRjTEr6V4WXpCE74N8LYNVocvLSvddkjuo3dYpfAZc,27245
546
+ portal/tests/test_invite_teacher.py,sha256=hynk2p63URQocCS8N6-IQnQWkdzggQ-1jGDuWcRSY_Y,14902
547
+ portal/tests/test_middleware.py,sha256=HV7AdgWyvgrtPyDMw3np5YDbUstFpKif7Qqw-e8gs5s,8258
548
+ portal/tests/test_organisation.py,sha256=1rTHTUhdDHMG1Xf4FXMvwOAuXWzFWTVUnryJyW9zOgs,8949
549
+ portal/tests/test_partials.py,sha256=cSLNLjdsriROjPxkZlM3HKD3CSKDuKgpaDIdL3fPyBs,1794
550
+ portal/tests/test_ratelimit.py,sha256=VaG76uRG_yDEDcn18IlMHnp85CnRR_K3h1--sif2E0M,19366
551
+ portal/tests/test_school_student.py,sha256=bFZwY4twaFHQLp0cltMq8cLNDZGgCHTZBCZHK0JcV8s,8604
552
+ portal/tests/test_security.py,sha256=FGrlRfnzi-Xx2_bn4fTZlYORKm7w_GhGkD3havvplwc,3239
553
+ portal/tests/test_teacher.py,sha256=8nvKZ9bIpuHRes3b9sFQhjgpk7Di22HtI_orJDMiGvc,29181
554
+ portal/tests/test_teacher_student.py,sha256=4Di29Lsymbmh6WxZ0FYpqZ4fMN8NqNMTXXOsii1dfW4,21624
555
+ portal/tests/test_views.py,sha256=Hv0rVOLmYivMqzJK1AQeRJ85YHTCRrlr12hcf1B83Bk,47566
453
556
  portal/tests/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
454
- portal/tests/migrations/test_migration_make_portaladmin_teacher.py,sha256=ATsa01OQfIfOSdYwOn4poQZS5jCBWgli-ohJXrV9Rzk,2617
557
+ portal/tests/migrations/test_migration_make_portaladmin_teacher.py,sha256=ekMRb6cU97oT0k9gCKW7IUB7oPuGmv4uWJCqInQN7x8,2589
455
558
  portal/tests/migrations/test_migration_preview_user_remove.py,sha256=K6D-FZT9YFEA8oMxHz9VTglVV6MZOTRYVlvwWwXc2vU,555
456
- portal/tests/migrations/test_migration_preview_users.py,sha256=bbVGjwNjfceELbap9hFNyYKEsuVf5_P8wik_GvmO7AY,639
559
+ portal/tests/migrations/test_migration_preview_users.py,sha256=5p0n19PH3Ggh2su5T4JcY4WtFnGkOYRG39VwY8x8_SM,597
457
560
  portal/tests/migrations/test_migration_remove_front_page_news.py,sha256=CU8K9zBFKpgQHkvntIvGZqZzzAGDBBdVi9B6Ymdwmww,391
458
- portal/tests/migrations/test_migration_remove_guardian.py,sha256=0hjXaZFcux-t5gASu14SSgFwVOW6j-tFTCjsJ6SwJ_I,403
459
- portal/tests/migrations/test_migration_use_common_models.py,sha256=XEDo5HIxra0Wm2mYKUyHUCP1DVuZroeA_ONJbBcWFLI,1045
460
- portal/tests/migrations/test_migration_verify_portaladmin.py,sha256=n_wryZ-uWQQ8x8-4rwaVr0yXc-QsdxeVA87KmdXw4HE,1089
561
+ portal/tests/migrations/test_migration_remove_guardian.py,sha256=cMMsdMul2bqvUxvcshbUu2aSItdIEoGtdhzGQ6Xhjjk,389
562
+ portal/tests/migrations/test_migration_use_common_models.py,sha256=5eZzfft5OY34mCGkup1_wcAyLxLtDoszNu86CswbS6I,1017
563
+ portal/tests/migrations/test_migration_verify_portaladmin.py,sha256=--abcZ2UNdbYRW9yo39h5TwxiUh81HH8B4hv45oB1_c,1075
461
564
  portal/tests/pageObjects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
462
565
  portal/tests/pageObjects/portal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
463
- portal/tests/pageObjects/portal/base_page.py,sha256=pgQMIS8orWf6QpT2cKCfVP-To7wT2gZGo4Q46EEV0Pw,4780
464
- portal/tests/pageObjects/portal/email_verification_needed_page.py,sha256=rQ-e1u4sS0nry9XDPfKzG4Oys5NE3TXlrffAfVWm1W4,459
566
+ portal/tests/pageObjects/portal/base_page.py,sha256=3ttx0xI6AeC7vs4xGtCako0hylrm3Wxx-tpWfaKNbqM,4239
567
+ portal/tests/pageObjects/portal/email_verification_needed_page.py,sha256=EK09-swjYwh64_vaBJl2-cAPn_Td7_Q5NTu4ZunCbRc,504
465
568
  portal/tests/pageObjects/portal/forbidden_page.py,sha256=O_m3dCAv6XtAz-Jps4SKXcHD_8MFCpAYBcopZH93FuY,235
466
- portal/tests/pageObjects/portal/game_page.py,sha256=Tz7hCTs1ntKYQil6_jy3BBX_ccWJ1Yl1cyg8P4Jrfy8,3672
467
- portal/tests/pageObjects/portal/home_page.py,sha256=2l8SITEnLu4EVjnvrdj_POR7K_ES-rT2HDCyyBsqT4E,1715
468
- portal/tests/pageObjects/portal/independent_login_page.py,sha256=cgn7jR2gotB4lTPihWtEg9Qj-lzef9U73n-Dt3L2VwM,1418
469
- portal/tests/pageObjects/portal/kurono_teacher_dashboard_page.py,sha256=J5Z7ed-4ZeHVQS1kkmVNAoDBPuC2TY1TFmQCb0huRN8,1419
470
- portal/tests/pageObjects/portal/password_reset_form_page.py,sha256=8OxXHk8sf09NTII5fRMDM82PRHLA5YzdH8xBahEjDEs,1106
569
+ portal/tests/pageObjects/portal/game_page.py,sha256=5YsufVd4P2QV1OGvfdOVkB3Iv40Oz3cqnLI1a-lFN7Q,3591
570
+ portal/tests/pageObjects/portal/home_page.py,sha256=Pd_FyWrqj0okhqIlnkrMpNnkXzhn--UCG5uoMsTQkB0,1719
571
+ portal/tests/pageObjects/portal/independent_login_page.py,sha256=mhSZqYSu-3BvuU0CPdSacLL5dh4VtTr2rtLCofL6-yo,1353
572
+ portal/tests/pageObjects/portal/password_reset_form_page.py,sha256=KkkS81JzH9cvQ5_zo7Lhv3GAFvVKUBTc-YOXO75M_fg,1662
573
+ portal/tests/pageObjects/portal/password_reset_page.py,sha256=QC1MEUuA8lnvTZsCDWQVlFStppSmwEIZt4ZfYeM2dR0,714
471
574
  portal/tests/pageObjects/portal/play_page.py,sha256=Pmoc1bVPgNvK9FwgJUtdGt93FfxCN-5qiA5xe41Vpz8,231
472
575
  portal/tests/pageObjects/portal/resources_page.py,sha256=jySycFvB6ZQknkS_dbIiXMFWR6YwmWqPeh9y0VS0LWM,246
473
- portal/tests/pageObjects/portal/signup_page.py,sha256=842r-mgIYuI2v48BG2fht6kfojMu4Y-oCB0USyn5H58,2959
474
- portal/tests/pageObjects/portal/student_login_class_code.py,sha256=aSLWHtPp3_-yflJ1tWWMOoHjjbquqRmOFx6uLVgdh7I,1059
475
- portal/tests/pageObjects/portal/student_login_page.py,sha256=CoueuNatAt7T_JDzmxjtgOrx3MxJfGifx1Zkb_6xuqw,1012
476
- portal/tests/pageObjects/portal/student_password_reset_form_page.py,sha256=F46OXTYU13bdc3lEESwaNUrl5Ku77DzHyn0Ezo9mKsQ,657
477
- portal/tests/pageObjects/portal/teacher_login_page.py,sha256=TJjZRtBjZeZZ6MA9U2ilIOBY1xVydlt33Opgge8tVbA,2002
478
- portal/tests/pageObjects/portal/teacher_password_reset_form_page.py,sha256=WO9WEGvxHxS2RCPAoxovc2B74suy5YBxlcJXeR2u7vw,696
576
+ portal/tests/pageObjects/portal/signup_page.py,sha256=6CSBPuo7-qfguj9Q60jUUKY6CufnkgyjCSGSW9Qou3M,3008
577
+ portal/tests/pageObjects/portal/student_login_class_code.py,sha256=2OALe2AvDpdIyK15jGiYzJvecNcYmbdbbEBRmBMAwLQ,1046
578
+ portal/tests/pageObjects/portal/student_login_page.py,sha256=0fXNTtn1USiX5YU7t5W8-EB4b9tvW6fE_EY82q7xweg,1012
579
+ portal/tests/pageObjects/portal/teacher_login_page.py,sha256=w5YP3n9V8c7-UuE4WuF3Yc1S1On4MiLWHoS0raUcTpg,1854
479
580
  portal/tests/pageObjects/portal/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
480
- portal/tests/pageObjects/portal/admin/admin_base_page.py,sha256=rJEj4wdiq2CvU-Ds_TtsFo6tP8D_mzNg1N9KE1qL9OI,1007
581
+ portal/tests/pageObjects/portal/admin/admin_base_page.py,sha256=oJrMiJgzZ7SQ4zxsd2O-okRTpHtSVwfz4-IPGVsmUiA,352
481
582
  portal/tests/pageObjects/portal/admin/admin_data_page.py,sha256=jle7SnHDgoYHsN34dOen1yOb_AYDuAM94BuqFi8YWYk,289
482
583
  portal/tests/pageObjects/portal/admin/admin_map_page.py,sha256=biqT5195OujxX3SavrErFtsOMItaJeOr27mcxskSI80,286
483
584
  portal/tests/pageObjects/portal/play/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
484
- portal/tests/pageObjects/portal/play/account_page.py,sha256=5uQghkQPovE0XsjtaJA0A9U7XbkgsEBVMy0F_dzPoLc,3113
485
- portal/tests/pageObjects/portal/play/dashboard_page.py,sha256=bY--xo7I80g7RZNd2RGhledB7bUzMJQCOuoTX9tnCVE,552
486
- portal/tests/pageObjects/portal/play/join_school_or_club_page.py,sha256=UzKEUXZNuCy1JyoggPON12A8JjV6qWogZh820E4bPVc,1255
487
- portal/tests/pageObjects/portal/play/play_base_page.py,sha256=hSEnBdjg4olbOA-ugPh3jZ0q7TTBDlpy5XWhckl_fHI,840
585
+ portal/tests/pageObjects/portal/play/account_page.py,sha256=WkRBWfmQ5xH12C2fG7G2JE0SjOQ496l490hV70PK1m0,3074
586
+ portal/tests/pageObjects/portal/play/dashboard_page.py,sha256=VQHavzZxPKuGwAC5kP6u1l1o9YZ2KR_dnQlUsvKvAX8,589
587
+ portal/tests/pageObjects/portal/play/join_school_or_club_page.py,sha256=DnB19oHLy_ObNHh-KIEkqi_3S8hTu0nYWLcWVdzA_TA,1257
588
+ portal/tests/pageObjects/portal/play/play_base_page.py,sha256=lmNVvPkKLoSC-HUMvD0PMz6Erbfm_Pk1c2CaBi0FdBk,888
488
589
  portal/tests/pageObjects/portal/teach/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
489
- portal/tests/pageObjects/portal/teach/add_independent_student_to_class_page.py,sha256=dRo4mo9cR7gyF0GBVj8IzOhJpuIRm5dgveJJ6NejydA,928
490
- portal/tests/pageObjects/portal/teach/added_independent_student_to_class_page.py,sha256=oNCVRxpf6GsJJOfhF7nOBd_Vo4BW26jO5wvuYpGJWJk,539
491
- portal/tests/pageObjects/portal/teach/class_page.py,sha256=O1JPgym40-qpmFfSkKrviItF-4Bbi77g27lIgYB0yGM,3094
492
- portal/tests/pageObjects/portal/teach/dashboard_page.py,sha256=3HtMqnyaaf1XukNHSlUoAwXMZgmI9_bok2GXbdRr_WY,7450
493
- portal/tests/pageObjects/portal/teach/dismiss_students_page.py,sha256=KyY8-ga9uh7_Zog77Oe5hSMOGCMwF5xMzudBkkAuT68,819
494
- portal/tests/pageObjects/portal/teach/edit_student_page.py,sha256=RAGLrHXxKH0Rlt2-kEGYMwFWhzFTyuSkedQleLP-WEo,1346
495
- portal/tests/pageObjects/portal/teach/move_class_page.py,sha256=dLT3u1KZXiZggQoY0CEAItiGCHXw4coEff1B0NvVYx0,1057
496
- portal/tests/pageObjects/portal/teach/move_classes_page.py,sha256=3xrnHvzqRv99V3CpkLQzzEqqTquv4wCw5zc3GnNrBz4,836
497
- portal/tests/pageObjects/portal/teach/move_students_disambiguate_page.py,sha256=sKyVrm2C4o_c9Djsg7QZcBbGOnz-rz46dtMTDATtHP0,626
498
- portal/tests/pageObjects/portal/teach/move_students_page.py,sha256=LD9RRTT59FZVAoMA7XKW2WuDlFd2JrgdVAtEeL4gsWk,1125
499
- portal/tests/pageObjects/portal/teach/onboarding_classes_page.py,sha256=tJKLjUJQxzv_QbHQavkYnctU-szyUQduZfjoFLvEC5U,998
500
- portal/tests/pageObjects/portal/teach/onboarding_organisation_page.py,sha256=IQ5SAKcyIOGIqVdwsGhpIoozKRA04TDEaxScwW4dhgg,2958
501
- portal/tests/pageObjects/portal/teach/onboarding_revoke_request_page.py,sha256=Ly93itOdFSOM7JsLtWGDlyEAg73UDBMKjO96BLrpoZ0,815
502
- portal/tests/pageObjects/portal/teach/onboarding_student_list_page.py,sha256=13bi2GXNV-IZe4H2uNDm0WzdNDcEW3GKKSFd2D0y6uM,1185
503
- portal/tests/pageObjects/portal/teach/onboarding_students_page.py,sha256=l5IRqHxgjTWSTzxfgYZDTehfy0t1D72YwfECwTcP2Qc,1681
504
- portal/tests/pageObjects/portal/teach/teach_base_page.py,sha256=GLHfG6u2vUbD5c5kOMO5WXw890JU7mqSMpWv3IbMWdo,1180
590
+ portal/tests/pageObjects/portal/teach/add_independent_student_to_class_page.py,sha256=P2iW94L7tiLfPz789GcQMyEvGf0QW5i4FUQ_EyVCQyY,931
591
+ portal/tests/pageObjects/portal/teach/added_independent_student_to_class_page.py,sha256=FnFfIref2Izu6Gquql_D5rvQ32_khulGM1LHnU0cHv8,585
592
+ portal/tests/pageObjects/portal/teach/class_page.py,sha256=4UuKJxEglZcprR5redmoeVuO3wf0tuwsn-glucS8hKc,3932
593
+ portal/tests/pageObjects/portal/teach/dashboard_page.py,sha256=rWtKgw6urggoIgKj10fj5IAh_X_C9MVPeLD7CWnTo1Y,6404
594
+ portal/tests/pageObjects/portal/teach/dismiss_students_page.py,sha256=qU3D3og4sxIbn4RAKYTaQNQxF0OKodbYzH5XA2detnE,882
595
+ portal/tests/pageObjects/portal/teach/edit_student_page.py,sha256=qv0B9tc2w1nmW21zu2ObhIhBYOAvF-HswqNZe39jkts,1399
596
+ portal/tests/pageObjects/portal/teach/move_class_page.py,sha256=GbhCrSfUSIm_NWmqgw4qQPH8tgNiTn6HNSmOyTQ_CJU,1032
597
+ portal/tests/pageObjects/portal/teach/move_classes_page.py,sha256=FsXJV8s9hvI5lf_LmnxrBrT0_C7LCUiZVqhMAF4VWJE,883
598
+ portal/tests/pageObjects/portal/teach/move_students_disambiguate_page.py,sha256=-seb1yylbDzGMLeUrlu2-SlTqTBU-Awa_kPV_EXpfpM,673
599
+ portal/tests/pageObjects/portal/teach/move_students_page.py,sha256=j_nt8e908Deq-d51tL88KHJfcRQkEJH2eQm6Hvz9Vfs,1078
600
+ portal/tests/pageObjects/portal/teach/onboarding_classes_page.py,sha256=rVKaJyDeRpSYkG86KB3QWQfgsxuL4Gftj-z19KYOmNM,1046
601
+ portal/tests/pageObjects/portal/teach/onboarding_organisation_page.py,sha256=Rm_zxQYn2STpgLPUyASnjG8Mdf5TvXeTIz8k5ve6-NM,1679
602
+ portal/tests/pageObjects/portal/teach/onboarding_student_list_page.py,sha256=28Vz8-IrKf0VoFE_KisAApkunfEE7lX1yj0-nxvKsDw,1147
603
+ portal/tests/pageObjects/portal/teach/onboarding_students_page.py,sha256=522Y79PfNV1PcR-Clf19KnNe2r3xf4sPPAUnroIzk80,971
604
+ portal/tests/pageObjects/portal/teach/teach_base_page.py,sha256=vnd5YO15baBgCkqyBkXGZpdjZRMRpeeN69dH-fG383A,1229
505
605
  portal/tests/snapshots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
506
- portal/tests/snapshots/snap_test_partials.py,sha256=YSvfrZSYsqsFdR3VDh88S70HoKhh12ZCrlJu9WY0TP8,8122
606
+ portal/tests/snapshots/snap_test_partials.py,sha256=ErYrQezzALwvP-vrOwOVyITG67WEUpcroSdYs414fek,2481
507
607
  portal/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
508
- portal/tests/utils/aimmo_games.py,sha256=Dyv0jdvCcUxc_j4vm93hKAh_anj9bOTDhvUvPK7qOPg,649
509
- portal/tests/utils/classes.py,sha256=lK69O0rKxfVcPgdgVSiBu1sVMRn7h4FnBI5y3J26iC4,183
510
- portal/tests/utils/messages.py,sha256=qZJVbY0UOrqo_07icfyKdRQjHiMSWnT1BGWgAlrF_Iw,1852
608
+ portal/tests/utils/classes.py,sha256=MEwGTKjPRYdWiVL1V6l28NpdvRUa06yRa6PPcHT6Trc,223
609
+ portal/tests/utils/messages.py,sha256=tUGzJzhZwvzmO9H3CPxpWUfi2aXTpAWfkDQ2u2T3LbA,1770
511
610
  portal/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
611
  portal/views/about.py,sha256=-muXy17UhxCSKkjnMAkSLXiCvT_pBPlf2ykTYr794dI,443
513
- portal/views/admin.py,sha256=4HH4HXdV_LO5O9Agz-cM0CgFexZcHAOSoNT0GWFWgFM,10001
514
- portal/views/api.py,sha256=9yVscbX2JLT-yvIg_p-Bfr6GvDqUCFzH4jFFM6YG4XU,6105
515
- portal/views/dotmailer.py,sha256=09BH-iO70fMem0f-u4S24WvxTzG7heSmuD3vO3UQBC0,2246
516
- portal/views/email.py,sha256=yQOMZUrg5QYN4LGGJjXFC_LPh7rqXaGh2H-DRwEzHV0,3842
517
- portal/views/home.py,sha256=3smmDg6dmuyUpB9FSlJelJlBLIHVsdAEMR4suuVw5g4,8402
518
- portal/views/organisation.py,sha256=3aLUbI6uWOOOA8t2faBTYrC6AM398QIFf_NHqSqgIxs,8540
612
+ portal/views/admin.py,sha256=4Xt3zEyQH7sUwQSrwuRtoCodWidjOzd7gJUwWU96pXY,957
613
+ portal/views/api.py,sha256=ZCRApdZi2F6Pqo9p3V6cctzeeskxyrlFZn2AcHGpGdQ,6932
614
+ portal/views/dotmailer.py,sha256=OH06IXuqqjhQbEie8g8y2ZY1oZvsCtNHhkQRLa-julg,2467
615
+ portal/views/email.py,sha256=V3wXRxIjeZ4OJBVqGCQrPn-GQWKZK1PCXbR1f2Zpa_4,2174
616
+ portal/views/google_analytics.py,sha256=cbNq9apCVpjoXCdovjrwo2jshWu5tUOItB-fTr-losw,769
617
+ portal/views/home.py,sha256=puQesHCyV1jMXNjgflf_QhJl7hoV2Y4z9UlkGtEiqTo,9266
618
+ portal/views/legal.py,sha256=USOEJy0Ry73cKReglKfMxgM3qWoKORUfVl_RkwPewQ4,342
619
+ portal/views/organisation.py,sha256=sPDbiM7hdtpF8GKyh_4n4VPl2a-WnAgnF4q9aSvQCVI,3341
519
620
  portal/views/play_landing_page.py,sha256=FFmjUFub3ZdlbMqkB8yX3jAImCzqrUqgb8AZcpKywZ4,308
520
- portal/views/privacy_policy.py,sha256=ZU0a08Wvcg6fS75rZFK4sgZW_4hxboIL-HcbfRvuf6o,195
521
- portal/views/registration.py,sha256=DXuuazS69IHgbHXJw4OPYqyG5OZPyswrrvNC2H9XwFs,7579
621
+ portal/views/registration.py,sha256=9cDKFVXVyJcMJBVZLwHoucMI4UwsOhbUxMdcxIEOixs,10889
522
622
  portal/views/teach.py,sha256=nzlyTcgq9ImAjnqrF3esqi212qBLH5Ww1LKE2gSjoRY,210
523
- portal/views/aimmo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
524
- portal/views/aimmo/dashboard.py,sha256=iqUpy4SjNr0mAXUFOgTlxUnRRbKq0mVvHX5DsWHOedA,4496
623
+ portal/views/cron/__init__.py,sha256=5rxXyhJmLOExRdrYZ1VJttTsyRIPRybzdftbUDwFByI,20
624
+ portal/views/cron/user.py,sha256=iKM_FOcSQvrXtRSZUtxSiMFD3M869JP5jvEfRWHLpvM,10731
525
625
  portal/views/login/__init__.py,sha256=xSCtyFPSI87BRUybBgqa86ekFEolX5gUDbBSfBUMTyI,399
526
- portal/views/login/independent_student.py,sha256=7BhRsM4zPdGWgnQuvYpdmyYVtz0SAbFE09nMJ8uvHyI,2686
527
- portal/views/login/student.py,sha256=q4IBdsngAKAW_D53FhrAsdgl5mvAclqxsp5zLqWwIco,3730
528
- portal/views/login/teacher.py,sha256=y5fSDtqzzghdjhZwBImISlMxnhGGqT-N1f3YUH3b1JA,2096
626
+ portal/views/login/independent_student.py,sha256=3dFULhwMAlX4VDrJl-Znril6a9M5xKBSHO1eWvujfS0,2662
627
+ portal/views/login/student.py,sha256=7UbJpjA4BsDY8bxGTFSdloNo50GbLiukaMr5rKvG6uo,5306
628
+ portal/views/login/teacher.py,sha256=kRugP7TPbZIb_BmYMYxFeugxZy8UbCry_q0_jJDJ_Mw,1975
529
629
  portal/views/student/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
530
- portal/views/student/edit_account_details.py,sha256=DF_YvqcWSZQr5UW2f6z_yVMzp2FsMTA2hc4qGTy7P2Q,6434
531
- portal/views/student/play.py,sha256=B1zruJp0p1f_P5yU5eh9EJqpLpKbBgwk7wvNldN11Lk,8361
630
+ portal/views/student/edit_account_details.py,sha256=Ba-3D_zzKbX5N01NG5qqBS0ud10B8D5SN8hOpLiGa9U,8468
631
+ portal/views/student/play.py,sha256=GMxk65bxWOe1Ds2kb6rvuOd1GoAtt5v_9AihLNXoUL0,8768
532
632
  portal/views/teacher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
533
- portal/views/teacher/dashboard.py,sha256=AWrOn8qgtuJtoSlFmrISm3TKRoXBdk925drl5zs9fVk,17694
534
- portal/views/teacher/teach.py,sha256=cv6AnibXgkQzXwIQmCeJZ_Uwrc2ZBS_aLccP0ad4AOQ,31814
535
- portal/views/teacher/teacher_resources.py,sha256=yuKoPDbOMvQ-KdtL6MMaHFfyVeqo5cwl3GOZBwT-Z2E,1513
633
+ portal/views/teacher/dashboard.py,sha256=Z5PGmyEmNSltCPMzADq2tUN66LHPVrdrtgdMgvPlrkk,28119
634
+ portal/views/teacher/teach.py,sha256=IXlvsJ_1pX7oSr2SMWdWWC7aCFDA38IgxAoHzy_HHp4,36850
536
635
  portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
537
- portal/views/two_factor/core.py,sha256=O_wcBeFqdPYSGNGv-pT_vbs5-Dj1Z-Jfkd6f9-E5yZI,760
636
+ portal/views/two_factor/core.py,sha256=Lk32z2SN2Pg0rRkK-N-LXMvXC1kKKsH3l692kiSDQ4E,964
538
637
  portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
539
- portal/views/two_factor/profile.py,sha256=tkl_ludo8arMtd5LKNmohM66vpC_YQiP-0nspTSJiJ4,383
540
- codeforlife_portal-5.33.5.dist-info/LICENSE.md,sha256=lHn8cNxWKml5CE08tXn1h2YJ3srcoGJYZ5swyuBvk4g,38929
541
- codeforlife_portal-5.33.5.dist-info/METADATA,sha256=J7KsiF8ATWNcG1eQxzFyUoSrxDiNp6QQHphOwEotQVk,1222
542
- codeforlife_portal-5.33.5.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
543
- codeforlife_portal-5.33.5.dist-info/top_level.txt,sha256=XKDSdCFsiX08n6ACRbqCAg1MVCDlMHA9IN0eGI45B80,30
544
- codeforlife_portal-5.33.5.dist-info/RECORD,,
638
+ portal/views/two_factor/profile.py,sha256=SHSg_xHccE5PtD-OfuOkYhREYz_er4bj5ro1RjJ88Yw,393
639
+ codeforlife_portal-8.9.9.dist-info/METADATA,sha256=cYluzsGAwwkG3Kbj6IsxmBjBDkudUB8GmK4q439PA8g,14322
640
+ codeforlife_portal-8.9.9.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
641
+ codeforlife_portal-8.9.9.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
642
+ codeforlife_portal-8.9.9.dist-info/RECORD,,