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

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeforlife-portal
3
- Version: 8.6.1
3
+ Version: 8.6.3
4
4
  Classifier: Programming Language :: Python
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Framework :: Django
@@ -8,31 +8,31 @@ Description-Content-Type: text/markdown
8
8
  License-File: LICENSE.md
9
9
  Requires-Dist: asgiref==3.8.1; python_version >= "3.8"
10
10
  Requires-Dist: certifi==2025.1.31; python_version >= "3.6"
11
- Requires-Dist: cfl-common==8.6.1
11
+ Requires-Dist: cfl-common==8.6.3
12
12
  Requires-Dist: chardet==5.2.0; python_version >= "3.7"
13
13
  Requires-Dist: charset-normalizer==3.4.1; python_version >= "3.7"
14
14
  Requires-Dist: diff-match-patch==20241021; python_version >= "3.7"
15
- Requires-Dist: django==4.2.20; python_version >= "3.8"
15
+ Requires-Dist: django==5.1.8; python_version >= "3.10"
16
16
  Requires-Dist: django-classy-tags==4.1.0; python_version >= "3.8"
17
17
  Requires-Dist: django-countries==7.6.1
18
18
  Requires-Dist: django-csp==3.8
19
19
  Requires-Dist: django-formtools==2.5.1; python_version >= "3.8"
20
20
  Requires-Dist: django-import-export==4.2.0; python_version >= "3.9"
21
- Requires-Dist: django-otp==1.5.4; python_version >= "3.7"
21
+ Requires-Dist: django-otp==1.6.0; python_version >= "3.7"
22
22
  Requires-Dist: django-phonenumber-field==8.0.0; python_version >= "3.8"
23
- Requires-Dist: django-pipeline==3.1.0
23
+ Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9"
24
24
  Requires-Dist: django-preventconcurrentlogins==0.8.2
25
25
  Requires-Dist: django-ratelimit==3.0.1; python_version >= "3.4"
26
26
  Requires-Dist: django-recaptcha==4.0.0
27
27
  Requires-Dist: django-sekizai==4.1.0; python_version >= "3.8"
28
28
  Requires-Dist: django-treebeard==4.7.1; python_version >= "3.8"
29
29
  Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8"
30
- Requires-Dist: djangorestframework==3.15.2; python_version >= "3.8"
30
+ Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9"
31
31
  Requires-Dist: idna==3.10; python_version >= "3.6"
32
32
  Requires-Dist: importlib-metadata==4.13.0; python_version >= "3.7"
33
33
  Requires-Dist: libsass==0.23.0; python_version >= "3.8"
34
34
  Requires-Dist: more-itertools==8.7.0; python_version >= "3.5"
35
- Requires-Dist: numpy==2.2.3; python_version >= "3.10"
35
+ Requires-Dist: numpy==2.2.4; python_version >= "3.10"
36
36
  Requires-Dist: pandas==2.2.3; python_version >= "3.9"
37
37
  Requires-Dist: pgeocode==0.4.0; python_version >= "3.8"
38
38
  Requires-Dist: phonenumbers==8.12.12
@@ -40,18 +40,19 @@ Requires-Dist: pillow==11.1.0; python_version >= "3.9"
40
40
  Requires-Dist: pyjwt==2.6.0; python_version >= "3.7"
41
41
  Requires-Dist: pypng==0.20220715.0
42
42
  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"
43
- Requires-Dist: pytz==2025.1
43
+ Requires-Dist: pytz==2025.2
44
44
  Requires-Dist: pyyaml==6.0.2; python_version >= "3.8"
45
45
  Requires-Dist: qrcode==7.4.2; python_version >= "3.7"
46
46
  Requires-Dist: reportlab==4.2.5; python_version >= "3.7" and python_version < "4"
47
47
  Requires-Dist: requests==2.32.3; python_version >= "3.8"
48
- Requires-Dist: setuptools==74.0.0; python_version >= "3.8"
48
+ Requires-Dist: setuptools==78.1.0; python_version >= "3.9"
49
49
  Requires-Dist: six==1.17.0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
50
50
  Requires-Dist: sqlparse==0.5.3; python_version >= "3.8"
51
51
  Requires-Dist: tablib==3.7.0; python_version >= "3.9"
