codeforlife-portal 6.46.0__py2.py3-none-any.whl → 7.0.0__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.

Potentially problematic release.


This version of codeforlife-portal might be problematic. Click here for more details.

Files changed (68) hide show
  1. cfl_common/common/csp_config.py +0 -2
  2. cfl_common/common/migrations/0005_add_worksheets.py +1 -5
  3. cfl_common/common/migrations/0007_add_pdf_names_to_first_two_worksheets.py +1 -5
  4. cfl_common/common/migrations/0053_clean_class_data.py +24 -0
  5. cfl_common/common/migrations/0054_delete_aimmo_models.py +20 -0
  6. cfl_common/common/models.py +0 -25
  7. {codeforlife_portal-6.46.0.dist-info → codeforlife_portal-7.0.0.dist-info}/METADATA +3 -4
  8. {codeforlife_portal-6.46.0.dist-info → codeforlife_portal-7.0.0.dist-info}/RECORD +43 -66
  9. example_project/portal_test_settings.py +0 -1
  10. example_project/settings.py +0 -1
  11. example_project/urls.py +0 -2
  12. portal/__init__.py +1 -1
  13. portal/static/portal/sass/partials/_banners.scss +0 -177
  14. portal/static/portal/sass/partials/_buttons.scss +0 -12
  15. portal/static/portal/sass/partials/_grids.scss +0 -53
  16. portal/static/portal/sass/partials/_text.scss +1 -10
  17. portal/static/portal/sass/styles.scss +0 -1
  18. portal/strings/play.py +1 -2
  19. portal/strings/teacher_resources.py +0 -10
  20. portal/templates/portal/about.html +91 -60
  21. portal/templates/portal/contribute.html +45 -49
  22. portal/templates/portal/partials/header.html +0 -12
  23. portal/templates/portal/play/independent_student_dashboard.html +12 -25
  24. portal/templates/portal/play/student_dashboard.html +16 -34
  25. portal/templates/portal/play.html +36 -49
  26. portal/templates/portal/register.html +1 -1
  27. portal/templates/portal/teach.html +37 -55
  28. portal/templates/portal/ten_year_map.html +9 -9
  29. portal/templatetags/app_tags.py +13 -28
  30. portal/tests/conftest.py +4 -16
  31. portal/tests/pageObjects/portal/base_page.py +20 -20
  32. portal/tests/snapshots/snap_test_partials.py +0 -452
  33. portal/tests/test_class.py +213 -45
  34. portal/tests/test_independent_student.py +0 -9
  35. portal/tests/test_partials.py +6 -56
  36. portal/tests/test_teacher.py +221 -285
  37. portal/tests/test_views.py +156 -73
  38. portal/urls.py +23 -20
  39. portal/views/student/play.py +36 -25
  40. portal/views/teacher/teach.py +0 -5
  41. cfl_common/common/tests/test_migration_aimmo_characters.py +0 -29
  42. portal/forms/add_game.py +0 -29
  43. portal/static/portal/img/kurono_hero.jpg +0 -0
  44. portal/static/portal/img/kurono_landing_hero.png +0 -0
  45. portal/static/portal/img/kurono_logo.svg +0 -1
  46. portal/static/portal/img/kurono_logo_grey_background.svg +0 -1
  47. portal/static/portal/img/kurono_logo_mark.svg +0 -1
  48. portal/static/portal/img/kurono_resources_hero.jpg +0 -0
  49. portal/static/portal/img/kurono_story.png +0 -0
  50. portal/static/portal/img/thumbnail_educate_kurono.png +0 -0
  51. portal/static/portal/img/thumbnail_kurono_resources.png +0 -0
  52. portal/static/portal/img/thumbnail_play_kurono.png +0 -0
  53. portal/static/portal/js/aimmoGame.js +0 -106
  54. portal/static/portal/sass/partials/_videos.scss +0 -10
  55. portal/static/portal/video/aimmo_play_now_background_video.mp4 +0 -0
  56. portal/strings/student_aimmo_dashboard.py +0 -6
  57. portal/templates/portal/partials/aimmo_games_table.html +0 -89
  58. portal/templates/portal/play/student_aimmo_dashboard.html +0 -46
  59. portal/templates/portal/teach/teacher_aimmo_dashboard.html +0 -95
  60. portal/templatetags/character_list_tags.py +0 -16
  61. portal/tests/pageObjects/portal/kurono_teacher_dashboard_page.py +0 -49
  62. portal/tests/test_aimmo_dashboards.py +0 -206
  63. portal/tests/utils/aimmo_games.py +0 -30
  64. portal/views/aimmo/__init__.py +0 -0
  65. portal/views/aimmo/dashboard.py +0 -105
  66. {codeforlife_portal-6.46.0.dist-info → codeforlife_portal-7.0.0.dist-info}/LICENSE.md +0 -0
  67. {codeforlife_portal-6.46.0.dist-info → codeforlife_portal-7.0.0.dist-info}/WHEEL +0 -0
  68. {codeforlife_portal-6.46.0.dist-info → codeforlife_portal-7.0.0.dist-info}/top_level.txt +0 -0
@@ -15,8 +15,6 @@ CSP_CONNECT_SRC = (
15
15
  "https://www.google-analytics.com/",
16
16
  "https://pyodide-cdn2.iodide.io/v0.15.0/full/",
17
17
  "https://crowdin.com/",
18
- f"wss://{MODULE_NAME}-aimmo.codeforlife.education/",
19
- f"https://{MODULE_NAME}-aimmo.codeforlife.education/",
20
18
  )
21
19
  CSP_FONT_SRC = ("'self'", "https://fonts.gstatic.com/", "https://fonts.googleapis.com/", "https://use.typekit.net/")
