cfl-common 8.9.7__tar.gz → 8.9.8__tar.gz

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 (105) hide show
  1. {cfl_common-8.9.7 → cfl_common-8.9.8}/PKG-INFO +12 -12
  2. {cfl_common-8.9.7 → cfl_common-8.9.8}/cfl_common.egg-info/PKG-INFO +12 -12
  3. {cfl_common-8.9.7 → cfl_common-8.9.8}/cfl_common.egg-info/requires.txt +13 -13
  4. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/student.py +1 -1
  5. {cfl_common-8.9.7 → cfl_common-8.9.8}/MANIFEST.in +0 -0
  6. {cfl_common-8.9.7 → cfl_common-8.9.8}/cfl_common.egg-info/SOURCES.txt +0 -0
  7. {cfl_common-8.9.7 → cfl_common-8.9.8}/cfl_common.egg-info/dependency_links.txt +0 -0
  8. {cfl_common-8.9.7 → cfl_common-8.9.8}/cfl_common.egg-info/top_level.txt +0 -0
  9. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/__init__.py +0 -0
  10. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/app_settings.py +0 -0
  11. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/apps.py +0 -0
  12. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/context_processors.py +0 -0
  13. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/csp_config.py +0 -0
  14. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/fixtures/aimmo_characters.json +0 -0
  15. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/fixtures/aimmo_characters2.json +0 -0
  16. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/fixtures/aimmo_characters3.json +0 -0
  17. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/helpers/__init__.py +0 -0
  18. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/helpers/data_migration_loader.py +0 -0
  19. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/helpers/emails.py +0 -0
  20. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/helpers/generators.py +0 -0
  21. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/helpers/organisation.py +0 -0
  22. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/mail.py +0 -0
  23. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0001_initial.py +0 -0
  24. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0002_emailverification.py +0 -0
  25. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0003_aimmocharacter.py +0 -0
  26. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0004_add_aimmocharacters.py +0 -0
  27. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0005_add_worksheets.py +0 -0
  28. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0006_update_aimmo_character_image_path.py +0 -0
  29. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0007_add_pdf_names_to_first_two_worksheets.py +0 -0
  30. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0008_unlock_worksheet_3.py +0 -0
  31. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0009_add_blocked_time_to_teacher_and_student.py +0 -0
  32. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0010_remove_teacher_title.py +0 -0
  33. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0011_student_login_id.py +0 -0
  34. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0012_usersession.py +0 -0
  35. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0013_class_school.py +0 -0
  36. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0014_login_type.py +0 -0
  37. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0015_dailyactivity.py +0 -0
  38. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0016_joinreleasestudent.py +0 -0
  39. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0017_copy_email_to_username.py +0 -0
  40. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0018_update_aimmo_character_image_path.py +0 -0
  41. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0019_aimmocharacter_alt.py +0 -0
  42. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0020_class_is_active_and_null_access_code.py +0 -0
  43. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0021_school_is_active.py +0 -0
  44. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0022_school_cleanup.py +0 -0
  45. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0023_userprofile_aimmo_badges.py +0 -0
  46. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0024_teacher_invited_by.py +0 -0
  47. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0025_schoolteacherinvitation.py +0 -0
  48. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0026_teacher_remove_join_request.py +0 -0
  49. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0027_class_created_by.py +0 -0
  50. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0028_coding_club_downloads.py +0 -0
  51. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0029_dynamicelement.py +0 -0
  52. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0030_add_maintenance_banner.py +0 -0
  53. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0031_improve_admin_panel.py +0 -0
  54. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0032_dailyactivity_level_control_submits.py +0 -0
  55. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0033_password_reset_tracking_fields.py +0 -0
  56. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0034_dailyactivity_daily_school_student_lockout_reset.py +0 -0
  57. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0035_rename_lockout_fields.py +0 -0
  58. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0036_rename_awaiting_email_verification_userprofile_is_verified.py +0 -0
  59. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0037_migrate_email_verification.py +0 -0
  60. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0038_delete_emailverification.py +0 -0
  61. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0039_copy_email_to_username.py +0 -0
  62. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0040_school_county.py +0 -0
  63. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0041_populate_gb_counties.py +0 -0
  64. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0042_totalactivity.py +0 -0
  65. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0043_add_total_activity.py +0 -0
  66. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0044_update_activity_models.py +0 -0
  67. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0045_otp.py +0 -0
  68. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0046_alter_school_country.py +0 -0
  69. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0047_delete_school_postcode.py +0 -0
  70. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0048_unique_school_names.py +0 -0
  71. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0049_anonymise_orphan_users.py +0 -0
  72. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0050_anonymise_orphan_schools.py +0 -0
  73. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0051_verify_returning_users.py +0 -0
  74. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0052_add_cse_fields.py +0 -0
  75. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0053_clean_class_data.py +0 -0
  76. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0054_delete_aimmo_models.py +0 -0
  77. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0055_alter_schoolteacherinvitation_token.py +0 -0
  78. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0056_set_non_school_teachers_as_non_admins.py +0 -0
  79. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0057_teacher_teacher__is_admin.py +0 -0
  80. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/0058_userprofile_google_refresh_token_and_more.py +0 -0
  81. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/migrations/__init__.py +0 -0
  82. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/models.py +0 -0
  83. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/permissions.py +0 -0
  84. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/static/common/img/RR_logo.svg +0 -0
  85. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/static/common/img/brain.svg +0 -0
  86. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/templates/common/freshdesk_widget.html +0 -0
  87. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/templates/common/onetrust_cookies_consent_notice.html +0 -0
  88. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/__init__.py +0 -0
  89. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_anonymise_orphan_schools.py +0 -0
  90. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_anonymise_orphan_users.py +0 -0
  91. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_blocked_time.py +0 -0
  92. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_remove_teacher_title.py +0 -0
  93. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_unique_school_names.py +0 -0
  94. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_migration_verify_returning_users.py +0 -0
  95. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/test_models.py +0 -0
  96. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/__init__.py +0 -0
  97. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/classes.py +0 -0
  98. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/email.py +0 -0
  99. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/organisation.py +0 -0
  100. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/teacher.py +0 -0
  101. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/tests/utils/user.py +0 -0
  102. {cfl_common-8.9.7 → cfl_common-8.9.8}/common/utils.py +0 -0
  103. {cfl_common-8.9.7 → cfl_common-8.9.8}/pyproject.toml +0 -0
  104. {cfl_common-8.9.7 → cfl_common-8.9.8}/setup.cfg +0 -0
  105. {cfl_common-8.9.7 → cfl_common-8.9.8}/setup.py +0 -0