52
- Requires-Dist: typing-extensions==4.12.2; python_version >= "3.8"
53
- Requires-Dist: tzdata==2025.1; python_version >= "2"
52
+ Requires-Dist: typing-extensions==4.13.1; python_version >= "3.8"
53
+ Requires-Dist: tzdata==2025.2; python_version >= "2"
54
54
  Requires-Dist: urllib3==2.3.0; python_version >= "3.9"
55
+ Requires-Dist: wheel==0.45.1; python_version >= "3.8"
55
56
  Requires-Dist: zipp==3.21.0; python_version >= "3.9"
56
57
  Provides-Extra: dev
57
58
  Requires-Dist: asgiref==3.8.1; python_version >= "3.8" and extra == "dev"
@@ -59,31 +60,31 @@ Requires-Dist: asttokens==3.0.0; python_version >= "3.8" and extra == "dev"
59
60
  Requires-Dist: attrs==25.3.0; python_version >= "3.8" and extra == "dev"
60
61
  Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
61
62
  Requires-Dist: certifi==2025.1.31; python_version >= "3.6" and extra == "dev"
62
- Requires-Dist: cfl-common==8.6.1; extra == "dev"
63
+ Requires-Dist: cfl-common==8.6.3; extra == "dev"
63
64
  Requires-Dist: charset-normalizer==3.4.1; python_version >= "3.7" and extra == "dev"
64
65
  Requires-Dist: click==8.1.8; python_version >= "3.7" and extra == "dev"
65
- Requires-Dist: coverage[toml]==7.7.0; python_version >= "3.9" and extra == "dev"
66
+ Requires-Dist: coverage[toml]==7.8.0; python_version >= "3.9" and extra == "dev"
66
67
  Requires-Dist: decorator==5.2.1; python_version >= "3.8" and extra == "dev"
67
68
  Requires-Dist: diff-match-patch==20241021; python_version >= "3.7" and extra == "dev"
68
- Requires-Dist: django==4.2.20; python_version >= "3.8" and extra == "dev"
69
+ Requires-Dist: django==5.1.8; python_version >= "3.10" and extra == "dev"
69
70
  Requires-Dist: django-countries==7.6.1; extra == "dev"
70
71
  Requires-Dist: django-csp==3.8; extra == "dev"
71
72
  Requires-Dist: django-formtools==2.5.1; python_version >= "3.8" and extra == "dev"
72
73
  Requires-Dist: django-import-export==4.2.0; python_version >= "3.9" and extra == "dev"
73
- Requires-Dist: django-otp==1.5.4; python_version >= "3.7" and extra == "dev"
74
+ Requires-Dist: django-otp==1.6.0; python_version >= "3.7" and extra == "dev"
74
75
  Requires-Dist: django-phonenumber-field==8.0.0; python_version >= "3.8" and extra == "dev"
75
- Requires-Dist: django-pipeline==3.1.0; extra == "dev"
76
+ Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9" and extra == "dev"
76
77
  Requires-Dist: django-reverse-js==0.1.7; python_version >= "3.10" and extra == "dev"
77
78
  Requires-Dist: django-selenium-clean==1.0.1; extra == "dev"
78
79
  Requires-Dist: django-test-migrations==1.4.0; (python_version >= "3.9" and python_version < "4.0") and extra == "dev"
79
80
  Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8" and extra == "dev"
80
- Requires-Dist: djangorestframework==3.15.2; python_version >= "3.8" and extra == "dev"
81
+ Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9" and extra == "dev"
81
82
  Requires-Dist: execnet==2.1.1; python_version >= "3.8" and extra == "dev"
82
83
  Requires-Dist: executing==2.2.0; python_version >= "3.8" and extra == "dev"
83
84
  Requires-Dist: fastdiff==0.3.0; extra == "dev"
84
85
  Requires-Dist: h11==0.14.0; python_version >= "3.7" and extra == "dev"
85
86
  Requires-Dist: idna==3.10; python_version >= "3.6" and extra == "dev"
86
- Requires-Dist: iniconfig==2.0.0; python_version >= "3.7" and extra == "dev"
87
+ Requires-Dist: iniconfig==2.1.0; python_version >= "3.8" and extra == "dev"
87
88
  Requires-Dist: ipython==9.0.2; python_version >= "3.11" and extra == "dev"