22
20
  CSP_SCRIPT_SRC = (
@@ -1,12 +1,8 @@
1
- from common.helpers.data_migration_loader import load_data_from_file
2
1
  from django.db import migrations
3
2
 
4
3
 
5
4
  class Migration(migrations.Migration):
6
5
 
7
- dependencies = [
8
- ("common", "0004_add_aimmocharacters"),
9
- ("aimmo", "0020_add_info_to_worksheet"),
10
- ]
6
+ dependencies = [("common", "0004_add_aimmocharacters")]
11
7
 
12
8
  operations = [migrations.RunPython(migrations.RunPython.noop, reverse_code=migrations.RunPython.noop)]
@@ -1,12 +1,8 @@
1
- from common.helpers.data_migration_loader import load_data_from_file
2
1
  from django.db import migrations
3
2
 
4
3
 
5
4
  class Migration(migrations.Migration):
6
5
 
7
- dependencies = [
8
- ("common", "0006_update_aimmo_character_image_path"),
9
- ("aimmo", "0021_add_pdf_names_to_worksheet"),
10
- ]
6
+ dependencies = [("common", "0006_update_aimmo_character_image_path")]
11
7
 
12
8
  operations = [migrations.RunPython(migrations.RunPython.noop, reverse_code=migrations.RunPython.noop)]
@@ -0,0 +1,24 @@
1
+ from datetime import date
2
+
3
+ from django.apps.registry import Apps
4
+ from django.db import migrations, models
5
+
6
+ def clean_early_class_data(apps: Apps, *args):
7
+ Class = apps.get_model("common", "Class")
8
+
9
+ Class.objects.filter(
10
+ creation_time__date__lt = date(2021, 10, 15)
11
+ ).update(creation_time = None)
12
+
13
+ class Migration(migrations.Migration):
14
+
15
+ dependencies = [
16
+ ("common", "0052_add_cse_fields")
17
+ ]
18
+
19
+ operations = [
20
+ migrations.RunPython(
21
+ code=clean_early_class_data,
22
+ reverse_code=migrations.RunPython.noop,
23
+ ),
24
+ ]
@@ -0,0 +1,20 @@
1
+ # Generated by Django 3.2.25 on 2024-07-31 00:13
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('common', '0053_clean_class_data'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.DeleteModel(
14
+ name='AimmoCharacter',
15
+ ),
16
+ migrations.RemoveField(
17
+ model_name='userprofile',
18
+ name='aimmo_badges',
19
+ ),
20
+ ]
@@ -16,14 +16,6 @@ class UserProfile(models.Model):
16
16
  developer = models.BooleanField(default=False)
17
17
  is_verified = models.BooleanField(default=False)
18
18
 
19
- # Holds the user's earned kurono badges. This information has to be on the
20
- # UserProfile as the Avatar objects are deleted every time the Game gets
21
- # deleted.
22
- # This is a string showing which badges in which worksheets have been
23
- # earned. The format is "X:Y" where X is the worksheet ID and Y is the
24
- # badge ID. This repeats for all badges and each pair is comma-separated.
25
- aimmo_badges = models.CharField(max_length=200, null=True, blank=True)
26
-
27
19
  # TODO: Make not nullable once data has been transferred
28
20
  first_name = models.CharField(max_length=200, null=True, blank=True)
29
21
  _first_name = models.BinaryField(null=True, blank=True)
@@ -387,23 +379,6 @@ def stripStudentName(name):
387
379
  return re.sub("[ \t]+", " ", name.strip())
388
380
 
389
381
 
390
- class AimmoCharacterManager(models.Manager):
391
- def sorted(self):
392
- return self.get_queryset().order_by("sort_order")
393
-
394
-
395
- class AimmoCharacter(models.Model):
396
- name = models.CharField(max_length=255)
397
- description = models.TextField()
398
- image_path = models.CharField(max_length=255)
399
- sort_order = models.IntegerField()
400
- alt = models.CharField(max_length=255, null=True)
401
- objects = AimmoCharacterManager()
402
-
403
- def __str__(self) -> str:
404
- return self.name
405
-
406
-
407
382
  # -----------------------------------------------------------------------
408
383
  # Below are models used for data tracking and maintenance
409
384
  # -----------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codeforlife-portal
3
- Version: 6.46.0
3
+ Version: 7.0.0
4
4
  Classifier: Programming Language :: Python
5
5
  Classifier: Programming Language :: Python :: 3.8
6
6
  Classifier: Framework :: Django
@@ -13,8 +13,7 @@ Requires-Dist: django-pipeline ==2.0.8
13
13
  Requires-Dist: django-recaptcha ==2.0.6
14
14
  Requires-Dist: pyyaml ==5.4.1
15
15
  Requires-Dist: importlib-metadata ==4.13.0
16
- Requires-Dist: rapid-router >=4
17
- Requires-Dist: aimmo >=2
16
+ Requires-Dist: rapid-router >=6
18
17
  Requires-Dist: reportlab ==3.6.13
19
18
  Requires-Dist: django-formtools ==2.2
20
19
  Requires-Dist: django-otp ==1.0.2
@@ -25,7 +24,7 @@ Requires-Dist: django-classy-tags ==2.0.0
25
24
  Requires-Dist: libsass ==0.23.0
26
25
  Requires-Dist: phonenumbers ==8.12.12
27
26
  Requires-Dist: more-itertools ==8.7.0
28
- Requires-Dist: cfl-common ==6.46.0
27
+ Requires-Dist: cfl-common ==7.0.0
29
28
  Requires-Dist: django-ratelimit ==3.0.1
30
29
  Requires-Dist: django-preventconcurrentlogins ==0.8.2
31
30
  Requires-Dist: django-csp ==3.7
@@ -4,9 +4,9 @@ cfl_common/common/__init__.py,sha256=XlncBOpKp_gekbKH7Y_i6yu1qy5tJc3Y8sn8cDy-Vgk
4
4
  cfl_common/common/app_settings.py,sha256=x2ROLY5Xl5LgqjxyTiChZvQorZYUXpFzEkaLsjh8UHo,2586
5
5
  cfl_common/common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
6
6
  cfl_common/common/context_processors.py,sha256=X0iuX5qu9kMWa7q8osE9CJ2LgM7pPOYQFGdjm8X3rk0,236
7
- cfl_common/common/csp_config.py,sha256=sZT6s9zMT5FFIqNODsURT0ifxbDgXpDlki8UxaBq2iE,2940
7
+ cfl_common/common/csp_config.py,sha256=9ECOLnp60ENRFAYEEIoYOMhqQzLgfKA-wkWxeUBwDrQ,2824
8
8
  cfl_common/common/mail.py,sha256=Lmn7CepceKw1UqxjxTR_24fo7izecw0ihBJ3W_9tcco,6394
9
- cfl_common/common/models.py,sha256=1e_3zHf8h_K812-2cQymRLZAKoA73_5-t4LQGPQlifE,16946
9
+ cfl_common/common/models.py,sha256=FB34xkpmTpYkvypgrDHv3QSRWnds69JnjHFw0X0fjrI,15989
10
10
  cfl_common/common/permissions.py,sha256=gC6RQGZI2QDBbglx-xr_V4Hl2C2nf1V2_uPmEuoEcJo,2416
11
11
  cfl_common/common/utils.py,sha256=Nn2Npao9Uqad5Js_IdHwF-ow6wrPNpBLW4AO1LxoEBc,1727
12
12
  cfl_common/common/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -18,9 +18,9 @@ cfl_common/common/migrations/0001_initial.py,sha256=Y2kt2xmdCbrmDXCgqmhXeacicNg2
18
18
  cfl_common/common/migrations/0002_emailverification.py,sha256=csWNasKNB5HQfrg5Owa6ovwx9f-v3ved-1B6QSu2_3s,2094
19
19
  cfl_common/common/migrations/0003_aimmocharacter.py,sha256=ZS_-sJCVUnFdhDjyH75P5bryg5QKHPDfe-SXXK7k9KM,922
20
20
  cfl_common/common/migrations/0004_add_aimmocharacters.py,sha256=543WKEphsvdKo8Z7f8wPgZHGxRPWMdo288O5_7edawo,430
21
- cfl_common/common/migrations/0005_add_worksheets.py,sha256=lIfjiNEOGiGEsrJJCN-BVaOcyidlT3s9uhwpCfyHFV0,376
21
+ cfl_common/common/migrations/0005_add_worksheets.py,sha256=gM-5yJQ-0r3Plrv__agri5JD5f5pqRf-fuvxYg9RrQw,243
22
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=dQBI3VzqS8CpnpmQfXx_sNVDynhQL-KxwJNl38cgJi4,395
23
+ cfl_common/common/migrations/0007_add_pdf_names_to_first_two_worksheets.py,sha256=XxAVaQpwwst2L5Bh6EuNBwA_jtc04ULwtDY6SNMM46k,257
24
24
  cfl_common/common/migrations/0008_unlock_worksheet_3.py,sha256=WzTdGbSjYNlyxNLVRMPWOhNBkR5e-lRewu0xBy5d69c,345
25
25
  cfl_common/common/migrations/0009_add_blocked_time_to_teacher_and_student.py,sha256=hdff316HkAVCB0EW61qbR2lxwkxSTsD7OBK66PLBUUQ,599
26
26
  cfl_common/common/migrations/0010_remove_teacher_title.py,sha256=dMX-wgD-nzRx2AmrvuLMtb1X7TIv1gZ9icacFgI1LNc,396
@@ -66,9 +66,10 @@ cfl_common/common/migrations/0049_anonymise_orphan_users.py,sha256=tw9xMrDMRPDCO
66
66
  cfl_common/common/migrations/0050_anonymise_orphan_schools.py,sha256=_KCkSkoObTpLplX6gXvlV3JXpddn7neyJEa8YKFWeW0,869
67
67
  cfl_common/common/migrations/0051_verify_returning_users.py,sha256=WMpoTA24WgimLEVmKXuPqZ3aZdClRhY5vuGtYseeJp0,758
68
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
69
71
  cfl_common/common/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
72
  cfl_common/common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- cfl_common/common/tests/test_migration_aimmo_characters.py,sha256=pdCCsns90Qz05QqmaBUYK18jKe9aP-symtZjkKG4rag,1079
72
73
  cfl_common/common/tests/test_migration_anonymise_orphan_schools.py,sha256=wJRyPgRvBsXLSCFdbBi2GXjgSgDbKUTRiM31CXIvpqs,1194
73
74
  cfl_common/common/tests/test_migration_anonymise_orphan_users.py,sha256=MGuI8YVvUReXxjK36i2n-vkC677I8HqVHph778zL34Q,1368
74
75
  cfl_common/common/tests/test_migration_blocked_time.py,sha256=z9WxMTrZTKFieLfbQwkoOZozziPHmWVk6T4FysLeHGk,590
@@ -102,11 +103,11 @@ deploy/static/robots.txt,sha256=5cS4RITuQhbpNzvpk4AyDCXdlIBfmfCoBYRvCHY2VT8,24
102
103
  deploy/templates/deploy/csrf_failure.html,sha256=-pBRPn4Y7nUdYHGpTHCokT9Boi-isuwuivF8V2K1SgM,412
103
104
  example_project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
105
  example_project/manage.py,sha256=EUgybZlZ7xk2Zf2KCwBbK_z7gf7Ifqs0_bl4Kijhdgo,242
105
- example_project/portal_test_settings.py,sha256=frp_XMpd-z1g3VFCRxB2w7AaFW2ivRVKn0bAR4LM628,7260
106
- example_project/settings.py,sha256=XRZZvASoIl5a9xe3masTq_CUBleuJq9ByHx8f_e2UFc,5613
107
- example_project/urls.py,sha256=OVeRQ-TCpzHISBRuzqD0yd3ewF7H5U3c-f2p2alfUD0,430
106
+ example_project/portal_test_settings.py,sha256=NfLY72mt1LR2c0_kxF-Yg5pCm2vQ52eceBMn573wW0Y,7247
107
+ example_project/settings.py,sha256=vOGZyxsWfV_G28X3XnSGSE65BUSU7mIGKOd0Z4mSkaE,5600
108
+ example_project/urls.py,sha256=6nYfzu2pSVAjkAm2ZyzniZl-VzxYuDyaAZTObVX7Jjg,350
108
109
  example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
109
- portal/__init__.py,sha256=CfobRHVT7BBvKrmspREOmE8NuLFEy6RaHzzbwWz6wvs,23
110
+ portal/__init__.py,sha256=VgMOOqsYbyb60I1RmlZpqwqQ0C0IyT3R0c8_xX4pRGM,22
110
111
  portal/admin.py,sha256=on1-zNRnZvf2cwBN6GVRVYRhkaksrCgfzX8XPWtkvz8,6062
111
112
  portal/app_settings.py,sha256=DhWLQOwM0zVOXE3O5TNKbMM9K6agfLuCsHOdr1J7xEI,651
112
113
  portal/backends.py,sha256=2Dss6_WoQwPuDzJUF1yEaTQTNG4eUrD12ujJQ5cp5Tc,812
@@ -114,10 +115,9 @@ portal/beta.py,sha256=0TCC-9_KZoM1nuzJ9FiuKR5n9JITdMYenHGQtRvn9UU,255
114
115
  portal/context_processors.py,sha256=1TrUZqnMqGa5f7ERph9EpBqojSMJvOrcpnJzTdeCLDI,133
115
116
  portal/handlers.py,sha256=gF99OfQrGcIGDnUyONhvylZNU8sl6XHYEurwu0fuiss,422
116
117
  portal/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- portal/urls.py,sha256=0u6pmeG3Emu38Af1HiROyHJJnkoEhSEpnEsSpO1Ztsk,17392
118
+ portal/urls.py,sha256=8HzxA7poBLVR_UyAYlWb7rGzdW-NVT9_tHOPIIuEeZE,17063
118
119
  portal/wsgi.py,sha256=3yRcNxBQG30NhzrVi93bX-DrbXtsIQBc70HiW5wbOyE,401
119
120
  portal/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- portal/forms/add_game.py,sha256=Z9pjNiAU3W2HthSsbz_OWzl2RuLpZ0GtA6Xe1tg7H5I,1008
121
121
  portal/forms/admin.py,sha256=Cdl8-wvasAzvMfgUlFYzQjYeuyC7gIsSiy8V_-jMp7w,2080
122
122
  portal/forms/dotmailer.py,sha256=McD9_u8yxUfE7PSVG3MPMilRJtx9GTe9QsNzDDV3uuI,761
123
123
  portal/forms/error_messages.py,sha256=8d3z_3e2L-5zwj5hFhnUByC5k2CEpIVVuJg2nYkCUQ8,148
@@ -211,13 +211,6 @@ portal/static/portal/img/icon_step_by_step.png,sha256=WBOXt3VtVHXpYX4Q9kzlhJBxgW
211
211
  portal/static/portal/img/icon_tracking.png,sha256=vXVOsKNh6eJ_HmaGqlzkdzBQLd1aBdoQ-_sMXRtm8Wg,761
212
212
  portal/static/portal/img/icon_uk_flag.png,sha256=j2fipz-91fLkspJF8EGwMvfB0LkbcPNJF-G0AttHohc,6052
213
213
  portal/static/portal/img/kirsty.png,sha256=0uxE4JV4C364Ueqn3a_nE7BHMKgDJZ5YhPOB2glLMAQ,31240
214
- portal/static/portal/img/kurono_hero.jpg,sha256=jxSWa2Fqq5kOSlSw-XPJk213BCdeQg02aLQRw0GnBR0,80736
215
- portal/static/portal/img/kurono_landing_hero.png,sha256=7hf5lyeJT0LQX-lOYWkmU5gAxH5niJ8tdbBN_p-Szhw,254014
216
- portal/static/portal/img/kurono_logo.svg,sha256=MwgrxHFfBhpZkfNWMydzVe9J4detk94Baw8BQz6-opI,2930
217
- portal/static/portal/img/kurono_logo_grey_background.svg,sha256=kv8ss2u29IeL1Pyz_4gaZn3_sRJL1Rh2Cbs4H4LQgBc,3017
218
- portal/static/portal/img/kurono_logo_mark.svg,sha256=pqyBT2VwoXJOp_n3bdui1kVA1uw4Y8ROHnnWgKrX3x0,1494
219
- portal/static/portal/img/kurono_resources_hero.jpg,sha256=aggqujljpNbly6m-0y8VY_C3Fmlhb1jf4iwgCW6FCaE,119585
220
- portal/static/portal/img/kurono_story.png,sha256=mlKMWVKceOWt5YAOf1P7JdJJ8REawY0hMIJsfsUqp4s,737438
221
214
  portal/static/portal/img/logo_cfl.png,sha256=COKEGSkoUFxI5sVcb3GCAOtmxoQbeZJ2EEwVXmkF3pc,28845
222
215
  portal/static/portal/img/logo_cfl_powered.svg,sha256=2mj_Qjaxy4bWKtb1QEL9aUbcToGMiYUgLH6DBzqtFKQ,22353
223
216
  portal/static/portal/img/logo_cfl_reminder_cards.jpg,sha256=_jVvWRCbROrz0q2AhN6gnPGwU6FAyhfLO6bKquuIljQ,261670
@@ -254,12 +247,9 @@ portal/static/portal/img/sharon_harrison.jpg,sha256=VBPA3nuzP8k8R8MW3-kHK_TFjax8
254
247
  portal/static/portal/img/sian.png,sha256=9-j5qxJPHXPto8a06E6iYU-kbUCbAIY3UhJU0Egw6ho,116116
255
248
  portal/static/portal/img/teaching_resources_hero.jpg,sha256=tDJpcTnQ_om0aVIJBXHtdjRSuGkuIcl1N__lWYVvNbo,60671
256
249
  portal/static/portal/img/ten_year_map_pin.svg,sha256=7hOOyo7Qb1SIBJ_QmpxP-2cS6qr0OleohWhAisAXzv4,348
257
- portal/static/portal/img/thumbnail_educate_kurono.png,sha256=wnakgkgLkE4DYEha6Rpi1JPz4wdA3uiIEU8kBe1makk,68282
258
250
  portal/static/portal/img/thumbnail_educate_rapid_router.png,sha256=7_iqzffvVJZGPfwXmwPurLCWpiXYP9RochU9g5munok,67570
259
251
  portal/static/portal/img/thumbnail_educate_resources.png,sha256=kWmhGxkGiJBFB75ytdTHCg7Y7M_GBjhe7UgA9kIG0AE,37070
260
252
  portal/static/portal/img/thumbnail_intro_c4l.jpg,sha256=stFXCm66zSD1rX5QVuW8ppkZjl0E_9zYJ3K13Sfib_0,34617
261
- portal/static/portal/img/thumbnail_kurono_resources.png,sha256=YzLV2-ooszKXWKAxzzPhzzDW2F3dNiCGd8wzB56ZBkY,37516
262
- portal/static/portal/img/thumbnail_play_kurono.png,sha256=qo6_okYma54BjGH9rjrSxhzLVMMh3pKgrQc-82WVL4A,69758
263
253
  portal/static/portal/img/thumbnail_play_rapid_router.png,sha256=PcgUPG7zmkjPlsw0YIBewxNDSjwRtHPZD1kIDEs9YaU,20989
264
254
  portal/static/portal/img/twitter.png,sha256=QD2ckrIWgV6WpuV0R7p717_T9a-DibzIxXsqHbvDR48,15969
265
255
  portal/static/portal/img/universities.png,sha256=y015DeiJzJyIAEC-qIGY5HgsXJDr_DhUXOx8_2xbxf0,145961
@@ -270,7 +260,6 @@ portal/static/portal/img/colorboxImages/controls.png,sha256=zQowXWoW0otiA3-wj5sG
270
260
  portal/static/portal/img/colorboxImages/loading.gif,sha256=NO9VJC_CTJTweQkCwJYB0ijpB0v3ofiMTeajm0DOOPo,9427
271
261
  portal/static/portal/img/colorboxImages/loading_background.png,sha256=lZ7Mxrcb7-5nZXOS5_Ir4myrQISDZX-zKiGP7W_-AWs,157
272
262
  portal/static/portal/img/colorboxImages/overlay.png,sha256=qy73bf_q55z4kktuaTaMhVrxDzVRCIjgmBQ5cbOmLtE,182
273
- portal/static/portal/js/aimmoGame.js,sha256=WGnksaYWUhF5p0Z4xqZKsGNGkwDZ3RuErOn1biQ1oiU,3004
274
263
  portal/static/portal/js/bootstrap.min.js,sha256=nuL8_2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL-1ev4,39680
275
264
  portal/static/portal/js/carouselCards.js,sha256=IByMjKk37E-TCc3vx9nfF-IJWl9BOFPNVqf4WuD75GI,778
276
265
  portal/static/portal/js/common.js,sha256=_gNQ7eIgxiw8gviolmShD0aU3TAKDwIVUGGg9wznDAc,6499
@@ -300,7 +289,7 @@ portal/static/portal/js/lib/modernizr-build.js,sha256=pGqgo-dxjy43hd1yL75ivaH9xW
300
289
  portal/static/portal/js/lib/papaparse.min.js,sha256=tDf9H6Pr0oXtuyG0hGdMQ5OU5EuM5IK8WMK2iTbdvd0,18829
301
290
  portal/static/portal/sass/bootstrap.scss,sha256=q_gMkiqFVJBrMKNr0kXaP7y4caychGNGkyEyEUUFN3k,2144
302
291
  portal/static/portal/sass/colorbox.scss,sha256=ZSilgJLSC_ZIMp2Wb5zJvwR-cyRbmcDPy93Kt78VbIM,3790
303
- portal/static/portal/sass/styles.scss,sha256=lu_uj7XDOTJ9cDjpd6kbENSKbGMUK7Qdx7jGV817UA8,807
292
+ portal/static/portal/sass/styles.scss,sha256=gTv8yjfzrN1acywPBkS9b49648LUGN4xvkwqAK-gAvc,780
304
293
  portal/static/portal/sass/bootstrap/_alerts.scss,sha256=C5kv4Wt7RFE3ESibknOeFzbE79it0qfwV59y_yaeImE,1546
305
294
  portal/static/portal/sass/bootstrap/_badges.scss,sha256=lHaAb3wWe4sh5kwNTsni1f0PCkNXBTfcVbakJTzoAYY,1228
306
295
  portal/static/portal/sass/bootstrap/_breadcrumbs.scss,sha256=CL0rlyGosT73v7DLy06j9YRfK3b9EtUxupKrdbfjupc,700
@@ -405,24 +394,22 @@ portal/static/portal/sass/modules/_homepage_constants.scss,sha256=GfSppJtWNxufu4
405
394
  portal/static/portal/sass/modules/_levels.scss,sha256=dGSpaNHkyuSY7b1QbFILzirx2X1EKjUgGGqlL2KuEMs,105
406
395
  portal/static/portal/sass/modules/_mixins.scss,sha256=w04YU6nRK9P4GrSjS0fcy9BsEydko8Jd8ARgJpD1164,1833
407
396
  portal/static/portal/sass/modules/_spacing.scss,sha256=WHBcd8ZSl4UHqPAOmW_JLt_MOfww44Hj8W42dWOpTO8,31
408
- portal/static/portal/sass/partials/_banners.scss,sha256=lmL29GMTtxF1RXpmC11TR0zxQaFU8uNmdGsuMCujRBE,8877
397
+ portal/static/portal/sass/partials/_banners.scss,sha256=Q13Mybarzkq0GWvhStiqIuK_bgKku8wkqC6qCFIruEg,5658
409
398
  portal/static/portal/sass/partials/_base.scss,sha256=cUvskrzNXLA-Xg1EgpL-S0wTWDnRn86AcdMbE2_aLMM,26
410
- portal/static/portal/sass/partials/_buttons.scss,sha256=dserW-L6262tgkygb5yA4aRJhIWpt4TVFSFAJUdYn9c,9195
399
+ portal/static/portal/sass/partials/_buttons.scss,sha256=QwElVoMdDrCK540jFhAEoGR6v-7cldUc0RRd7eHSSGs,8967
411
400
  portal/static/portal/sass/partials/_carousel.scss,sha256=m8N6jSuHBzeKyMUNGGc48NlNYTmotKlaiy10hwFnyWY,3500
412
401
  portal/static/portal/sass/partials/_footer.scss,sha256=oqt-Qvz7vtUFNnpe4FkQkaZk3J3fojCy9cKCxqGTWoM,2493
413
402
  portal/static/portal/sass/partials/_forms.scss,sha256=cbonSxhtfaHR-4R6i0u65AaIZRG_25C837CgZlLuwCI,7101
414
- portal/static/portal/sass/partials/_grids.scss,sha256=-2kmJMjothSPWUoqDf07-GqmEBk4uT6SVasRyfKi5Cs,5902
403
+ portal/static/portal/sass/partials/_grids.scss,sha256=pnMQht5lZ65MRB-0_nl8yn655hlKC_oWCwZopillVwc,4968
415
404
  portal/static/portal/sass/partials/_header.scss,sha256=OYcN1R7LB04BlGkhvfBf4E0CgMjCgBIwop6VZY7s7qw,7372
416
405
  portal/static/portal/sass/partials/_images.scss,sha256=Fro4a0VfLo6FyrvGk5yjsjzzGKWVdHeMFJiVC96C7vk,6213
417
406
  portal/static/portal/sass/partials/_popup.scss,sha256=OhBdNto7GEGbGFLzT0ybUKgDmuhSs365fSWy7D8qO1w,2205
418
407
  portal/static/portal/sass/partials/_progress-bars.scss,sha256=cTyRa9WLeIE0rETmY58Rcyf-8O6JE3iDTa_jw3mk23g,144
419
408
  portal/static/portal/sass/partials/_subnavs.scss,sha256=6FJV1wBmHchnGBL9Yx56Ua4RR1b5P6ABTextZPTqXSs,5052
420
409
  portal/static/portal/sass/partials/_tables.scss,sha256=XrO-I41hfyFy1Uh-STokSpoG0qifJVNlpWS4sNxDYdQ,2984
421
- portal/static/portal/sass/partials/_text.scss,sha256=2iH-QaB_MyuIY8vJMQjCxMOZA5EPeACPQfdhqb9R_V4,3788
410
+ portal/static/portal/sass/partials/_text.scss,sha256=5c9R_OhAuM8105u3RggkpfoyADqIkiL7-69xX7MkzW0,3605
422
411
  portal/static/portal/sass/partials/_ui-dialog.scss,sha256=gaXrY_uGqT6SyxYsCJmEiwg-OXa_NBK0P7-52TNLfXw,956
423
412
  portal/static/portal/sass/partials/_utils.scss,sha256=v0rzXvmkmA4sex_DdZ0LPYQybP8HXqDAE4q-kQKkPgk,3468
424
- portal/static/portal/sass/partials/_videos.scss,sha256=p0Pm5eUWAXSrJoqLLLLBMDRx1FsFVtEOAV7GHQ6I77o,303
425
- portal/static/portal/video/aimmo_play_now_background_video.mp4,sha256=WSLFCTgpSiLLU-eRZreUtxfv-f6s4W9g_D0gxMO8aeA,999060
426
413
  portal/static/portal/video/code for life .pdf,sha256=0dVvxGFmCOhIzdMBjGhZJLhIoUX4vPll3_vFnZQqeAc,277957
427
414
  portal/strings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
415
  portal/strings/about.py,sha256=noSrUV6c4gLvg4Cm7xpeE7cGbWTixi7_HJcw6EXdvqY,644
@@ -430,10 +417,9 @@ portal/strings/coding_club.py,sha256=fMQt829owRrqsH7CWTxo_TUrTOx70ll92XciRgqhlUw
430
417
  portal/strings/help_and_support.py,sha256=S6lQU6y0WhwBl33KDPlFA48NGQpuuBUGOY9WsB_ys0U,386
431
418
  portal/strings/home_learning.py,sha256=ZZ9rLupgBGrawxQ1kovCyYId6mK3w5LHchX8Ct8J2Lc,273
432
419
  portal/strings/materials.py,sha256=6hkXU5EhrDA-nWWQIiJ5nSZTXjulJFtEd4O0RNYVcbI,274
433
- portal/strings/play.py,sha256=875QyaTK_w6J3BK4Che3vzCWkbrxwOYy_9FV9ZocMeM,804
434
- portal/strings/student_aimmo_dashboard.py,sha256=heEQ8KN7Vt19fg0MAYPcg9-mLOlCpOWlxVb8QMMldjE,235
420
+ portal/strings/play.py,sha256=BfhrZMfyNAZOZbNTCAINUyxB4vgc5UFgnTdSUoKQ-mQ,714
435
421
  portal/strings/teach.py,sha256=fhzX55gs9eKEYUfCoTGcJYWuVJA2bx7mXvQMtXfp9-Q,257
436
- portal/strings/teacher_resources.py,sha256=0KzaW3ieXxXm-7SMrYhydP3fnaDaWiuayoOJUk4a-Qc,760
422
+ portal/strings/teacher_resources.py,sha256=8fdLLv0n140BQ0u1ivHhaJCFhz2qwNt4g0tCT-H4UW0,350
437
423
  portal/strings/ten_year_map.py,sha256=iodL7p1MZwo1pd3az6kPvr6OvoSgZa91H2gjeMw4OkY,517
438
424
  portal/templates/403.html,sha256=gsV6LxsM-n7WuIV5DzaQNKEEBGVbuzJU9lJq9O8jqQ4,1169
439
425
  portal/templates/404.html,sha256=Tk6HmuzDdIT4ojoIHvH2MibU_0OekU5gmuJmk5M4K_Q,563
@@ -442,11 +428,11 @@ portal/templates/email.html,sha256=MXB64zc1Sd34eIq8mGT1HhrjAiZUNvRx0_XjZllfKUU,2
442
428
  portal/templates/email.txt,sha256=z3bkT2WnkCrVa1RLVbGd-pE81cLEHlZ_QowfbSQAOvg,19
443
429
  portal/templates/captcha/widget_v2_invisible.html,sha256=wPBAvvjm-qhSCrQruwJ2SSBkxFg4oUNFl26Axs1IjZw,306
444
430
  portal/templates/captcha/includes/js_v2_invisible.html,sha256=FUyDf1RDyS7whzW2B_TnD1ovS8an9sDavCJFqAsrnmQ,1409
445
- portal/templates/portal/about.html,sha256=gVflOOxsMKbis6psrsFJvKpHhrl_SjmRv3LPCu6wZYw,9901
431
+ portal/templates/portal/about.html,sha256=uTxQZv42UofSCg2nitOIuJQysxbof58lFEmiv46YnC4,10296
446
432
  portal/templates/portal/base.html,sha256=DhZ1BC9AANRofocQeNtU6wSFMI-5WmQ-4eXemUGAuQo,11689
447
433
  portal/templates/portal/base_no_userprofile.html,sha256=PlRufyYmUUGWBZ6CvbYhJWOMTqKqdcee4xnO5--AogA,447
448
434
  portal/templates/portal/coding_club.html,sha256=aaLx9UQ8p_7Vvy3Vlh1rOufeNN0KhJ6fj4oqI6QqJcM,4518
449
- portal/templates/portal/contribute.html,sha256=9_sUT_RqPZspURQ_uxHylYaTsF0MvAKw5wMk7X1JiIU,4253
435
+ portal/templates/portal/contribute.html,sha256=tMTFqh1ReRyk_LysUQgMotnurEllOI70UcnzVVr7UJo,3855
450
436
  portal/templates/portal/dotmailer_consent_form.html,sha256=UDdizPoKYZGybr6z9nzDV4WPhJPa-S3bIKywvVgFrxg,918
451
437
  portal/templates/portal/email_invitation_sent.html,sha256=hAMzQXE3NFGnOsQlCGuo3Aps-vazSJb5BhAN7bWT48M,641
452
438
  portal/templates/portal/email_style_template.html,sha256=VodOGssxRS9aJTjSaU7iv5qJgYe66C_gPL_98ZX_cIQ,11935
@@ -459,28 +445,27 @@ portal/templates/portal/home_learning.html,sha256=AdKDe0dlbWUrL1BOCjJpdQcOsC6SR-
459
445
  portal/templates/portal/locked_out.html,sha256=JeiFHFyueFX03D54k82swjxvKY78cFG8Vre-bKKv_7Y,894
460
446
  portal/templates/portal/locked_out_school_student.html,sha256=bcpLtu4mkHR-zILLuArtHH2OfUSjHiqntcdbTMlx5Kg,684
461
447
  portal/templates/portal/mouseflow.html,sha256=ji9SWR86nqC59xdmivfdPNG5OzFk8gJEUeOUUh52alk,361
462
- portal/templates/portal/play.html,sha256=P5riFKSqaz_6aycgGC7-ql8u_ut6Igsa2SX9kMv8qM0,5162
448
+ portal/templates/portal/play.html,sha256=HwZbqety0-puiCA0oyMw4kVDYemIK_ID36Nd1NVR7fA,4031
463
449
  portal/templates/portal/privacy_notice.html,sha256=USklp2FWK4yEpa_-UGYrOutC4lORBMIxqcQihvCLTSA,56338
464
- portal/templates/portal/register.html,sha256=9AFNejCCcG2VwNCJ8AU5r3Wk0u_ftK_NbVfxZb5weh0,12547
450
+ portal/templates/portal/register.html,sha256=4RqUxRiQOvd-oHAM5x6U01zdlYRfy-h8NUGl8UIiBC0,12531
465
451
  portal/templates/portal/reset_password.html,sha256=YzsREz5D2OwhicMLahVOVDXiNDxoHlPqU5iu96i36W0,1373
466
452
  portal/templates/portal/reset_password_confirm.html,sha256=jPHSDatezRXzCG4zH_5BQPWAxLblidqro0hzvsH54ho,3499
467
453
  portal/templates/portal/reset_password_done.html,sha256=rpzN3svZne5H2FS3TJaGnHypRj2KX-SRS6DbFQkgLf0,667
468
454
  portal/templates/portal/reset_password_email_sent.html,sha256=kwNvoH_M-Qd5s-g0HiULwfQt_SD12WEMgPRSnLmldTQ,914
469
- portal/templates/portal/teach.html,sha256=5Ua6l2H6dBIXjKjMTUGkM92SnBnAXTBRpM6sKlwnrUk,8724
470
- portal/templates/portal/ten_year_map.html,sha256=ssARat4irhtW7hzqz-5rsaKhDgHz6Iw4b9Rt8DI8np0,8418
455
+ portal/templates/portal/teach.html,sha256=FQ_2qG3Xgl_PUR_fBsiJDn3_zDEwo6_s4F34MoXBpNQ,7370
456
+ portal/templates/portal/ten_year_map.html,sha256=_NxEXDJMGdtguuZ3vYl00yBgYo12wv1w8QJ-LMhw8fg,8390
471
457
  portal/templates/portal/terms.html,sha256=SO8ruLF2kdYpOinxlVx1CHfPNgphemX4wvWJ9-W6Nj4,29155
472
458
  portal/templates/portal/login/independent_student.html,sha256=G4u82m0lko4yQvqRDMger5p63A6KtFI_bsEOsQWlyJw,1777
473
459
  portal/templates/portal/login/student.html,sha256=s5rUyT-u7gei2xWQ-Ba35ePC5WbtwReEzUZAKwUoZVY,1261
474
460
  portal/templates/portal/login/student_class_code.html,sha256=rJr6NB4Oz7XjZXDOUHpwzT6r6yxh7nZ5joca-z2bK-s,966
475
461
  portal/templates/portal/login/teacher.html,sha256=s-8s55_D0jCf7ejEDIN2Vexpde0BljojRAz9QODLSUk,2671
476
- portal/templates/portal/partials/aimmo_games_table.html,sha256=E4OJl3aADaNftiN88EjPPA9mytqKzFaqswOjWy61DWU,4548
477
462
  portal/templates/portal/partials/banner.html,sha256=fJdavxl4nB5llR8N3sw-uP12K1GlHCe8rNSZ2m5Io5g,1235
478
463
  portal/templates/portal/partials/benefits.html,sha256=TZm4U_XimgivkPMjDXxxkV7PLfRyi2PAwkH8Y4sFDps,2363
479
464
  portal/templates/portal/partials/card_list.html,sha256=yHcp4oc0WRG9H6Ek871VCHbwYkDRcwQYbZ320gtsFn8,1550
480
465
  portal/templates/portal/partials/character_list.html,sha256=SnNFHzbIkOSaiRPIvSdplEf_B87UYgJ1pOvMltNDxLE,415
481
466
  portal/templates/portal/partials/delete_popup.html,sha256=nEhnwgnmKoFzb6LlCwdX973Em9bVOFh6MON36RPteYs,1275
482
467
  portal/templates/portal/partials/footer.html,sha256=V6xKYyhPoqSRUL0HQu7OB9vKVJWun8Q0PUGa5Dbdyl4,4922
483
- portal/templates/portal/partials/header.html,sha256=mYtZnKbNxeyFydA_1rK_1yelDhp-TEoyyz-LqrNVE6U,20018
468
+ portal/templates/portal/partials/header.html,sha256=I4nwsTw0Owggw7ES4h6-lAqqJYjaBAO_fu20qTQYPZw,18756
484
469
  portal/templates/portal/partials/headline.html,sha256=xKb-WtkT0FyQqT0smyNSKkXFvU7KQ5Czad8ca6YKQg4,89
485
470
  portal/templates/portal/partials/hero_card.html,sha256=UN5hyxrw-McuXFsDzPBIECB9yGrv9VjsFf8SEBowwXc,786
486
471
  portal/templates/portal/partials/info_popup.html,sha256=gzffd5MBVb7p2hGQuZMNDudThrRgs847hCu9ziT9uLE,566
@@ -492,9 +477,8 @@ portal/templates/portal/partials/service_unavailable_popup.html,sha256=OmffFQeTG
492
477
  portal/templates/portal/partials/session_popup.html,sha256=MuPw_Gd0M7o8IG08vRM9twfbPM6lsMxXPMhTH-Bxd4c,992
493
478
  portal/templates/portal/partials/teacher_non_dashboard_subnav.html,sha256=IHk90i81VYz-0XhcwJ3fWhkNYs1EomPa_abwraxZiEU,671
494
479
  portal/templates/portal/partials/teacher_non_dashboard_subnav_account.html,sha256=pT3HI2RzGYhLV7q104Av0qJcUdRGWTvmKAnNiZ3KSkw,671
495
- portal/templates/portal/play/independent_student_dashboard.html,sha256=-EXvSjOyOWvNuyxJlrPupJC13_FcjSgUCxCUJ0BFC9E,2907
496
- portal/templates/portal/play/student_aimmo_dashboard.html,sha256=uLq0VJ0IP__OxnqO5qth6o_SzyOWff0nTbEQnQxYbSo,1403
497
- portal/templates/portal/play/student_dashboard.html,sha256=iWKAkeEnCs7HLM8oQ3F33pTgytYuKRTag4qvpJ4evbU,3898
480
+ portal/templates/portal/play/independent_student_dashboard.html,sha256=svYTAKeLohJz7aAyj8VxnGvjdo1ac7JpbTBFdOwSaso,2118
481
+ portal/templates/portal/play/student_dashboard.html,sha256=zY9SyZRuDhFMoI39NcpptpAWVECcWZ2wKuD450qb9Vk,2571
498
482
  portal/templates/portal/play/student_edit_account.html,sha256=WSvkAbKetKIFE-z6kDlyMG9PmuyqPenJct-aOxPnefk,7258
499
483
  portal/templates/portal/play/student_join_organisation.html,sha256=05mbvmOryvMKUR9EpYeCNbuTL0kK2dcjovfJo7kjCqc,2980
500
484
  portal/templates/portal/tag_manager/tag_manager_body.html,sha256=M_c9T2cfmVm6_GjtRBegqDn6mCgXbnJ6j7C73TMUf6Q,661
@@ -509,7 +493,6 @@ portal/templates/portal/teach/onboarding_school.html,sha256=EyvnQ13R4ovf3-152pCv
509
493
  portal/templates/portal/teach/onboarding_students.html,sha256=09q658n7U7Vuzy_M_0P2xr2SqHxBlBnaPPoJ8tPhhwI,2399
510
494
  portal/templates/portal/teach/teacher_add_external_student.html,sha256=Lrrh4W3EwxxXKe45kcqzf2BcPxYo_mLahGIQMNJjX9E,2453
511
495
  portal/templates/portal/teach/teacher_added_external_student.html,sha256=f18RhP5PCE13yjBTrQTCwPLZnkcZb0bDUZ_Z2Oh3D3I,1189
512
- portal/templates/portal/teach/teacher_aimmo_dashboard.html,sha256=eDlEIb2UCVN60w7i1WlFzt4OzR6KEHY3pCWkVXT7AUo,4537
513
496
  portal/templates/portal/teach/teacher_dismiss_students.html,sha256=_5FvvtNjdYpZaM9lDzXrhhTjAD3NK_92kDYzh7xqowI,4283
514
497
  portal/templates/portal/teach/teacher_edit_class.html,sha256=QIHKf57g6K4nJqDKb-fTfLg0g6CnVCiM0-l8xp1Frio,11553
515
498
  portal/templates/portal/teach/teacher_edit_student.html,sha256=JNF8JyoZh0J-oKH4dz7SGSxR0t7J1lbTGLvjhNbk2Rw,3237
@@ -531,40 +514,38 @@ portal/templates/two_factor/core/setup_complete.html,sha256=aE67CIwicwn6W8-JwUqf
531
514
  portal/templates/two_factor/profile/disable.html,sha256=fKIxqmB8RqN_DQrNMiZPTcSmoH-hChNcGWR0HKl1r-s,1010
532
515
  portal/templates/two_factor/profile/profile.html,sha256=N5nlY4CV_OBSyQld7nUXBMVZfAsByZ7MRIGRjjfTWkE,1800
533
516
  portal/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
534
- portal/templatetags/app_tags.py,sha256=MuJ4cuePDqExLbYs2TjTifSsoU8aLxgMyPnkFmG2U3Q,4687
517
+ portal/templatetags/app_tags.py,sha256=SvOc4sPGNYpUtnJYxS80EmWYSE-C2mzmvxgRqUHet_o,3794
535
518
  portal/templatetags/banner_tags.py,sha256=7jk8avxiot0jMM1xWnUbs2QDsOg1v2aJDJA4p0-SJF0,823
536
519
  portal/templatetags/benefits_tags.py,sha256=8Bt37DdzMgNkHLqezZHv5aGIS8U4MwQxT1JDmK640OQ,1509
537
520
  portal/templatetags/card_list_tags.py,sha256=cexDySSJhGeplyOxF_UYfCEWC_DzMTO0d7-JuZTiPlU,509
538
- portal/templatetags/character_list_tags.py,sha256=czHgRrW4mvd9VEaGPXBz6HwsiT96tnxp7-jwA8Jxwp8,552
539
521
  portal/templatetags/future.py,sha256=fl2S86Y_dl2ilQPvrsJkyH80olPmWyM-k4WGpi0QgE8,165
540
522
  portal/templatetags/headline_tags.py,sha256=1KHOjcVZZTLfWnxpFAUoHhIndd3RbuD1hby0hANiu_w,420
541
523
  portal/templatetags/hero_card_tags.py,sha256=nwTyPvjuaoaeG14ck8q1nbb-wSsTd6Grz3DOUCPEOMc,939
542
524
  portal/templatetags/table_tags.py,sha256=eU8kkBky_Ouq_61-6-YVu5_1zH941KRJD_Wvs_TMXqE,448
543
525
  portal/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
544
526
  portal/tests/base_test.py,sha256=fepj6X-y_a1jdXi80QA6KIDV703NCJYDAVOwL6Th2fA,2459
545
- portal/tests/conftest.py,sha256=1IwuWgzqmmzThW2mAzy_JiWxI9Ai5VARXR2y6nx2hdM,1707
527
+ portal/tests/conftest.py,sha256=Rk4SOaFS22bFwNPRDOQHeNsm0We5BdEI52NTcfSlv1g,1297
546
528
  portal/tests/selenium_test_case.py,sha256=eWUF_5SqkI178bkay5SUDa06r0QTIKUUT8jTAhrdbmk,469
547
529
  portal/tests/test_2FA.py,sha256=0N4C9Ab3TvO9W__oQLCo-fLDH1Ho3CiGGsSg-2TiZUE,3597
548
530
  portal/tests/test_admin.py,sha256=AM2dgv8j9m4L-SDO-sMA9tQvQH9GwRBrlwRG9OgqtfI,1451
549
- portal/tests/test_aimmo_dashboards.py,sha256=24yGHieAxDHHP-S6qhCWphuszBzVUK3JUF4CmaarbbM,8615
550
531
  portal/tests/test_api.py,sha256=Yo5s_nEGOoG35jA39yZ6nuDOUZvuCZ8o8o8XhZos61w,13819
551
532
  portal/tests/test_captcha_forms.py,sha256=lirhIli-sHovun8VdrF0he7KRFTAd8DMCpkJ8cQNotg,1015
552
- portal/tests/test_class.py,sha256=V6Fkc6PqdisefKD3xs9PbfE2pKp-9e0gwQVkPUiu6bk,14150
533
+ portal/tests/test_class.py,sha256=43g2HslNosbSuSnnMBzM6VWk4LaV0HXkWS3f8VKVRmw,15930
553
534
  portal/tests/test_daily_activities.py,sha256=-siDCMGBD1ijjccHVk7eEmrk4bgTsvbh0B6hDoj2fo0,1803
554
535
  portal/tests/test_emails.py,sha256=xNgOt592r2nrQu7VeBdc8kvSnw6Z5fPJqMx2-UMcyyk,9482
555
536
  portal/tests/test_helper_methods.py,sha256=-SQCDZm2XUtyXGEp0CHIb_SSC9CPD-XOSnpnY8QclHk,890
556
- portal/tests/test_independent_student.py,sha256=mRbWZVwbZKPqHajTd9bYrCAn9ZJLpexpk-YSiZuDAbM,27540
537
+ portal/tests/test_independent_student.py,sha256=NrRjTEr6V4WXpCE74N8LYNVocvLSvddkjuo3dYpfAZc,27245
557
538
  portal/tests/test_invite_teacher.py,sha256=oeOaoJV1IqJSYPlaPFjnhVXdB2mq8otCTLp_lfjuCfk,12224
558
539
  portal/tests/test_middleware.py,sha256=b6jfNmiRZ2snqLKsyJUG-RivoX5fmrqLlQkG9MeVnqM,8034
559
540
  portal/tests/test_newsletter_footer.py,sha256=MdVUX53mEoDTa4Krq-jg9LFNo-QyghqvTvhHeNXBGnE,838
560
541
  portal/tests/test_organisation.py,sha256=kCMUNzLN6EzaMUBcFkqXwnqLGgOuQxQWIHHt63nhqBs,7574
561
- portal/tests/test_partials.py,sha256=ydh1nef6BqvMfah2BSBS9QDiKY0xopY74k_W1YVobAE,3687
542
+ portal/tests/test_partials.py,sha256=cSLNLjdsriROjPxkZlM3HKD3CSKDuKgpaDIdL3fPyBs,1794
562
543
  portal/tests/test_ratelimit.py,sha256=XWq1A9XgRrlcMHibGoJ0kc4gLc5U_u5UhKHjthxCfYA,19376
563
544
  portal/tests/test_school_student.py,sha256=bFZwY4twaFHQLp0cltMq8cLNDZGgCHTZBCZHK0JcV8s,8604
564
545
  portal/tests/test_security.py,sha256=FGrlRfnzi-Xx2_bn4fTZlYORKm7w_GhGkD3havvplwc,3239
565
- portal/tests/test_teacher.py,sha256=_VmQCWq07uCFbvq6Vd7GN00mE7vY7WNMeQTk6bHxFPI,36898
546
+ portal/tests/test_teacher.py,sha256=vjnJi_aj_x48OJOMMRIBr0JTCxy4tFxqrLfCgw0fRxQ,29315
566
547
  portal/tests/test_teacher_student.py,sha256=NWITbUw1kijqu3c8eRHLHJKaYQMOsOMvl7PAVx5QghI,21567
567
- portal/tests/test_views.py,sha256=e7Yw4W1gjyv7I3r99uIqpTaBRYdWyaqG7VNFHakC0Ss,40902
548
+ portal/tests/test_views.py,sha256=9Z3IQHOKLua_ItHHWf5lYn5pvY_5vpHH1UwWxxWMe8U,41487
568
549
  portal/tests/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
569
550
  portal/tests/migrations/test_migration_make_portaladmin_teacher.py,sha256=ekMRb6cU97oT0k9gCKW7IUB7oPuGmv4uWJCqInQN7x8,2589
570
551
  portal/tests/migrations/test_migration_preview_user_remove.py,sha256=K6D-FZT9YFEA8oMxHz9VTglVV6MZOTRYVlvwWwXc2vU,555
@@ -575,13 +556,12 @@ portal/tests/migrations/test_migration_use_common_models.py,sha256=5eZzfft5OY34m
575
556
  portal/tests/migrations/test_migration_verify_portaladmin.py,sha256=--abcZ2UNdbYRW9yo39h5TwxiUh81HH8B4hv45oB1_c,1075
576
557
  portal/tests/pageObjects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
577
558
  portal/tests/pageObjects/portal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
578
- portal/tests/pageObjects/portal/base_page.py,sha256=da-c6erSGBTfiIFYdz5BaVnc-ZKVOfXIUV3gKqxupLg,4690
559
+ portal/tests/pageObjects/portal/base_page.py,sha256=3ttx0xI6AeC7vs4xGtCako0hylrm3Wxx-tpWfaKNbqM,4239
579
560
  portal/tests/pageObjects/portal/email_verification_needed_page.py,sha256=EK09-swjYwh64_vaBJl2-cAPn_Td7_Q5NTu4ZunCbRc,504
580
561
  portal/tests/pageObjects/portal/forbidden_page.py,sha256=O_m3dCAv6XtAz-Jps4SKXcHD_8MFCpAYBcopZH93FuY,235
581
562
  portal/tests/pageObjects/portal/game_page.py,sha256=5YsufVd4P2QV1OGvfdOVkB3Iv40Oz3cqnLI1a-lFN7Q,3591
582
563
  portal/tests/pageObjects/portal/home_page.py,sha256=Pd_FyWrqj0okhqIlnkrMpNnkXzhn--UCG5uoMsTQkB0,1719
583
564
  portal/tests/pageObjects/portal/independent_login_page.py,sha256=mhSZqYSu-3BvuU0CPdSacLL5dh4VtTr2rtLCofL6-yo,1353
584
- portal/tests/pageObjects/portal/kurono_teacher_dashboard_page.py,sha256=QvPJmtY6QN5QrM9TbDu1GuxnfMh7llAIZ8gPlEnLHys,1441
585
565
  portal/tests/pageObjects/portal/password_reset_form_page.py,sha256=KkkS81JzH9cvQ5_zo7Lhv3GAFvVKUBTc-YOXO75M_fg,1662
586
566
  portal/tests/pageObjects/portal/password_reset_page.py,sha256=QC1MEUuA8lnvTZsCDWQVlFStppSmwEIZt4ZfYeM2dR0,714
587
567
  portal/tests/pageObjects/portal/play_page.py,sha256=Pmoc1bVPgNvK9FwgJUtdGt93FfxCN-5qiA5xe41Vpz8,231
@@ -616,9 +596,8 @@ portal/tests/pageObjects/portal/teach/onboarding_student_list_page.py,sha256=28V
616
596
  portal/tests/pageObjects/portal/teach/onboarding_students_page.py,sha256=522Y79PfNV1PcR-Clf19KnNe2r3xf4sPPAUnroIzk80,971
617
597
  portal/tests/pageObjects/portal/teach/teach_base_page.py,sha256=vnd5YO15baBgCkqyBkXGZpdjZRMRpeeN69dH-fG383A,1229
618
598
  portal/tests/snapshots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
619
- portal/tests/snapshots/snap_test_partials.py,sha256=DbJV5wr6hoWqUfGyNRltvDHr_lWAnFyzrSdwL1aP-wQ,24422
599
+ portal/tests/snapshots/snap_test_partials.py,sha256=_3LAMleGKcVSekyDJ_gk2oyVSW-dBsCdH9cNmJKPtqQ,1103
620
600
  portal/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
621
- portal/tests/utils/aimmo_games.py,sha256=Dyv0jdvCcUxc_j4vm93hKAh_anj9bOTDhvUvPK7qOPg,649
622
601
  portal/tests/utils/classes.py,sha256=MEwGTKjPRYdWiVL1V6l28NpdvRUa06yRa6PPcHT6Trc,223
623
602
  portal/tests/utils/messages.py,sha256=LeYqCEU-ubEO1lrPSAaXF6WsM8M7C-ZIfVwwlbAFT28,1769
624
603
  portal/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -633,8 +612,6 @@ portal/views/organisation.py,sha256=sPDbiM7hdtpF8GKyh_4n4VPl2a-WnAgnF4q9aSvQCVI,
633
612
  portal/views/play_landing_page.py,sha256=FFmjUFub3ZdlbMqkB8yX3jAImCzqrUqgb8AZcpKywZ4,308
634
613
  portal/views/registration.py,sha256=L9AzIG2nOU946cSOXmUMQRtDo3uxApHX-0ceXopbOCw,10888
635
614
  portal/views/teach.py,sha256=nzlyTcgq9ImAjnqrF3esqi212qBLH5Ww1LKE2gSjoRY,210
636
- portal/views/aimmo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
637
- portal/views/aimmo/dashboard.py,sha256=YMOzonNE87OEP5lThY4BrF0rNyvIYpDInh_sM-n38AM,4046
638
615
  portal/views/cron/__init__.py,sha256=5rxXyhJmLOExRdrYZ1VJttTsyRIPRybzdftbUDwFByI,20
639
616
  portal/views/cron/user.py,sha256=N4slzEXqzp557LLPlwA6sD3HVzDu74NBf128uvtwKnM,6044
640
617
  portal/views/login/__init__.py,sha256=xSCtyFPSI87BRUybBgqa86ekFEolX5gUDbBSfBUMTyI,399
@@ -643,16 +620,16 @@ portal/views/login/student.py,sha256=dt6cMfWepBJsVCRcADltfYSHVpyeP1WGLKSogMJ22E0
643
620
  portal/views/login/teacher.py,sha256=kRugP7TPbZIb_BmYMYxFeugxZy8UbCry_q0_jJDJ_Mw,1975
644
621
  portal/views/student/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
645
622
  portal/views/student/edit_account_details.py,sha256=Ba-3D_zzKbX5N01NG5qqBS0ud10B8D5SN8hOpLiGa9U,8468
646
- portal/views/student/play.py,sha256=r5TADH_wYn3d1beezfvkYBiendQ9qLys9dUJwHqF_44,8581
623
+ portal/views/student/play.py,sha256=ENMwDMGhbePjGdMQjkWkQEvlBz362qy1GPJLUEjN6QU,8326
647
624
  portal/views/teacher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
648
625
  portal/views/teacher/dashboard.py,sha256=8WglspwuHF__2LtoX5_XvoW1ulICSupjKv--MtjrvJk,25714
649
- portal/views/teacher/teach.py,sha256=PJAUjLeIBELWc5e2Eek0mr8kYleYWb1MH9FF4O2q7Ok,34779
626
+ portal/views/teacher/teach.py,sha256=icOEypVyPd8coYAoamDSJleQcKZntO3VHU5FYJrQfBs,34624
650
627
  portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
651
628
  portal/views/two_factor/core.py,sha256=O_wcBeFqdPYSGNGv-pT_vbs5-Dj1Z-Jfkd6f9-E5yZI,760
652
629
  portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
653
630
  portal/views/two_factor/profile.py,sha256=tkl_ludo8arMtd5LKNmohM66vpC_YQiP-0nspTSJiJ4,383
654
- codeforlife_portal-6.46.0.dist-info/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
655
- codeforlife_portal-6.46.0.dist-info/METADATA,sha256=YSFpBXyEqx3VCbluq7jh1bw-wodysAxnzLiebx-KKEI,3474
656
- codeforlife_portal-6.46.0.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
657
- codeforlife_portal-6.46.0.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
658
- codeforlife_portal-6.46.0.dist-info/RECORD,,
631
+ codeforlife_portal-7.0.0.dist-info/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
632
+ codeforlife_portal-7.0.0.dist-info/METADATA,sha256=PIxpIiA7ZA9AJ4Wc_-GvXnLMdRiWJ8RYyoqleSvTOZk,3447
633
+ codeforlife_portal-7.0.0.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
634
+ codeforlife_portal-7.0.0.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
635
+ codeforlife_portal-7.0.0.dist-info/RECORD,,
@@ -83,7 +83,6 @@ EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
83
83
  SILENCED_SYSTEM_CHECKS = ["captcha.recaptcha_test_key_error"]
84
84
 
85
85
  INSTALLED_APPS = [
86
- "aimmo",
87
86
  "game",
88
87
  "pipeline",
89
88
  "portal",
@@ -39,7 +39,6 @@ EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
39
39
  SILENCED_SYSTEM_CHECKS = ["captcha.recaptcha_test_key_error"]
40
40
 
41
41
  INSTALLED_APPS = [
42
- "aimmo",
43
42
  "game",
44
43
  "pipeline",
45
44
  "portal",
example_project/urls.py CHANGED
@@ -1,4 +1,3 @@
1
- from aimmo import urls as aimmo_urls
2
1
  from django.conf.urls import include, url
3
2
  from django.contrib import admin
4
3
  from django.urls import path
@@ -12,5 +11,4 @@ urlpatterns = [
12
11
  url(r"^", include(portal_urls)),
13
12
  path("administration/", admin.site.urls),
14
13
  url(r"^rapidrouter/", include(game_urls)),
15
- url(r"^kurono/", include(aimmo_urls)),
16
14
  ]
portal/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "6.46.0"
1
+ __version__ = "7.0.0"