codeforlife-portal 8.1.1__py2.py3-none-any.whl → 8.1.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.
- cfl_common/setup.py +1 -1
- {codeforlife_portal-8.1.1.dist-info → codeforlife_portal-8.1.2.dist-info}/METADATA +2 -2
- {codeforlife_portal-8.1.1.dist-info → codeforlife_portal-8.1.2.dist-info}/RECORD +10 -10
- portal/__init__.py +1 -1
- portal/templates/portal/coding_club.html +4 -7
- portal/urls.py +0 -7
- portal/views/home.py +1 -12
- {codeforlife_portal-8.1.1.dist-info → codeforlife_portal-8.1.2.dist-info}/LICENSE.md +0 -0
- {codeforlife_portal-8.1.1.dist-info → codeforlife_portal-8.1.2.dist-info}/WHEEL +0 -0
- {codeforlife_portal-8.1.1.dist-info → codeforlife_portal-8.1.2.dist-info}/top_level.txt +0 -0
cfl_common/setup.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: codeforlife-portal
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.2
|
|
4
4
|
Classifier: Programming Language :: Python
|
|
5
5
|
Classifier: Programming Language :: Python :: 3.12
|
|
6
6
|
Classifier: Framework :: Django
|
|
@@ -9,7 +9,7 @@ License-File: LICENSE.md
|
|
|
9
9
|
Requires-Dist: django-recaptcha==4.0.0
|
|
10
10
|
Requires-Dist: pyyaml==6.0.2
|
|
11
11
|
Requires-Dist: importlib-metadata==4.13.0
|
|
12
|
-
Requires-Dist: reportlab==
|
|
12
|
+
Requires-Dist: reportlab==4.2.5
|
|
13
13
|
Requires-Dist: django-formtools==2.5.1
|
|
14
14
|
Requires-Dist: django-otp==1.5.4
|
|
15
15
|
Requires-Dist: requests==2.32.2
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
cfl_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
cfl_common/setup.py,sha256=
|
|
2
|
+
cfl_common/setup.py,sha256=T8DMxXoniOYHNZpgks4TvYvAt4lDnZxDHAwVBH-02iM,978
|
|
3
3
|
cfl_common/common/__init__.py,sha256=XlncBOpKp_gekbKH7Y_i6yu1qy5tJc3Y8sn8cDy-Vgk,48
|
|
4
4
|
cfl_common/common/app_settings.py,sha256=Bw1DXkZpNIdwUJ-cIOjZnngH5_NbMXC0koW7NgQ0pKY,2495
|
|
5
5
|
cfl_common/common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
|
|
@@ -110,7 +110,7 @@ example_project/portal_test_settings.py,sha256=7Q7SdosA0Ba85qz-xkAe3EHyMPpSIQ61C
|
|
|
110
110
|
example_project/settings.py,sha256=NjFhtDNLwdY5vhUAtqk9a9m3GRfcuWRVqIqnJ3u0o6E,5658
|
|
111
111
|
example_project/urls.py,sha256=FUTzHPlUS1O5kqMHjL5V4L552N2ln7uTDXcw9wjKUto,422
|
|
112
112
|
example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
|
|
113
|
-
portal/__init__.py,sha256=
|
|
113
|
+
portal/__init__.py,sha256=EsLdncrDNNSYcAkb6bacgIFA7Oh4EZnzpp9alKokT5A,22
|
|
114
114
|
portal/admin.py,sha256=RKJizTF6dPJKmGPZw7nZUM0X8jkiTjgyKhLQxtvHJ0I,6148
|
|
115
115
|
portal/app_settings.py,sha256=DhWLQOwM0zVOXE3O5TNKbMM9K6agfLuCsHOdr1J7xEI,651
|
|
116
116
|
portal/backends.py,sha256=2Dss6_WoQwPuDzJUF1yEaTQTNG4eUrD12ujJQ5cp5Tc,812
|
|
@@ -118,7 +118,7 @@ portal/beta.py,sha256=0TCC-9_KZoM1nuzJ9FiuKR5n9JITdMYenHGQtRvn9UU,255
|
|
|
118
118
|
portal/context_processors.py,sha256=Q68UhmArLPRchS2KmfVR4hKrijllXal3sO5cHYWC2Fc,222
|
|
119
119
|
portal/handlers.py,sha256=gF99OfQrGcIGDnUyONhvylZNU8sl6XHYEurwu0fuiss,422
|
|
120
120
|
portal/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
|
-
portal/urls.py,sha256=
|
|
121
|
+
portal/urls.py,sha256=9d7cV2O8CTMT_Y2Nlkfxxfw8NHa0bw_RKgQw4ddqsgk,18194
|
|
122
122
|
portal/wsgi.py,sha256=3yRcNxBQG30NhzrVi93bX-DrbXtsIQBc70HiW5wbOyE,401
|
|
123
123
|
portal/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
124
124
|
portal/forms/admin.py,sha256=Cdl8-wvasAzvMfgUlFYzQjYeuyC7gIsSiy8V_-jMp7w,2080
|
|
@@ -437,7 +437,7 @@ portal/templates/django_recaptcha/includes/js_v2_invisible.html,sha256=QQnBzZBqd
|
|
|
437
437
|
portal/templates/portal/about.html,sha256=_iD0GCP6q3-XuZ2LC-9O0KYY-mKL6c9qk3O-NRRqsRM,10321
|
|
438
438
|
portal/templates/portal/base.html,sha256=4xLACNgKmRQTdEsdNNGYhLzMozzYzWIIzk31HrLGBf0,12109
|
|
439
439
|
portal/templates/portal/base_no_userprofile.html,sha256=PlRufyYmUUGWBZ6CvbYhJWOMTqKqdcee4xnO5--AogA,447
|
|
440
|
-
portal/templates/portal/coding_club.html,sha256=
|
|
440
|
+
portal/templates/portal/coding_club.html,sha256=DhPSIhxxzo6w0v80jXKVo_fjZ_TKnv7_u5cQq0woW8Q,5324
|
|
441
441
|
portal/templates/portal/contribute.html,sha256=UIC_N3Lun9wB_6jEra0wvlT9fDiiIeMby7_onXYo6k0,4176
|
|
442
442
|
portal/templates/portal/dotmailer_consent_form.html,sha256=UDdizPoKYZGybr6z9nzDV4WPhJPa-S3bIKywvVgFrxg,918
|
|
443
443
|
portal/templates/portal/email_invitation_sent.html,sha256=hAMzQXE3NFGnOsQlCGuo3Aps-vazSJb5BhAN7bWT48M,641
|
|
@@ -611,7 +611,7 @@ portal/views/admin.py,sha256=4Xt3zEyQH7sUwQSrwuRtoCodWidjOzd7gJUwWU96pXY,957
|
|
|
611
611
|
portal/views/api.py,sha256=mdWmFkV5mxmR-mvj6ttIe8uwW9tbcx9-5ykk5dpX0LI,7047
|
|
612
612
|
portal/views/dotmailer.py,sha256=x49p89TtwA1MLysRLtq5yRRzVtIpzGoU__Xb5hPuHak,3208
|
|
613
613
|
portal/views/email.py,sha256=V3wXRxIjeZ4OJBVqGCQrPn-GQWKZK1PCXbR1f2Zpa_4,2174
|
|
614
|
-
portal/views/home.py,sha256=
|
|
614
|
+
portal/views/home.py,sha256=8leK4ADxRg-gK-bm7D08CR44bhV3I8lt5pCV59HXMkk,9619
|
|
615
615
|
portal/views/legal.py,sha256=nUunsTHnhMcXBcDlg1GmUal86k9Vhinne4A2FWfq78M,342
|
|
616
616
|
portal/views/organisation.py,sha256=sPDbiM7hdtpF8GKyh_4n4VPl2a-WnAgnF4q9aSvQCVI,3341
|
|
617
617
|
portal/views/play_landing_page.py,sha256=FFmjUFub3ZdlbMqkB8yX3jAImCzqrUqgb8AZcpKywZ4,308
|
|
@@ -633,8 +633,8 @@ portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
633
633
|
portal/views/two_factor/core.py,sha256=Lk32z2SN2Pg0rRkK-N-LXMvXC1kKKsH3l692kiSDQ4E,964
|
|
634
634
|
portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
|
|
635
635
|
portal/views/two_factor/profile.py,sha256=SHSg_xHccE5PtD-OfuOkYhREYz_er4bj5ro1RjJ88Yw,393
|
|
636
|
-
codeforlife_portal-8.1.
|
|
637
|
-
codeforlife_portal-8.1.
|
|
638
|
-
codeforlife_portal-8.1.
|
|
639
|
-
codeforlife_portal-8.1.
|
|
640
|
-
codeforlife_portal-8.1.
|
|
636
|
+
codeforlife_portal-8.1.2.dist-info/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
|
|
637
|
+
codeforlife_portal-8.1.2.dist-info/METADATA,sha256=8CmqSD1WWVfvsulf47gxjkpy2HNBNZvXZyycu_0anTI,3077
|
|
638
|
+
codeforlife_portal-8.1.2.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
|
|
639
|
+
codeforlife_portal-8.1.2.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
|
|
640
|
+
codeforlife_portal-8.1.2.dist-info/RECORD,,
|
portal/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "8.1.
|
|
1
|
+
__version__ = "8.1.2"
|
|
@@ -46,12 +46,9 @@
|
|
|
46
46
|
</p>
|
|
47
47
|
</div>
|
|
48
48
|
<div>
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Download the Primary coding club pack<span class="iconify" data-icon="mdi:tray-arrow-down"></span>
|
|
53
|
-
</button>
|
|
54
|
-
</form>
|
|
49
|
+
<a id="primary_pack" download type="submit" class="button button--primary button--icon" href="https://code-for-life.gitbook.io/code-for-life-primary-club-resources">
|
|
50
|
+
Download the Primary coding club pack<span class="iconify" data-icon="mdi:tray-arrow-down"></span>
|
|
51
|
+
</a>
|
|
55
52
|
</div>
|
|
56
53
|
</div>
|
|
57
54
|
<div class="col-sm-6 d-flex flex-column">
|
|
@@ -77,7 +74,7 @@
|
|
|
77
74
|
<h4 class="mt-0">Python coding club</h4>
|
|
78
75
|
<p>
|
|
79
76
|
Download your FREE coding club pack for students aged 12 and above.
|
|
80
|
-
This pack is a fast
|
|
77
|
+
This pack is a fast-paced introduction to Python. It is aimed at students already interested
|
|
81
78
|
in learning coding, individuals looking to learn and run their own club, or adults wanting to
|
|
82
79
|
try coding out. It is designed to be used in face-to-face or online clubs.
|
|
83
80
|
</p>
|
portal/urls.py
CHANGED
|
@@ -5,7 +5,6 @@ from django.views.generic import RedirectView
|
|
|
5
5
|
from django.views.generic.base import TemplateView
|
|
6
6
|
from django.views.i18n import JavaScriptCatalog
|
|
7
7
|
from game.views.level import play_default_level
|
|
8
|
-
from two_factor.urls import urlpatterns as tf_urls
|
|
9
8
|
from two_factor.views import (
|
|
10
9
|
BackupTokensView,
|
|
11
10
|
ProfileView,
|
|
@@ -44,7 +43,6 @@ from portal.views.dotmailer import (
|
|
|
44
43
|
from portal.views.email import verify_email
|
|
45
44
|
from portal.views.home import (
|
|
46
45
|
coding_club,
|
|
47
|
-
download_student_pack,
|
|
48
46
|
home,
|
|
49
47
|
home_learning,
|
|
50
48
|
logout_view,
|
|
@@ -527,11 +525,6 @@ urlpatterns = [
|
|
|
527
525
|
),
|
|
528
526
|
),
|
|
529
527
|
re_path(r"^codingClub/$", coding_club, name="codingClub"),
|
|
530
|
-
re_path(
|
|
531
|
-
r"^codingClub/(?P<student_pack_type>[3-4])/",
|
|
532
|
-
download_student_pack,
|
|
533
|
-
name="download_student_pack",
|
|
534
|
-
),
|
|
535
528
|
re_path(
|
|
536
529
|
r"^removeFakeAccounts/",
|
|
537
530
|
RemoveFakeAccounts.as_view(),
|
portal/views/home.py
CHANGED
|
@@ -2,8 +2,6 @@ import logging
|
|
|
2
2
|
import math
|
|
3
3
|
|
|
4
4
|
from common.helpers.emails import (
|
|
5
|
-
NOTIFICATION_EMAIL,
|
|
6
|
-
send_email,
|
|
7
5
|
send_verification_email,
|
|
8
6
|
)
|
|
9
7
|
from common.mail import campaign_ids, send_dotdigital_email
|
|
@@ -16,7 +14,7 @@ from django.contrib.auth.models import User
|
|
|
16
14
|
from django.core.exceptions import ObjectDoesNotExist
|
|
17
15
|
from django.db.models import F
|
|
18
16
|
from django.http import HttpResponse, HttpResponseRedirect
|
|
19
|
-
from django.shortcuts import
|
|
17
|
+
from django.shortcuts import render
|
|
20
18
|
from django.urls import reverse, reverse_lazy
|
|
21
19
|
from django.utils import timezone
|
|
22
20
|
from django.utils.html import format_html
|
|
@@ -37,8 +35,6 @@ from portal.strings.ten_year_map import (
|
|
|
37
35
|
TEN_YEAR_MAP_BANNER,
|
|
38
36
|
TEN_YEAR_MAP_HEADLINE,
|
|
39
37
|
)
|
|
40
|
-
from portal.templatetags.app_tags import cloud_storage
|
|
41
|
-
from portal.views.teacher.teach import count_student_pack_downloads_click
|
|
42
38
|
|
|
43
39
|
LOGGER = logging.getLogger(__name__)
|
|
44
40
|
|
|
@@ -281,13 +277,6 @@ def coding_club(request):
|
|
|
281
277
|
)
|
|
282
278
|
|
|
283
279
|
|
|
284
|
-
def download_student_pack(request, student_pack_type):
|
|
285
|
-
if request.method == "POST":
|
|
286
|
-
count_student_pack_downloads_click(int(student_pack_type))
|
|
287
|
-
link = cloud_storage("club_packs/PrimaryCodingClub.zip")
|
|
288
|
-
return redirect(link)
|
|
289
|
-
|
|
290
|
-
|
|
291
280
|
def home_learning(request):
|
|
292
281
|
return render(
|
|
293
282
|
request,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|