codeforlife-portal 8.6.1__py2.py3-none-any.whl → 8.6.2__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.2
4
4
  Classifier: Programming Language :: Python
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Framework :: Django
@@ -8,19 +8,19 @@ 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.2
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
@@ -32,7 +32,7 @@ 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,108 +40,69 @@ 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.0; 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"
58
- Requires-Dist: asttokens==3.0.0; python_version >= "3.8" and extra == "dev"
59
59
  Requires-Dist: attrs==25.3.0; python_version >= "3.8" and extra == "dev"
60
60
  Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
61
61
  Requires-Dist: certifi==2025.1.31; python_version >= "3.6" and extra == "dev"
62
- Requires-Dist: cfl-common==8.6.1; extra == "dev"
63
62
  Requires-Dist: charset-normalizer==3.4.1; python_version >= "3.7" and extra == "dev"
64
63
  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: decorator==5.2.1; python_version >= "3.8" and extra == "dev"
67
- 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-countries==7.6.1; extra == "dev"
70
- Requires-Dist: django-csp==3.8; extra == "dev"
71
- Requires-Dist: django-formtools==2.5.1; python_version >= "3.8" and extra == "dev"
72
- 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-phonenumber-field==8.0.0; python_version >= "3.8" and extra == "dev"
75
- Requires-Dist: django-pipeline==3.1.0; extra == "dev"
64
+ Requires-Dist: coverage[toml]==7.8.0; python_version >= "3.9" and extra == "dev"
65
+ Requires-Dist: django==5.1.8; python_version >= "3.10" and extra == "dev"
76
66
  Requires-Dist: django-reverse-js==0.1.7; python_version >= "3.10" and extra == "dev"
77
67
  Requires-Dist: django-selenium-clean==1.0.1; extra == "dev"
78
68
  Requires-Dist: django-test-migrations==1.4.0; (python_version >= "3.9" and python_version < "4.0") and extra == "dev"
79
- 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
69
  Requires-Dist: execnet==2.1.1; python_version >= "3.8" and extra == "dev"
82
- Requires-Dist: executing==2.2.0; python_version >= "3.8" and extra == "dev"
83
70
  Requires-Dist: fastdiff==0.3.0; extra == "dev"
84
71
  Requires-Dist: h11==0.14.0; python_version >= "3.7" and extra == "dev"
85
72
  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: ipython==9.0.2; python_version >= "3.11" and extra == "dev"
88
- Requires-Dist: ipython-pygments-lexers==1.1.1; python_version >= "3.8" and extra == "dev"
73
+ Requires-Dist: iniconfig==2.1.0; python_version >= "3.8" and extra == "dev"
89
74
  Requires-Dist: isort==6.0.1; python_full_version >= "3.9.0" and extra == "dev"
90
- Requires-Dist: jedi==0.19.2; python_version >= "3.6" and extra == "dev"
91
- Requires-Dist: libsass==0.23.0; python_version >= "3.8" and extra == "dev"
92
- Requires-Dist: matplotlib-inline==0.1.7; python_version >= "3.8" and extra == "dev"
93
- Requires-Dist: more-itertools==8.7.0; python_version >= "3.5" and extra == "dev"
94
75
  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
76
  Requires-Dist: outcome==1.3.0.post0; python_version >= "3.7" and extra == "dev"
97
77
  Requires-Dist: packaging==24.2; python_version >= "3.8" and extra == "dev"
98
- Requires-Dist: pandas==2.2.3; python_version >= "3.9" and extra == "dev"
99
- Requires-Dist: parso==0.8.4; python_version >= "3.6" and extra == "dev"
100
78
  Requires-Dist: pathspec==0.12.1; python_version >= "3.8" and extra == "dev"
101
- Requires-Dist: pexpect==4.9.0; (sys_platform != "win32" and sys_platform != "emscripten") and extra == "dev"
102
- 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"
79
+ Requires-Dist: platformdirs==4.3.7; python_version >= "3.9" and extra == "dev"
104
80
  Requires-Dist: pluggy==1.5.0; python_version >= "3.8" and extra == "dev"
105
- Requires-Dist: prompt-toolkit==3.0.50; python_full_version >= "3.8.0" and extra == "dev"
106
- Requires-Dist: ptyprocess==0.7.0; extra == "dev"
107
- Requires-Dist: pure-eval==0.2.3; extra == "dev"
108
- Requires-Dist: pygments==2.19.1; python_version >= "3.8" and extra == "dev"
109
81
  Requires-Dist: pyhamcrest==2.0.2; python_version >= "3.5" and extra == "dev"
110
- Requires-Dist: pyjwt==2.6.0; python_version >= "3.7" and extra == "dev"
111
82
  Requires-Dist: pypdf==5.1.0; python_version >= "3.8" and extra == "dev"
112
- Requires-Dist: pypng==0.20220715.0; extra == "dev"
113
83
  Requires-Dist: pysocks==1.7.1; extra == "dev"
114
84
  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"
85
+ Requires-Dist: pytest-cov==6.1.0; python_version >= "3.9" and extra == "dev"
116
86
  Requires-Dist: pytest-django==4.8.0; python_version >= "3.8" and extra == "dev"
117
87
  Requires-Dist: pytest-mock==3.14.0; python_version >= "3.8" and extra == "dev"
118
88
  Requires-Dist: pytest-order==1.3.0; python_version >= "3.7" and extra == "dev"
119
89
  Requires-Dist: pytest-xdist==3.6.1; python_version >= "3.8" and extra == "dev"
120
- 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
90
  Requires-Dist: pyvirtualdisplay==3.0; extra == "dev"
123
- Requires-Dist: qrcode==7.4.2; python_version >= "3.7" and extra == "dev"
124
- Requires-Dist: rapid-router==7.4.1; extra == "dev"
91
+ Requires-Dist: rapid-router==7.3.6; extra == "dev"
125
92
  Requires-Dist: requests==2.32.3; python_version >= "3.8" and extra == "dev"
126
93
  Requires-Dist: responses==0.18.0; python_version >= "3.7" and extra == "dev"
127
94
  Requires-Dist: selenium==4.29.0; python_version >= "3.9" and extra == "dev"
128
- 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
95
  Requires-Dist: snapshottest==1.0.0a1; extra == "dev"
130
96
  Requires-Dist: sniffio==1.3.1; python_version >= "3.7" and extra == "dev"
131
97
  Requires-Dist: sortedcontainers==2.4.0; extra == "dev"
132
98
  Requires-Dist: sqlparse==0.5.3; python_version >= "3.8" and extra == "dev"
133
- Requires-Dist: stack-data==0.6.3; extra == "dev"
134
- 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"
136
- Requires-Dist: traitlets==5.14.3; python_version >= "3.8" and extra == "dev"
99
+ Requires-Dist: termcolor==3.0.1; python_version >= "3.9" and extra == "dev"
137
100
  Requires-Dist: trio==0.29.0; python_version >= "3.9" and extra == "dev"
138
101
  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"
102
+ Requires-Dist: typing-extensions==4.13.0; python_version >= "3.8" and extra == "dev"
141
103
  Requires-Dist: urllib3==2.3.0; python_version >= "3.9" and extra == "dev"
142
104
  Requires-Dist: wasmer==1.1.0; extra == "dev"
143
105
  Requires-Dist: wasmer-compiler-cranelift==1.1.0; extra == "dev"
144
- Requires-Dist: wcwidth==0.2.13; extra == "dev"
145
106
  Requires-Dist: websocket-client==1.8.0; python_version >= "3.8" and extra == "dev"
146
107
  Requires-Dist: wsproto==1.2.0; python_full_version >= "3.7.0" and extra == "dev"
147
108
  Dynamic: classifier
@@ -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.2.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=hcrlnXfppsJwYIQ7twFAMd9cmK-pVAsCRmoxmu3wdHw,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.2.dist-info/METADATA,sha256=kOFvRK_urBNoRSKyShwC_92noVBm-GAWKpOyJsBo7Hg,9176
639
+ codeforlife_portal-8.6.2.dist-info/WHEEL,sha256=MAQBAzGbXNI3bUmkDsiV_duv8i-gcdnLzw7cfUFwqhU,109
640
+ codeforlife_portal-8.6.2.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
641
+ codeforlife_portal-8.6.2.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.2"
@@ -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 %}