@@ -1,31 +1,31 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cfl-common
3
- Version: 8.9.7
3
+ Version: 8.9.8
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Operating System :: OS Independent
6
- Requires-Dist: asgiref==3.9.2; python_version >= "3.9"
7
- Requires-Dist: certifi==2025.8.3; python_version >= "3.7"
8
- Requires-Dist: cffi==1.17.1; platform_python_implementation != "PyPy"
9
- Requires-Dist: charset-normalizer==3.4.3; python_version >= "3.7"
6
+ Requires-Dist: asgiref==3.10.0; python_version >= "3.9"
7
+ Requires-Dist: certifi==2025.10.5; python_version >= "3.7"
8
+ Requires-Dist: cffi==2.0.0; platform_python_implementation != "PyPy"
9
+ Requires-Dist: charset-normalizer==3.4.4; python_version >= "3.7"
10
10
  Requires-Dist: cryptography==44.0.1; python_version >= "3.7" and python_full_version not in "3.9.0, 3.9.1"
11
11
  Requires-Dist: diff-match-patch==20241021; python_version >= "3.7"
12
- Requires-Dist: django==5.1.13; python_version >= "3.10"
12
+ Requires-Dist: django==5.1.14; python_version >= "3.10"
13
13
  Requires-Dist: django-countries==7.6.1