88
89
  Requires-Dist: ipython-pygments-lexers==1.1.1; python_version >= "3.8" and extra == "dev"
89
90
  Requires-Dist: isort==6.0.1; python_full_version >= "3.9.0" and extra == "dev"
@@ -92,7 +93,7 @@ Requires-Dist: libsass==0.23.0; python_version >= "3.8" and extra == "dev"
92
93
  Requires-Dist: matplotlib-inline==0.1.7; python_version >= "3.8" and extra == "dev"
93
94
  Requires-Dist: more-itertools==8.7.0; python_version >= "3.5" and extra == "dev"
94
95
  Requires-Dist: mypy-extensions==1.0.0; python_version >= "3.5" and extra == "dev"
95
- Requires-Dist: numpy==2.2.3; python_version >= "3.10" and extra == "dev"
96
+ Requires-Dist: numpy==2.2.4; python_version >= "3.10" and extra == "dev"
96
97
  Requires-Dist: outcome==1.3.0.post0; python_version >= "3.7" and extra == "dev"
97
98
  Requires-Dist: packaging==24.2; python_version >= "3.8" and extra == "dev"
98
99
  Requires-Dist: pandas==2.2.3; python_version >= "3.9" and extra == "dev"
@@ -100,7 +101,7 @@ Requires-Dist: parso==0.8.4; python_version >= "3.6" and extra == "dev"
100
101
  Requires-Dist: pathspec==0.12.1; python_version >= "3.8" and extra == "dev"
101
102
  Requires-Dist: pexpect==4.9.0; (sys_platform != "win32" and sys_platform != "emscripten") and extra == "dev"
102
103
  Requires-Dist: pgeocode==0.4.0; python_version >= "3.8" and extra == "dev"
103
- Requires-Dist: platformdirs==4.3.6; python_version >= "3.8" and extra == "dev"
104
+ Requires-Dist: platformdirs==4.3.7; python_version >= "3.9" and extra == "dev"
104
105
  Requires-Dist: pluggy==1.5.0; python_version >= "3.8" and extra == "dev"
105
106
  Requires-Dist: prompt-toolkit==3.0.50; python_full_version >= "3.8.0" and extra == "dev"
106
107
  Requires-Dist: ptyprocess==0.7.0; extra == "dev"
@@ -112,19 +113,20 @@ Requires-Dist: pypdf==5.1.0; python_version >= "3.8" and extra == "dev"
112
113
  Requires-Dist: pypng==0.20220715.0; extra == "dev"
113
114
  Requires-Dist: pysocks==1.7.1; extra == "dev"
114
115
  Requires-Dist: pytest==8.3.5; python_version >= "3.8" and extra == "dev"
115
- Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "dev"
116
+ Requires-Dist: pytest-cov==6.1.0; python_version >= "3.9" and extra == "dev"
116
117
  Requires-Dist: pytest-django==4.8.0; python_version >= "3.8" and extra == "dev"
117
118
  Requires-Dist: pytest-mock==3.14.0; python_version >= "3.8" and extra == "dev"
118
119
  Requires-Dist: pytest-order==1.3.0; python_version >= "3.7" and extra == "dev"
119
120
  Requires-Dist: pytest-xdist==3.6.1; python_version >= "3.8" and extra == "dev"
120
121
  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") and extra == "dev"
121
- Requires-Dist: pytz==2025.1; extra == "dev"
122
+ Requires-Dist: pytz==2025.2; extra == "dev"
122
123
  Requires-Dist: pyvirtualdisplay==3.0; extra == "dev"
123
124
  Requires-Dist: qrcode==7.4.2; python_version >= "3.7" and extra == "dev"
124
- Requires-Dist: rapid-router==7.4.1; extra == "dev"
125
+ Requires-Dist: rapid-router==7.5.0; extra == "dev"
125
126
  Requires-Dist: requests==2.32.3; python_version >= "3.8" and extra == "dev"
126
127
  Requires-Dist: responses==0.18.0; python_version >= "3.7" and extra == "dev"
127
128
  Requires-Dist: selenium==4.29.0; python_version >= "3.9" and extra == "dev"
