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

@@ -44,6 +44,9 @@ DOTMAILER_SEND_CAMPAIGN_URL = getattr(settings, "DOTMAILER_SEND_CAMPAIGN_URL", "
44
44
  # ID of the "Thanks for staying!" campaign in Dotmailer
45
45
  DOTMAILER_THANKS_FOR_STAYING_CAMPAIGN_ID = getattr(settings, "DOTMAILER_THANKS_FOR_STAYING_CAMPAIGN_ID", "")
46
46
 
47
+ # Fernet encryption for OAuth2 sign in
48
+ ENCRYPTION_KEY = getattr(settings, "ENCRYPTION_KEY", "")
49
+
47
50
  # The name of the google app engine service the application is running on, local otherwise
48
51
  MODULE_NAME = getattr(settings, "MODULE_NAME", "local")
49
52
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeforlife-portal
3
- Version: 8.8.2
3
+ Version: 8.9.0
4
4
  Classifier: Programming Language :: Python
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Framework :: Django
@@ -14,7 +14,7 @@ Requires-Dist: botocore==1.36.26; python_version >= "3.8"
14
14
  Requires-Dist: celery[sqs]==5.4.0; python_version >= "3.8"
15
15
  Requires-Dist: certifi==2025.8.3; python_version >= "3.7"
16
16
  Requires-Dist: cffi==1.17.1; platform_python_implementation != "PyPy"
17
- Requires-Dist: cfl-common==8.8.2
17
+ Requires-Dist: cfl-common==8.9.0
18
18
  Requires-Dist: charset-normalizer==3.4.3; python_version >= "3.7"
19
19
  Requires-Dist: click==8.2.1; python_version >= "3.10"
20
20
  Requires-Dist: click-didyoumean==0.3.1; python_full_version >= "3.6.2"
@@ -1,7 +1,7 @@
1
1
  cfl_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cfl_common/setup.py,sha256=zjoRk8QkIeb4ZfRW6BeozmtX_6Fme913s9ntoUJrpBM,1720
3
3
  cfl_common/common/__init__.py,sha256=XlncBOpKp_gekbKH7Y_i6yu1qy5tJc3Y8sn8cDy-Vgk,48
4
- cfl_common/common/app_settings.py,sha256=Bw1DXkZpNIdwUJ-cIOjZnngH5_NbMXC0koW7NgQ0pKY,2495
4
+ cfl_common/common/app_settings.py,sha256=TCUlvuVH4Y3d8EITuWyvY4sjxnA7gJnAZyTd8yfV3zE,2592
5
5
  cfl_common/common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
6
6
  cfl_common/common/context_processors.py,sha256=X0iuX5qu9kMWa7q8osE9CJ2LgM7pPOYQFGdjm8X3rk0,236
7
7
  cfl_common/common/csp_config.py,sha256=saeg9LbRr5xw7NDJPlt6fqi8Zz0vI8Rpc4VCS6oJNe8,2976
@@ -88,7 +88,7 @@ cfl_common/common/tests/utils/organisation.py,sha256=vNgKFtU3VPcWRnZfh82yCS90PLA
88
88
  cfl_common/common/tests/utils/student.py,sha256=PLd980iSlxmMoB8J3C2pVjNC5xHdVxfAkJXzhv_dRhg,3814
89
89
  cfl_common/common/tests/utils/teacher.py,sha256=KQ_NAl4yQqiX_zwcULQjkovc29JPhnkLR5Nk3Ljzbpg,2661
90
90
  cfl_common/common/tests/utils/user.py,sha256=NvLzZLVP4jy5Hn1iztOYF_BTQ9WsbSmuWMEzGzhAsRU,919
91
- codeforlife_portal-8.8.2.dist-info/licenses/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
91
+ codeforlife_portal-8.9.0.dist-info/licenses/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
92
92
  deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  deploy/captcha.py,sha256=MbOBuGnbT_SOIltSjP1XMOLrfo1DldCilaVAEim0vM4,23
94
94
  deploy/views.py,sha256=7mY2zNPkaBFrlWGByJHp2zFqHIHSMc0YArjE_sFWMMU,131
@@ -113,7 +113,7 @@ example_project/portal_test_settings.py,sha256=_6EDMwnYH2yCukgiop0sobqShbB8tivO9
113
113
  example_project/settings.py,sha256=IsicdosIyB_3K2sv60bQvhAm6qm5fYWYut7oWTDZ778,6214
114
114
  example_project/urls.py,sha256=FUTzHPlUS1O5kqMHjL5V4L552N2ln7uTDXcw9wjKUto,422
115
115
  example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
116
- portal/__init__.py,sha256=zhwbOyu2u3qgNJQq355YyLGTwwFJxFmr9I6gkQzux6g,22
116
+ portal/__init__.py,sha256=UaNl2yn2v4Ia_5--i67UcyA4R7I_VLgKz75bbOAoRXU,22
117
117
  portal/admin.py,sha256=RKJizTF6dPJKmGPZw7nZUM0X8jkiTjgyKhLQxtvHJ0I,6148
118
118
  portal/app_settings.py,sha256=8P3r0ArkOzL_iVjoaLIHsNWG4uP1tT2z1kCUHPhAZ9s,714
119
119
  portal/backends.py,sha256=2Dss6_WoQwPuDzJUF1yEaTQTNG4eUrD12ujJQ5cp5Tc,812
@@ -440,7 +440,7 @@ portal/templates/django_recaptcha/includes/js_v2_invisible.html,sha256=QQnBzZBqd
440
440
  portal/templates/portal/about.html,sha256=_iD0GCP6q3-XuZ2LC-9O0KYY-mKL6c9qk3O-NRRqsRM,10321
441
441
  portal/templates/portal/base.html,sha256=pEcfyYQjWtZk-de4NuQBcZwu9VMQFangbrpSnz3pJqg,11655
442
442
  portal/templates/portal/base_no_userprofile.html,sha256=PlRufyYmUUGWBZ6CvbYhJWOMTqKqdcee4xnO5--AogA,447
443
- portal/templates/portal/coding_club.html,sha256=DhPSIhxxzo6w0v80jXKVo_fjZ_TKnv7_u5cQq0woW8Q,5324
443
+ portal/templates/portal/coding_club.html,sha256=aINDxOqvTfG2WBSKUHE7JiwlCW-RVSi673QbZ-G9zoY,4852
444
444
  portal/templates/portal/contribute.html,sha256=bhIMaUh9ucQfiudomsZJerYRuhA7963ELO7ukH7vgdw,4269
445
445
  portal/templates/portal/dotmailer_consent_form.html,sha256=UDdizPoKYZGybr6z9nzDV4WPhJPa-S3bIKywvVgFrxg,918
446
446
  portal/templates/portal/email_invitation_sent.html,sha256=hAMzQXE3NFGnOsQlCGuo3Aps-vazSJb5BhAN7bWT48M,641
@@ -636,7 +636,7 @@ portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
636
636
  portal/views/two_factor/core.py,sha256=Lk32z2SN2Pg0rRkK-N-LXMvXC1kKKsH3l692kiSDQ4E,964
637
637
  portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
638
638
  portal/views/two_factor/profile.py,sha256=SHSg_xHccE5PtD-OfuOkYhREYz_er4bj5ro1RjJ88Yw,393
639
- codeforlife_portal-8.8.2.dist-info/METADATA,sha256=TPz2_m3zW1FeSQMQOVbFLPvYztek0tMJGgxgI7xtKZc,10801
640
- codeforlife_portal-8.8.2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
641
- codeforlife_portal-8.8.2.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
642
- codeforlife_portal-8.8.2.dist-info/RECORD,,
639
+ codeforlife_portal-8.9.0.dist-info/METADATA,sha256=em_v73lF_vcG63YEdZ3z9Wcu4-WqU5RyCX3-o3y9bBA,10801
640
+ codeforlife_portal-8.9.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
641
+ codeforlife_portal-8.9.0.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
642
+ codeforlife_portal-8.9.0.dist-info/RECORD,,
portal/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "8.8.2"
1
+ __version__ = "8.9.0"
@@ -40,15 +40,17 @@
40
40
  students to the first principles of Python at a faster pace than the regular lesson
41
41
  plans. It is aimed at students already interested in learning coding and can be used in clubs,
42
42
  at home or in school, on or offline.
43
- </p>
44
- <p>
45
- View the resources <a target="_blank" href="https://code-for-life.gitbook.io/code-for-life-primary-club-resources">online here</a>.
46
- </p>
47
43
  </div>
48
44
  <div>
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>
45
+ {% if user|is_logged_in_as_teacher %}
46
+ <a id="primary_pack" target="_blank" type="submit" class="button button--primary button--icon" href="https://code-for-life.gitbook.io/teaching-resources/code-club-resources-primary/">
47
+ Get started with our Primary coding club pack<span class="iconify" data-icon="mdi:open-in-new"></span>
48
+ </a>
49
+ {% else %}
50
+ <a id="primary_pack" target="_blank" type="submit" class="button button--primary button--icon" href="https://code-for-life.gitbook.io/code-for-life-primary-club-resources">
51
+ View Primary coding club pack<span class="iconify" data-icon="mdi:open-in-new"></span>
52
+ </a>
53
+ {% endif %}
52
54
  </div>
53
55
  </div>
54
56
  <div class="col-sm-6 d-flex flex-column">
@@ -78,27 +80,17 @@
78
80
  in learning coding, individuals looking to learn and run their own club, or adults wanting to
79
81
  try coding out. It is designed to be used in face-to-face or online clubs.
80
82
  </p>
81
- <p>
82
- View the resources <a target="_blank" href="https://code-for-life.gitbook.io/code-for-life-python-club-resources">online here</a>.
83
- </p>
84
83
  </div>
85
84
  <div>
86
- <!-- TODO: improve responsiveness -->
87
- <div style="margin-bottom: 10px;">
88
- <a id="grass_snakes_pack" download class="button button--primary button--icon" href="https://content.gitbook.com/content/5508uzXa7roQPZikv2aI/blobs/kpNf9JheYqpbfjVWILfG/Grass%20Snakes%20Club.zip">
89
- Lvl 1: Grass Snakes<span class="iconify" data-icon="mdi:tray-arrow-down"></span>
90
- </a>
91
- </div>
92
- <div style="margin-bottom: 10px;">
93
- <a id="tiger_snakes_pack" download type="submit" class="button button--primary button--icon" href="https://content.gitbook.com/content/5508uzXa7roQPZikv2aI/blobs/AwIiOPatP90PeCOwzaPX/Tiger%20Snakes%20Club.zip">
94
- Lvl 2: Tiger Snakes<span class="iconify" data-icon="mdi:tray-arrow-down"></span>
85
+ {% if user|is_logged_in_as_teacher %}
86
+ <a id="python_pack" target="_blank" type="submit" class="button button--primary button--icon" href="https://code-for-life.gitbook.io/teaching-resources/rapid-introduction-to-python-code-club">
87
+ Get started with our Python coding club packs<span class="iconify" data-icon="mdi:open-in-new"></span>
95
88
  </a>
96
- </div>
97
- <div>
98
- <a id="cobra_snakes_pack" download type="submit" class="button button--primary button--icon" href="https://content.gitbook.com/content/5508uzXa7roQPZikv2aI/blobs/KLfkfRtnmPBaexhhtrPO/Cobra%20Club.zip">
99
- Lvl 3: Cobra Snakes<span class="iconify" data-icon="mdi:tray-arrow-down"></span>
89
+ {% else %}
90
+ <a id="python_pack" target="_blank" type="submit" class="button button--primary button--icon" href="https://code-for-life.gitbook.io/code-for-life-python-club-resources">
91
+ View Python coding club packs<span class="iconify" data-icon="mdi:open-in-new"></span>
100
92
  </a>
101
- </div>
93
+ {% endif %}
102
94
  </div>
103
95
  </div>
104
96
  </div>