14
14
  Requires-Dist: django-csp==3.8
15
15
  Requires-Dist: django-formtools==2.5.1; python_version >= "3.8"
16
16
  Requires-Dist: django-import-export==4.2.0; python_version >= "3.9"
17
- Requires-Dist: django-otp==1.6.1; python_version >= "3.7"
18
- Requires-Dist: django-phonenumber-field==8.1.0; python_version >= "3.9"
17
+ Requires-Dist: django-otp==1.6.3; python_version >= "3.7"
18
+ Requires-Dist: django-phonenumber-field==8.3.0; python_version >= "3.9"
19
19
  Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9"
20
20
  Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8"
21
21
  Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9"
22
- Requires-Dist: idna==3.10; python_version >= "3.6"
22
+ Requires-Dist: idna==3.11; python_version >= "3.8"
23
23
  Requires-Dist: libsass==0.23.0; python_version >= "3.8"
24
24
  Requires-Dist: more-itertools==8.7.0; python_version >= "3.5"
25
- Requires-Dist: numpy==2.3.2; python_version >= "3.11"
26
- Requires-Dist: pandas==2.3.2; python_version >= "3.9"
25
+ Requires-Dist: numpy==2.3.4; python_version >= "3.11"
26
+ Requires-Dist: pandas==2.3.3; python_version >= "3.9"
27
27
  Requires-Dist: pgeocode==0.4.0; python_version >= "3.8"
28
- Requires-Dist: pycparser==2.22; python_version >= "3.8"
28
+ Requires-Dist: pycparser==2.23; implementation_name != "PyPy"
29
29
  Requires-Dist: pyjwt==2.6.0; python_version >= "3.7"
30
30
  Requires-Dist: pypng==0.20220715.0
31
31
  Requires-Dist: python-dateutil==2.9.0.post0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
@@ -1,31 +1,31 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cfl-common
3
- Version: 8.9.7
3
+ Version: 8.9.8
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Operating System :: OS Independent
6
- Requires-Dist: asgiref==3.9.2; python_version >= "3.9"
7
- Requires-Dist: certifi==2025.8.3; python_version >= "3.7"
8
- Requires-Dist: cffi==1.17.1; platform_python_implementation != "PyPy"
9
- Requires-Dist: charset-normalizer==3.4.3; python_version >= "3.7"
6
+ Requires-Dist: asgiref==3.10.0; python_version >= "3.9"
7
+ Requires-Dist: certifi==2025.10.5; python_version >= "3.7"
8
+ Requires-Dist: cffi==2.0.0; platform_python_implementation != "PyPy"
9
+ Requires-Dist: charset-normalizer==3.4.4; python_version >= "3.7"
10
10
  Requires-Dist: cryptography==44.0.1; python_version >= "3.7" and python_full_version not in "3.9.0, 3.9.1"
11
11
  Requires-Dist: diff-match-patch==20241021; python_version >= "3.7"
12
- Requires-Dist: django==5.1.13; python_version >= "3.10"
12
+ Requires-Dist: django==5.1.14; python_version >= "3.10"
13
13
  Requires-Dist: django-countries==7.6.1
14
14
  Requires-Dist: django-csp==3.8
15
15
  Requires-Dist: django-formtools==2.5.1; python_version >= "3.8"
16
16
  Requires-Dist: django-import-export==4.2.0; python_version >= "3.9"
17
- Requires-Dist: django-otp==1.6.1; python_version >= "3.7"
18
- Requires-Dist: django-phonenumber-field==8.1.0; python_version >= "3.9"
17
+ Requires-Dist: django-otp==1.6.3; python_version >= "3.7"
18
+ Requires-Dist: django-phonenumber-field==8.3.0; python_version >= "3.9"
19
19
  Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9"
20
20
  Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8"
21
21
  Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9"
22
- Requires-Dist: idna==3.10; python_version >= "3.6"
22
+ Requires-Dist: idna==3.11; python_version >= "3.8"
23
23
  Requires-Dist: libsass==0.23.0; python_version >= "3.8"