129
+ Requires-Dist: setuptools==78.1.0; python_version >= "3.9" and extra == "dev"
128
130
  Requires-Dist: six==1.17.0; (python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
129
131
  Requires-Dist: snapshottest==1.0.0a1; extra == "dev"
130
132
  Requires-Dist: sniffio==1.3.1; python_version >= "3.7" and extra == "dev"
@@ -132,17 +134,18 @@ Requires-Dist: sortedcontainers==2.4.0; extra == "dev"
132
134
  Requires-Dist: sqlparse==0.5.3; python_version >= "3.8" and extra == "dev"
133
135
  Requires-Dist: stack-data==0.6.3; extra == "dev"
134
136
  Requires-Dist: tablib==3.7.0; python_version >= "3.9" and extra == "dev"
135
- Requires-Dist: termcolor==2.5.0; python_version >= "3.9" and extra == "dev"
137
+ Requires-Dist: termcolor==3.0.1; python_version >= "3.9" and extra == "dev"
136
138
  Requires-Dist: traitlets==5.14.3; python_version >= "3.8" and extra == "dev"
137
139
  Requires-Dist: trio==0.29.0; python_version >= "3.9" and extra == "dev"
138
140
  Requires-Dist: trio-websocket==0.12.2; python_version >= "3.8" and extra == "dev"
139
- Requires-Dist: typing-extensions==4.12.2; python_version >= "3.8" and extra == "dev"
140
- Requires-Dist: tzdata==2025.1; python_version >= "2" and extra == "dev"
141
+ Requires-Dist: typing-extensions==4.13.1; python_version >= "3.8" and extra == "dev"
142
+ Requires-Dist: tzdata==2025.2; python_version >= "2" and extra == "dev"
141
143
  Requires-Dist: urllib3==2.3.0; python_version >= "3.9" and extra == "dev"
142
144
  Requires-Dist: wasmer==1.1.0; extra == "dev"
143
145
  Requires-Dist: wasmer-compiler-cranelift==1.1.0; extra == "dev"
144
146
  Requires-Dist: wcwidth==0.2.13; extra == "dev"
145
147
  Requires-Dist: websocket-client==1.8.0; python_version >= "3.8" and extra == "dev"
148
+ Requires-Dist: wheel==0.45.1; python_version >= "3.8" and extra == "dev"
146
149
  Requires-Dist: wsproto==1.2.0; python_full_version >= "3.7.0" and extra == "dev"
147
150
  Dynamic: classifier
148
151
  Dynamic: description
@@ -87,7 +87,7 @@ cfl_common/common/tests/utils/organisation.py,sha256=vNgKFtU3VPcWRnZfh82yCS90PLA
87
87
  cfl_common/common/tests/utils/student.py,sha256=PLd980iSlxmMoB8J3C2pVjNC5xHdVxfAkJXzhv_dRhg,3814
88
88
  cfl_common/common/tests/utils/teacher.py,sha256=KQ_NAl4yQqiX_zwcULQjkovc29JPhnkLR5Nk3Ljzbpg,2661
89
89
  cfl_common/common/tests/utils/user.py,sha256=NvLzZLVP4jy5Hn1iztOYF_BTQ9WsbSmuWMEzGzhAsRU,919
90
- codeforlife_portal-8.6.1.dist-info/licenses/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
90
+ codeforlife_portal-8.6.3.dist-info/licenses/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
91
91
  deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  deploy/captcha.py,sha256=MbOBuGnbT_SOIltSjP1XMOLrfo1DldCilaVAEim0vM4,23
93
93
  deploy/views.py,sha256=7mY2zNPkaBFrlWGByJHp2zFqHIHSMc0YArjE_sFWMMU,131
@@ -107,11 +107,11 @@ deploy/static/apple-touch-icon.png,sha256=QjNQ8jDKI4BpfMMsrs2t3H0fXHa5KHV45fK_VS
107
107
  deploy/static/robots.txt,sha256=5cS4RITuQhbpNzvpk4AyDCXdlIBfmfCoBYRvCHY2VT8,24
108
108
  deploy/templates/deploy/csrf_failure.html,sha256=-pBRPn4Y7nUdYHGpTHCokT9Boi-isuwuivF8V2K1SgM,412
109
109
  example_project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- example_project/portal_test_settings.py,sha256=fSjkcEWgW1bQW7wTPpiWzytPfKnlzDnI9ET6InTXI98,7342
111
- example_project/settings.py,sha256=b680hIHT1mtrvBjOQSli1AkDo0k3anZYHfsKhFheKlM,5684
110
+ example_project/portal_test_settings.py,sha256=1eTweQoCt1okixE5eoEg-f9iX7idSLNdJeQHO1Z_RH4,7631
111
+ example_project/settings.py,sha256=YS-8YYtH8hZMUhZALA3eHJ1bdM2VJfpD1v3ItjBMGaQ,5936
112
112
  example_project/urls.py,sha256=FUTzHPlUS1O5kqMHjL5V4L552N2ln7uTDXcw9wjKUto,422
113
113
  example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
114
- portal/__init__.py,sha256=fhcaID7YH7SfnLvz6ZCafEaawJqh9Ir2BrkubME8ujk,22
114
+ portal/__init__.py,sha256=s9_fcsg-pm5UVMlpeSxXL1P0erPal9Usg7wno2WG5q4,22
115
115
  portal/admin.py,sha256=RKJizTF6dPJKmGPZw7nZUM0X8jkiTjgyKhLQxtvHJ0I,6148
116
116
  portal/app_settings.py,sha256=DhWLQOwM0zVOXE3O5TNKbMM9K6agfLuCsHOdr1J7xEI,651
117
117
  portal/backends.py,sha256=2Dss6_WoQwPuDzJUF1yEaTQTNG4eUrD12ujJQ5cp5Tc,812
@@ -491,7 +491,7 @@ portal/templates/portal/play/student_join_organisation.html,sha256=05mbvmOryvMKU
491
491
  portal/templates/portal/tag_manager/tag_manager_body.html,sha256=M_c9T2cfmVm6_GjtRBegqDn6mCgXbnJ6j7C73TMUf6Q,661
492
492
  portal/templates/portal/tag_manager/tag_manager_head.html,sha256=kWQ4ccJ062cWRJOcfTNaWYTxCmzDsB9JD5v_YdyO5Ic,1288
493
493
  portal/templates/portal/teach/base_registering.html,sha256=jpANyRQbsmWO404l9Mez91zolNP9ic1khWi27WW0FMQ,582
494
- portal/templates/portal/teach/class.html,sha256=zir7a7y4hbg9E6-zFIC0iv8kccIzF-qkni4DXlvkjgM,6726
494
+ portal/templates/portal/teach/class.html,sha256=hNhOHAPiXFGQ4zcl5qMVgNiqS3_ONMAVIvxZ1D26riM,6762
495
495
  portal/templates/portal/teach/dashboard.html,sha256=DcY6rcUjAT9h6VbSIA3mq4fyCIATIlWYDH2qMU1LySg,32697
496
496
  portal/templates/portal/teach/invited.html,sha256=lTsydONG5se1E099KaRgsxGuG12qVHxFUL2X0E3HBmQ,4188
497
497
  portal/templates/portal/teach/onboarding_classes.html,sha256=K212dunXG7eByyCg5lhv4ne-SniMz3kcKXrfianIY6g,2872
@@ -635,7 +635,7 @@ portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
635
635
  portal/views/two_factor/core.py,sha256=Lk32z2SN2Pg0rRkK-N-LXMvXC1kKKsH3l692kiSDQ4E,964
636
636
  portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
637
637
  portal/views/two_factor/profile.py,sha256=SHSg_xHccE5PtD-OfuOkYhREYz_er4bj5ro1RjJ88Yw,393
638
- codeforlife_portal-8.6.1.dist-info/METADATA,sha256=JcicUWet0cJ4CM8mDsZbQx9euojHlgc8Hy0fCQsvFo0,12087
639
- codeforlife_portal-8.6.1.dist-info/WHEEL,sha256=MAQBAzGbXNI3bUmkDsiV_duv8i-gcdnLzw7cfUFwqhU,109
640
- codeforlife_portal-8.6.1.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
641
- codeforlife_portal-8.6.1.dist-info/RECORD,,
638
+ codeforlife_portal-8.6.3.dist-info/METADATA,sha256=jooWCko0KcUo_u3IaV6KSZlvRUA_so9lAiEuO0u9kVA,12345
639
+ codeforlife_portal-8.6.3.dist-info/WHEEL,sha256=MAQBAzGbXNI3bUmkDsiV_duv8i-gcdnLzw7cfUFwqhU,109
640
+ codeforlife_portal-8.6.3.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
641
+ codeforlife_portal-8.6.3.dist-info/RECORD,,
@@ -18,7 +18,11 @@ headless_firefox_options.add_argument("--disable-dev-shm-usage")
18
18
  SELENIUM_WEBDRIVERS = {
19
19
  "default": {"callable": webdriver.Firefox, "args": (), "kwargs": {}},
20
20
  "chrome": {"callable": webdriver.Chrome, "args": (), "kwargs": {}},
21
- "firefox-headless": {"callable": webdriver.Firefox, "args": (), "kwargs": {"options": headless_firefox_options}},
21
+ "firefox-headless": {
22
+ "callable": webdriver.Firefox,
23
+ "args": (),
24
+ "kwargs": {"options": headless_firefox_options},
25
+ },
22
26
  }
23
27
 
24
28
  SELENIUM_WIDTHS = [1624]
@@ -119,11 +123,17 @@ PIPELINE = {
119
123
  "output_filename": "portal.css",
120
124
  },
121
125
  "popup": {
122
- "source_filenames": (os.path.join(BASE_DIR, "static/portal/sass/partials/_popup.scss"),),
126
+ "source_filenames": (
127
+ os.path.join(
128
+ BASE_DIR, "static/portal/sass/partials/_popup.scss"
129
+ ),
130
+ ),
123
131
  "output_filename": "popup.css",
124
132
  },
125
133
  "game-scss": {
126
- "source_filenames": (os.path.join(BASE_DIR, "static/game/sass/game.scss"),),
134
+ "source_filenames": (
135
+ os.path.join(BASE_DIR, "static/game/sass/game.scss"),
136
+ ),
127
137
  "output_filename": "game.css",
128
138
  },
129
139
  },
@@ -131,14 +141,22 @@ PIPELINE = {
131
141
  "SASS_ARGUMENTS": "--quiet",
132
142
  }
133
143
 
144
+
134
145
  STATICFILES_FINDERS = [
135
146
  "pipeline.finders.PipelineFinder",
136
147
  "django.contrib.staticfiles.finders.FileSystemFinder",
137
148
  "django.contrib.staticfiles.finders.AppDirectoriesFinder",
138
149
  ]
139
- STATICFILES_STORAGE = "pipeline.storage.PipelineStorage"
150
+
140
151
  DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
141
152
 
153
+ STORAGES = {
154
+ "default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
155
+ "staticfiles": {
156
+ "BACKEND": "pipeline.storage.PipelineManifestStorage",
157
+ },
158
+ }
159
+
142
160
  LANGUAGES = [("en-gb", "English")]
143
161
  MESSAGE_STORAGE = "django.contrib.messages.storage.session.SessionStorage"
144
162
  MIDDLEWARE = [
@@ -183,16 +201,23 @@ CLOUD_STORAGE_PREFIX = "https://storage.googleapis.com/codeforlife-assets/"
183
201
  LOGGING = {
184
202
  "version": 1,
185
203
  "disable_existing_loggers": False,
186
- "handlers": {"console": {"level": "DEBUG", "class": "logging.StreamHandler"}},
204
+ "handlers": {
205
+ "console": {"level": "DEBUG", "class": "logging.StreamHandler"}
206
+ },
187
207
  "loggers": {"two_factor": {"handlers": ["console"], "level": "INFO"}},
188
208
  }
189
209
  RAPID_ROUTER_EARLY_ACCESS_FUNCTION_NAME = "portal.beta.has_beta_access"
190
210
  SECURE_CONTENT_TYPE_NOSNIFF = True
191
211
  SECURE_BROWSER_XSS_FILTER = True
192
212
  SECURE_REFERRER_POLICY = "strict-origin-when-cross-origin"
193
- CSRF_USE_SESSIONS = False # Setting to False to allow CSRF token to work in Cypress
213
+ CSRF_USE_SESSIONS = (
214
+ False # Setting to False to allow CSRF token to work in Cypress
215
+ )
194
216
  RECAPTCHA_DOMAIN = "www.recaptcha.net"
195
- AUTHENTICATION_BACKENDS = ["django.contrib.auth.backends.ModelBackend", "portal.backends.StudentLoginBackend"]
217
+ AUTHENTICATION_BACKENDS = [
218
+ "django.contrib.auth.backends.ModelBackend",
219
+ "portal.backends.StudentLoginBackend",
220
+ ]
196
221
  USE_TZ = True
197
222
  PASSWORD_RESET_TIMEOUT_DAYS = 1
198
223
 
@@ -1,4 +1,5 @@
1
1
  """Django settings for example_project project."""
2
+
2
3
  import os
3
4
 
4
5
  DEBUG = True
@@ -77,11 +78,17 @@ PIPELINE = {
77
78
  "output_filename": "portal.css",
78
79
  },
79
80
  "popup": {
80
- "source_filenames": (os.path.join(BASE_DIR, "static/portal/sass/partials/_popup.scss"),),
81
+ "source_filenames": (
82
+ os.path.join(
83
+ BASE_DIR, "static/portal/sass/partials/_popup.scss"
84
+ ),
85
+ ),
81
86
  "output_filename": "popup.css",
82
87
  },
83
88
  "game-scss": {
84
- "source_filenames": (os.path.join(BASE_DIR, "static/game/sass/game.scss"),),
89
+ "source_filenames": (
90
+ os.path.join(BASE_DIR, "static/game/sass/game.scss"),
91
+ ),
85
92
  "output_filename": "game.css",
86
93
  },
87
94
  },
@@ -94,7 +101,15 @@ STATICFILES_FINDERS = [
94
101
  "django.contrib.staticfiles.finders.FileSystemFinder",
95
102
  "django.contrib.staticfiles.finders.AppDirectoriesFinder",
96
103
  ]
97
- STATICFILES_STORAGE = "pipeline.storage.PipelineStorage"
104
+
105
+ STORAGES = {
106
+ "default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
107
+ "staticfiles": {
108
+ "BACKEND": "pipeline.storage.PipelineManifestStorage",
109
+ },
110
+ }
111
+
112
+
98
113
  DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
99
114
 
100
115
  LANGUAGES = [("en-gb", "English")]
@@ -132,7 +147,7 @@ TEMPLATES = [
132
147
  "common.context_processors.cookie_management_enabled",
133
148
  "portal.context_processors.process_newsletter_form",
134
149
  ]
135
- }
150
+ },
136
151
  }
137
152
  ]
138
153
 
@@ -141,7 +156,9 @@ CLOUD_STORAGE_PREFIX = "https://storage.googleapis.com/codeforlife-assets/"
141
156
  LOGGING = {
142
157
  "version": 1,
143
158
  "disable_existing_loggers": False,
144
- "handlers": {"console": {"level": "DEBUG", "class": "logging.StreamHandler"}},
159
+ "handlers": {
160
+ "console": {"level": "DEBUG", "class": "logging.StreamHandler"}
161
+ },
145
162
  "loggers": {"two_factor": {"handlers": ["console"], "level": "INFO"}},
146
163
  }
147
164
  RAPID_ROUTER_EARLY_ACCESS_FUNCTION_NAME = "portal.beta.has_beta_access"
@@ -150,7 +167,10 @@ SECURE_BROWSER_XSS_FILTER = True
150
167
  SECURE_REFERRER_POLICY = "strict-origin-when-cross-origin"
151
168
  CSRF_USE_SESSIONS = True
152
169
  RECAPTCHA_DOMAIN = "www.recaptcha.net"
153
- AUTHENTICATION_BACKENDS = ["django.contrib.auth.backends.ModelBackend", "portal.backends.StudentLoginBackend"]
170
+ AUTHENTICATION_BACKENDS = [
171
+ "django.contrib.auth.backends.ModelBackend",
172
+ "portal.backends.StudentLoginBackend",
173
+ ]
154
174
  USE_TZ = True
155
175
  PASSWORD_RESET_TIMEOUT_DAYS = 1
156
176
 
portal/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "8.6.1"
1
+ __version__ = "8.6.3"
@@ -4,7 +4,7 @@
4
4
 
5
5
  {% block css %}
6
6
  {{ block.super }}
7
- <link href="{% static 'portal/css/jquery-ui.css' %}" rel="stylesheet">
7
+ <link href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css">
8
8
  {% endblock css %}
9
9
 
10
10
  {% block scripts %}