cfl-common 8.9.6__py3-none-any.whl → 8.9.8__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.
@@ -1,31 +1,31 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cfl-common
3
- Version: 8.9.6
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"
@@ -4,7 +4,7 @@ common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
4
4
  common/context_processors.py,sha256=X0iuX5qu9kMWa7q8osE9CJ2LgM7pPOYQFGdjm8X3rk0,236
5
5
  common/csp_config.py,sha256=saeg9LbRr5xw7NDJPlt6fqi8Zz0vI8Rpc4VCS6oJNe8,2976
6
6
  common/mail.py,sha256=pIRfUMVoJWxdv74UqToj_0_pTVTC51z6QlFVLI3QBOw,6874
7
- common/models.py,sha256=JKPx3YeYTlmhuDteWBn6tfewajkK3z9ge95h8VGwh8M,18845
7
+ common/models.py,sha256=Qm-UHUR4Qbjn407HbA-YPFHQQk0qOZAsylukptnBXq0,19149
8
8
  common/permissions.py,sha256=gC6RQGZI2QDBbglx-xr_V4Hl2C2nf1V2_uPmEuoEcJo,2416
9
9
  common/utils.py,sha256=Nn2Npao9Uqad5Js_IdHwF-ow6wrPNpBLW4AO1LxoEBc,1727
10
10
  common/fixtures/aimmo_characters.json,sha256=LqjwI05-H4heSBxl6_hS-nb3gMN_4SNVlDnDRT6qNZ8,1234
@@ -90,10 +90,10 @@ common/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
90
90
  common/tests/utils/classes.py,sha256=ZA2pp9Pyx3rwi0VFwtuUA2Pys9xQJ-L_zE0u2tpwEH4,1094
91
91
  common/tests/utils/email.py,sha256=RljsVjIob4Uqi3O5YhP2ifqfc4cMcdP4Gv0EaL-sHXo,1780
92
92
  common/tests/utils/organisation.py,sha256=vNgKFtU3VPcWRnZfh82yCS90PLAK1XTYJNIxGwfgUI4,966
93
- common/tests/utils/student.py,sha256=PLd980iSlxmMoB8J3C2pVjNC5xHdVxfAkJXzhv_dRhg,3814
93
+ common/tests/utils/student.py,sha256=GYOyd2VH6QXjjLzjCh4hpT86U5si2URlJJWZwlCVLrU,3846
94
94
  common/tests/utils/teacher.py,sha256=KQ_NAl4yQqiX_zwcULQjkovc29JPhnkLR5Nk3Ljzbpg,2661
95
95
  common/tests/utils/user.py,sha256=NvLzZLVP4jy5Hn1iztOYF_BTQ9WsbSmuWMEzGzhAsRU,919
96
- cfl_common-8.9.6.dist-info/METADATA,sha256=_2OuZPEQw3HoTdIt_qMdO3wUuvmsjhx4cNI4YKRK9wQ,2488
97
- cfl_common-8.9.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
98
- cfl_common-8.9.6.dist-info/top_level.txt,sha256=LOtYx8KZTmnxM_zLK4rwrcI3PRc40Ihwp5rgaQ-ceaI,7
99
- cfl_common-8.9.6.dist-info/RECORD,,
96
+ cfl_common-8.9.8.dist-info/METADATA,sha256=0vM_ct55d3zgUDoraTlNIBzhUde1O8lgz5tVAPDvA1s,2495
97
+ cfl_common-8.9.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
98
+ cfl_common-8.9.8.dist-info/top_level.txt,sha256=LOtYx8KZTmnxM_zLK4rwrcI3PRc40Ihwp5rgaQ-ceaI,7
99
+ cfl_common-8.9.8.dist-info/RECORD,,
common/models.py CHANGED
@@ -107,6 +107,9 @@ class UserProfile(models.Model):
107
107
 
108
108
 
109
109
  class SchoolModelManager(models.Manager):
110
+ def get_original_queryset(self):
111
+ return super().get_queryset()
112
+
110
113
  # Filter out inactive schools by default
111
114
  def get_queryset(self):
112
115
  return super().get_queryset().filter(is_active=True)
@@ -165,6 +168,9 @@ class TeacherModelManager(models.Manager):
165
168
 
166
169
  return Teacher.objects.create(user=user_profile, new_user=user)
167
170
 
171
+ def get_original_queryset(self):
172
+ return super().get_queryset()
173
+
168
174
  # Filter out non active teachers by default
169
175
  def get_queryset(self):
170
176
  return super().get_queryset().filter(new_user__is_active=True)
@@ -228,6 +234,9 @@ class Teacher(models.Model):
228
234
 
229
235
 
230
236
  class SchoolTeacherInvitationModelManager(models.Manager):
237
+ def get_original_queryset(self):
238
+ return super().get_queryset()
239
+
231
240
  # Filter out inactive invitations by default
232
241
  def get_queryset(self):
233
242
  return super().get_queryset().filter(is_active=True)
@@ -298,6 +307,9 @@ class ClassModelManager(models.Manager):
298
307
  members.extend(c.students.all())
299
308
  return members
300
309
 
310
+ def get_original_queryset(self):
311
+ return super().get_queryset()
312
+
301
313
  # Filter out non active classes by default
302
314
  def get_queryset(self):
303
315
  return super().get_queryset().filter(is_active=True)
@@ -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