24
24
  Requires-Dist: more-itertools==8.7.0; python_version >= "3.5"
25
- Requires-Dist: numpy==2.3.2; python_version >= "3.11"
26
- Requires-Dist: pandas==2.3.2; python_version >= "3.9"
25
+ Requires-Dist: numpy==2.3.4; python_version >= "3.11"
26
+ Requires-Dist: pandas==2.3.3; python_version >= "3.9"
27
27
  Requires-Dist: pgeocode==0.4.0; python_version >= "3.8"
28
- Requires-Dist: pycparser==2.22; python_version >= "3.8"
28
+ Requires-Dist: pycparser==2.23; implementation_name != "PyPy"
29
29
  Requires-Dist: pyjwt==2.6.0; python_version >= "3.7"
30
30
  Requires-Dist: pypng==0.20220715.0
31
31
  Requires-Dist: python-dateutil==2.9.0.post0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
@@ -3,8 +3,11 @@ django-csp==3.8
3
3
  pypng==0.20220715.0
4
4
  pytz==2025.2
5
5
 
6
+ [:implementation_name != "PyPy"]
7
+ pycparser==2.23
8
+
6
9
  [:platform_python_implementation != "PyPy"]
7
- cffi==1.17.1
10
+ cffi==2.0.0
8
11
 
9
12
  [:python_version >= "2"]
10
13
  tzdata==2025.2
@@ -14,22 +17,19 @@ python-dateutil==2.9.0.post0
14
17
  six==1.17.0
15
18
 
16
19
  [:python_version >= "3.10"]
17
- django==5.1.13
20
+ django==5.1.14
18
21
 
19
22
  [:python_version >= "3.11"]
20
- numpy==2.3.2
23
+ numpy==2.3.4
21
24
 
22
25
  [:python_version >= "3.5"]
23
26
  more-itertools==8.7.0
24
27
 
25
- [:python_version >= "3.6"]
26
- idna==3.10
27
-
28
28
  [:python_version >= "3.7"]
29
- certifi==2025.8.3
30
- charset-normalizer==3.4.3
29
+ certifi==2025.10.5
30
+ charset-normalizer==3.4.4
31
31
  diff-match-patch==20241021
32
- django-otp==1.6.1
32
+ django-otp==1.6.3
33
33
  pyjwt==2.6.0
34
34
  qrcode==7.4.2
35
35
 
@@ -39,19 +39,19 @@ cryptography==44.0.1
39
39
  [:python_version >= "3.8"]
40
40
  django-formtools==2.5.1
41
41
  django-two-factor-auth==1.17.0
42
+ idna==3.11
42
43
  libsass==0.23.0
43
44
  pgeocode==0.4.0
44
- pycparser==2.22
45
45
  sqlparse==0.5.3
46
46
  wheel==0.45.1
47
47
 
48
48
  [:python_version >= "3.9"]
49
- asgiref==3.9.2
49
+ asgiref==3.10.0
50
50
  django-import-export==4.2.0
51
- django-phonenumber-field==8.1.0
51
+ django-phonenumber-field==8.3.0
52
52
  django-pipeline==4.0.0
53
53
  djangorestframework==3.16.0
54
- pandas==2.3.2
54
+ pandas==2.3.3
55
55
  requests==2.32.5
56
56
  setuptools==80.9.0
57
57
  tablib==3.7.0
@@ -91,7 +91,7 @@ def generate_independent_student_details():
91
91
  name = "Independent Student %d" % generate_independent_student_details.next_id
92
92
  email_address = "student%d@codeforlife.com" % generate_independent_student_details.next_id
93
93
  username = email_address
94
- password = "$RFVBGT%^YHNmju7"
94
+ password = "$RFVBGT%^YHNmju7$RFVBGT%^YHNmju7$RFVBGT%^YHNmju7"
95
95
 
96
96
  generate_independent_student_details.next_id += 1
97
97
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes