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

@@ -29,7 +29,6 @@ CSP_SCRIPT_SRC = (
29
29
  "https://cdn-ukwest.onetrust.com/",
30
30
  "https://code.iconify.design/2/2.0.3/iconify.min.js",
31
31
  "https://www.googletagmanager.com/",
32
- "https://cdn.mouseflow.com/",
33
32
  "https://www.recaptcha.net/",
34
33
  "https://www.google.com/recaptcha/",
35
34
  "https://www.gstatic.com/recaptcha/",
@@ -13,7 +13,7 @@ def generate_details(**kwargs):
13
13
  first_name = kwargs.get("first_name", "Test")
14
14
  last_name = kwargs.get("last_name", f"Teacher {random_int}")
15
15
  email_address = kwargs.get("email_address", f"testteacher{random_int}@codeforlife.com")
16
- password = kwargs.get("password", "$RFVBGT%6yhn")
16
+ password = kwargs.get("password", "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn")
17
17
 
18
18
  return first_name, last_name, email_address, password
19
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codeforlife-portal
3
- Version: 8.3.6
3
+ Version: 8.3.7
4
4
  Classifier: Programming Language :: Python
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Framework :: Django
@@ -4,7 +4,7 @@ cfl_common/common/__init__.py,sha256=XlncBOpKp_gekbKH7Y_i6yu1qy5tJc3Y8sn8cDy-Vgk
4
4
  cfl_common/common/app_settings.py,sha256=Bw1DXkZpNIdwUJ-cIOjZnngH5_NbMXC0koW7NgQ0pKY,2495
5
5
  cfl_common/common/apps.py,sha256=49UXZ3bSkFKvIEOL4zM7y1sAhccQJyRtsoOg5XVd_8Y,129
6
6
  cfl_common/common/context_processors.py,sha256=X0iuX5qu9kMWa7q8osE9CJ2LgM7pPOYQFGdjm8X3rk0,236
7
- cfl_common/common/csp_config.py,sha256=9ECOLnp60ENRFAYEEIoYOMhqQzLgfKA-wkWxeUBwDrQ,2824
7
+ cfl_common/common/csp_config.py,sha256=ex0--OwvUAEbrdI37p8FSlDhB8IVyl_XWbCPVVF9MY8,2790
8
8
  cfl_common/common/mail.py,sha256=pIRfUMVoJWxdv74UqToj_0_pTVTC51z6QlFVLI3QBOw,6874
9
9
  cfl_common/common/models.py,sha256=_uD8pIO5fGVbOD8NydJVIzpiEDAaR2hIfpOhDT6jB34,16106
10
10
  cfl_common/common/permissions.py,sha256=gC6RQGZI2QDBbglx-xr_V4Hl2C2nf1V2_uPmEuoEcJo,2416
@@ -85,7 +85,7 @@ cfl_common/common/tests/utils/classes.py,sha256=ZA2pp9Pyx3rwi0VFwtuUA2Pys9xQJ-L_
85
85
  cfl_common/common/tests/utils/email.py,sha256=RljsVjIob4Uqi3O5YhP2ifqfc4cMcdP4Gv0EaL-sHXo,1780
86
86
  cfl_common/common/tests/utils/organisation.py,sha256=vNgKFtU3VPcWRnZfh82yCS90PLAK1XTYJNIxGwfgUI4,966
87
87
  cfl_common/common/tests/utils/student.py,sha256=PLd980iSlxmMoB8J3C2pVjNC5xHdVxfAkJXzhv_dRhg,3814
88
- cfl_common/common/tests/utils/teacher.py,sha256=bJAYLzZdksCIHNxUJJYGZNLHj-axYro4pd3_sXvXbno,2625
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
90
  deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
91
  deploy/captcha.py,sha256=MbOBuGnbT_SOIltSjP1XMOLrfo1DldCilaVAEim0vM4,23
@@ -111,7 +111,7 @@ example_project/portal_test_settings.py,sha256=mTyObCGkZEI0IQSZkqCjb1WZ7ebjQLwui
111
111
  example_project/settings.py,sha256=pHQDI_A_yXV3u1efj689tc-vPI6nBFma4gMMPBzj0aI,5652
112
112
  example_project/urls.py,sha256=FUTzHPlUS1O5kqMHjL5V4L552N2ln7uTDXcw9wjKUto,422
113
113
  example_project/wsgi.py,sha256=U1W6WzZxZaIdYZ5tks7w9fqp5WS5qvn2iThsVcskrWw,829
114
- portal/__init__.py,sha256=TLM6U0HCNd6UWgPR-XE8azfEdPb_3vQDRKSAnrFQomQ,22
114
+ portal/__init__.py,sha256=MfRmBzkYevkFvKDnDE52jzpXW42SCoiWRMFzqpdxzOA,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
@@ -437,7 +437,7 @@ portal/templates/maintenance.html,sha256=RmPSkcTt9Vs6nGsIK9Q9rMyMAICqbaqMql4FmwL
437
437
  portal/templates/django_recaptcha/widget_v2_invisible.html,sha256=3t5JHgyr_so5FQEUtbq501kEjz80KYBOoVz3PuU1JOc,318
438
438
  portal/templates/django_recaptcha/includes/js_v2_invisible.html,sha256=QQnBzZBqdtPeJeYFOIihJM18YoSUWbsGjuoMy-5gxNM,1408
439
439
  portal/templates/portal/about.html,sha256=_iD0GCP6q3-XuZ2LC-9O0KYY-mKL6c9qk3O-NRRqsRM,10321
440
- portal/templates/portal/base.html,sha256=7fkLX5l48Puf63zlnhxdrD0utw8FwOAHCuXKvyijtuQ,11690
440
+ portal/templates/portal/base.html,sha256=lAY0DO-OpW-O81tqZxnEmGAnXiJomzj2xsi5L8hTEls,11644
441
441
  portal/templates/portal/base_no_userprofile.html,sha256=PlRufyYmUUGWBZ6CvbYhJWOMTqKqdcee4xnO5--AogA,447
442
442
  portal/templates/portal/coding_club.html,sha256=DhPSIhxxzo6w0v80jXKVo_fjZ_TKnv7_u5cQq0woW8Q,5324
443
443
  portal/templates/portal/contribute.html,sha256=UIC_N3Lun9wB_6jEra0wvlT9fDiiIeMby7_onXYo6k0,4176
@@ -452,9 +452,8 @@ portal/templates/portal/home.html,sha256=J10xWo7opn_BjQrdxpn0wg1bo6w4DwjpTEOJ-pk
452
452
  portal/templates/portal/home_learning.html,sha256=U1_AYrTNLqCjla7-vdVkC6SOigGBAmu3kscuiYNH4rw,10070
453
453
  portal/templates/portal/locked_out.html,sha256=JeiFHFyueFX03D54k82swjxvKY78cFG8Vre-bKKv_7Y,894
454
454
  portal/templates/portal/locked_out_school_student.html,sha256=bcpLtu4mkHR-zILLuArtHH2OfUSjHiqntcdbTMlx5Kg,684
455
- portal/templates/portal/mouseflow.html,sha256=ji9SWR86nqC59xdmivfdPNG5OzFk8gJEUeOUUh52alk,361
456
455
  portal/templates/portal/play.html,sha256=ETfPEVoWeWC8Jwwrr_2WaxYM_TyV4EHkq1l3RuKtrRM,5604
457
- portal/templates/portal/privacy_notice.html,sha256=hZ41kpPeymv1leH1LAbVB98nVczf-m2-Fj79jH8DqFY,56482
456
+ portal/templates/portal/privacy_notice.html,sha256=78KsMVUvZi_nQUG12k-zGiMjN_bT0R4X_K-scaUNcJQ,54662
458
457
  portal/templates/portal/register.html,sha256=4RqUxRiQOvd-oHAM5x6U01zdlYRfy-h8NUGl8UIiBC0,12531
459
458
  portal/templates/portal/reset_password.html,sha256=YzsREz5D2OwhicMLahVOVDXiNDxoHlPqU5iu96i36W0,1373
460
459
  portal/templates/portal/reset_password_confirm.html,sha256=jPHSDatezRXzCG4zH_5BQPWAxLblidqro0hzvsH54ho,3499
@@ -549,9 +548,9 @@ portal/tests/test_partials.py,sha256=cSLNLjdsriROjPxkZlM3HKD3CSKDuKgpaDIdL3fPyBs
549
548
  portal/tests/test_ratelimit.py,sha256=XWq1A9XgRrlcMHibGoJ0kc4gLc5U_u5UhKHjthxCfYA,19376
550
549
  portal/tests/test_school_student.py,sha256=bFZwY4twaFHQLp0cltMq8cLNDZGgCHTZBCZHK0JcV8s,8604
551
550
  portal/tests/test_security.py,sha256=FGrlRfnzi-Xx2_bn4fTZlYORKm7w_GhGkD3havvplwc,3239
552
- portal/tests/test_teacher.py,sha256=vjnJi_aj_x48OJOMMRIBr0JTCxy4tFxqrLfCgw0fRxQ,29315
551
+ portal/tests/test_teacher.py,sha256=frtRdsjiwerj7KZ7jbLbSPlBgCspQ9FGFXBXy-m2gas,29351
553
552
  portal/tests/test_teacher_student.py,sha256=NWITbUw1kijqu3c8eRHLHJKaYQMOsOMvl7PAVx5QghI,21567
554
- portal/tests/test_views.py,sha256=hkOxKC7oMoIsjiwVPX_HSwd2WmAQBjNbaxsz1d6FS4Y,47422
553
+ portal/tests/test_views.py,sha256=Hv0rVOLmYivMqzJK1AQeRJ85YHTCRrlr12hcf1B83Bk,47566
555
554
  portal/tests/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
556
555
  portal/tests/migrations/test_migration_make_portaladmin_teacher.py,sha256=ekMRb6cU97oT0k9gCKW7IUB7oPuGmv4uWJCqInQN7x8,2589
557
556
  portal/tests/migrations/test_migration_preview_user_remove.py,sha256=K6D-FZT9YFEA8oMxHz9VTglVV6MZOTRYVlvwWwXc2vU,555
@@ -613,7 +612,7 @@ portal/views/api.py,sha256=mdWmFkV5mxmR-mvj6ttIe8uwW9tbcx9-5ykk5dpX0LI,7047
613
612
  portal/views/dotmailer.py,sha256=OH06IXuqqjhQbEie8g8y2ZY1oZvsCtNHhkQRLa-julg,2467
614
613
  portal/views/email.py,sha256=V3wXRxIjeZ4OJBVqGCQrPn-GQWKZK1PCXbR1f2Zpa_4,2174
615
614
  portal/views/home.py,sha256=8leK4ADxRg-gK-bm7D08CR44bhV3I8lt5pCV59HXMkk,9619
616
- portal/views/legal.py,sha256=9m143zbEchH-U-2PCMuT25ErtZT4jQER5EgcFLb8gpk,348
615
+ portal/views/legal.py,sha256=yarJgxmr0q2Bn5TAKfBdVdxc964YIJN2ByG2SvY6IP0,348
617
616
  portal/views/organisation.py,sha256=sPDbiM7hdtpF8GKyh_4n4VPl2a-WnAgnF4q9aSvQCVI,3341
618
617
  portal/views/play_landing_page.py,sha256=FFmjUFub3ZdlbMqkB8yX3jAImCzqrUqgb8AZcpKywZ4,308
619
618
  portal/views/registration.py,sha256=9cDKFVXVyJcMJBVZLwHoucMI4UwsOhbUxMdcxIEOixs,10889
@@ -634,8 +633,8 @@ portal/views/two_factor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
634
633
  portal/views/two_factor/core.py,sha256=Lk32z2SN2Pg0rRkK-N-LXMvXC1kKKsH3l692kiSDQ4E,964
635
634
  portal/views/two_factor/form.py,sha256=lnHNKI-BMlpncTuW3zUzjPaJJNuEra2I_nOam0eOKFY,257
636
635
  portal/views/two_factor/profile.py,sha256=SHSg_xHccE5PtD-OfuOkYhREYz_er4bj5ro1RjJ88Yw,393
637
- codeforlife_portal-8.3.6.dist-info/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
638
- codeforlife_portal-8.3.6.dist-info/METADATA,sha256=WZfwaIQGEa74M0lGEtpNa-TxzsFU8zqDJXal56-dd8Q,3077
639
- codeforlife_portal-8.3.6.dist-info/WHEEL,sha256=WDDPHYzpiOIm6GP1C2_8y8W6q16ICddAgOHlhTje9Qc,109
640
- codeforlife_portal-8.3.6.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
641
- codeforlife_portal-8.3.6.dist-info/RECORD,,
636
+ codeforlife_portal-8.3.7.dist-info/LICENSE.md,sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w,115
637
+ codeforlife_portal-8.3.7.dist-info/METADATA,sha256=uAbhy7DUnvpfPSZXzd-kGIavmxHQEnA7vWyf_hi_c5c,3077
638
+ codeforlife_portal-8.3.7.dist-info/WHEEL,sha256=WDDPHYzpiOIm6GP1C2_8y8W6q16ICddAgOHlhTje9Qc,109
639
+ codeforlife_portal-8.3.7.dist-info/top_level.txt,sha256=8e5pdsuIoTqEAMqpelHBjGjLbffcBtgOoggmd2q7nMw,41
640
+ codeforlife_portal-8.3.7.dist-info/RECORD,,
portal/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "8.3.6"
1
+ __version__ = "8.3.7"
@@ -80,7 +80,6 @@
80
80
  <body id="top">
81
81
  {% include "portal/tag_manager/tag_manager_body.html" %}
82
82
  {% render_block "js" %}
83
- {% include 'portal/mouseflow.html' %}
84
83
  <div class="content-footer-wrapper">
85
84
  {% block contentWrapper %}
86
85
  <div {% block pageID %}id="contentWrapper"{% endblock %}>
@@ -302,11 +302,10 @@
302
302
  <td><p>These cookies help us understand how you use our portal and improve or optimise the experience we
303
303
  provide. This can be anything like which pages you go to most often, and if you get error messages from
304
304
  web pages. They allow us to measure how visitors interact with the portal (for example which parts of
305
- the website are clicked on and the length of time between clicks).</p>
305
+ the website are clicked on).</p>
306
306
  <p>We use third-party web analytics software on our portal
307
- (<a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage" target="_blank">Google Analytics</a>
308
- and <a href="https://mouseflow.com/gdpr/" target="_blank">Mouseflow</a>). We provide further
309
- information about these partners below.</p>
307
+ (<a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage" target="_blank">Google Analytics</a>).
308
+ We provide further information about these partners below.</p>
310
309
  </td>
311
310
  <td><p>24</p></td>
312
311
  </tr>
@@ -315,8 +314,7 @@
315
314
  <h6 id="third-party-cookies">6.3 Third party cookies</h6>
316
315
  <p>We do not allow third party advertising, or affiliation on our portal.</p>
317
316
  <p>As we explain above, we work with other companies to use analytics cookies on our portal: these are Google, who
318
- provide Google Analytics cookies, and Mouseflow. We explain in more detail below what information they collect
319
- and how it is used.</p>
317
+ provide Google Analytics cookies. We explain in more detail below what information they collect and how it is used.</p>
320
318
  <p><strong>Google Analytics</strong>. Our portal uses Google Analytics, which is provided by Google, Inc.
321
319
  ("Google"). Google Analytics uses cookies to help us analyse how users use our portal. The information generated
322
320
  by the cookie about your use of the website will be transmitted to and stored by Google on servers in the
@@ -329,14 +327,6 @@
329
327
  target="_blank">here</a>.
330
328
  By accepting analytics / performance cookies on our portal, you consent to the processing of data about you
331
329
  by Google in the manner and for the purposes set out above.</p>
332
- <p><strong>Mouseflow</strong>. We also use Mouseflow on our portal; this provider offers a website analytics tool
333
- that helps us understand how our portal is used, and which areas are mostly used (e.g. by using heatmaps or by
334
- replaying your journey on our portal). Mouseflow uses cookies to record information such as when you click on or
335
- move your mouse, when you scroll, or press a key, what pages you visit on our website, how much time you spend
336
- on each page, and also information about the device you use (operating system, device type
337
- (desktop/tablet/phone), screen resolution, location (city/country), language, and similar metadata). Mouseflow
338
- does not collect any information on pages where it is not installed, nor does it track or collect information
339
- outside your web browser.</p>
340
330
  <p><strong>YouTube</strong>. While embedded YouTube videos on our website do not use cookies, your browser's
341
331
  Local Storage may be used by the video platform provider to enhance your viewing experience and collect
342
332
  analytics data. This data enables the platform to track your interaction with the video content and may
@@ -646,9 +636,8 @@
646
636
  pages. They allow us to measure how visitors use the portal (for example which parts of the website
647
637
  are clicked on and the length of time between clicks).</p>
648
638
  <p>We use other companies called
649
- (<a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage" target="_blank">Google Analytics</a>
650
- and <a href="https://mouseflow.com/gdpr/" target="_blank">Mouseflow</a>) to help us collect
651
- information from these cookies (see the “Third-party cookies” section below).</p>
639
+ (<a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage" target="_blank">Google Analytics</a>)
640
+ to help us collect information from these cookies (see the “Third-party cookies” section below).</p>
652
641
  </td>
653
642
  <td><p>24 months</p></td>
654
643
  </tr>
@@ -657,21 +646,15 @@
657
646
  <h6>Third party cookies</h6>
658
647
 
659
648
  <p>We work with other companies to run the analytics cookies on our portal, including Google, who provides our
660
- Google Analytics cookie, and Mouseflow. They might also collect information from websites that are not ours.
661
- We explain in more detail below what information they collect and how it is used. We do not let other
662
- companies show ads on our portal.</p>
649
+ Google Analytics cookie. They might also collect information from websites that are not ours. We explain in
650
+ more detail below what information they collect and how it is used. We do not let other companies show ads
651
+ on our portal.</p>
663
652
  <p><strong>Google Analytics</strong>. We use Google Analytics (which is run by Google) to help us understand how
664
653
  you use our site. The information it collects about your use of the website will be stored by Google in the
665
654
  United States. Google Analytics does not collect IP addresses. Google may pass this information to other
666
655
  organisations who help them to interpret this information. They may also pass the information to other
667
656
  organisations if the law says they have to do so. If you choose to allow analytics / performance cookies on
668
657
  our site, you are consenting to Google using your data for the reasons above.</p>
669
- <p><strong>Mouseflow</strong>. We also use Mouseflow to help us understand how our site is used and which areas
670
- are mostly used. It uses cookies to record information such as when you click on or move your mouse, when
671
- you scroll or press a key, what pages you visit on our website, how much time you spend on each page, and
672
- also information about the device you use (like the device type (desktop/tablet/phone), location
673
- (city/country) and language). Mouseflow does not collect any information on pages where it is not installed
674
- and does not track or collect information outside your web browser.</p>
675
658
  <p><strong>YouTube</strong>. While embedded YouTube videos on our website do not use cookies, your browser's
676
659
  Local Storage may be used by the video platform provider to enhance your viewing experience and collect
677
660
  analytics data. This data enables the platform to track your interaction with the video content and may
@@ -322,7 +322,7 @@ class TestTeacherFrontend(BaseTest):
322
322
  {
323
323
  "first_name": "Paulina",
324
324
  "last_name": "Koch",
325
- "current_password": "$RFVBGT%6yhn",
325
+ "current_password": "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn",
326
326
  }
327
327
  )
328
328
  assert self.is_dashboard_page(page)
@@ -930,8 +930,8 @@ class TestViews(TestCase):
930
930
  "teacher_signup-teacher_last_name": "Test Last Name",
931
931
  "teacher_signup-teacher_email": "test@email.com",
932
932
  "teacher_signup-consent_ticked": "on",
933
- "teacher_signup-teacher_password": "$RFVBGT%6yhn",
934
- "teacher_signup-teacher_confirm_password": "$RFVBGT%6yhn",
933
+ "teacher_signup-teacher_password": "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn",
934
+ "teacher_signup-teacher_confirm_password": "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn",
935
935
  "g-recaptcha-response": "something",
936
936
  },
937
937
  )
@@ -955,8 +955,8 @@ class TestViews(TestCase):
955
955
  "independent_student_signup-name": "Test Name",
956
956
  "independent_student_signup-email": "test@indy-email.com",
957
957
  "independent_student_signup-consent_ticked": "on",
958
- "independent_student_signup-password": "$RFVBGT%6yhn",
959
- "independent_student_signup-confirm_password": "$RFVBGT%6yhn",
958
+ "independent_student_signup-password": "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn",
959
+ "independent_student_signup-confirm_password": "$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn$RFVBGT%6yhn",
960
960
  "g-recaptcha-response": "something",
961
961
  },
962
962
  )
portal/views/legal.py CHANGED
@@ -5,7 +5,7 @@ def privacy_notice(request):
5
5
  return render(
6
6
  request,
7
7
  "portal/privacy_notice.html",
8
- {"last_updated": "17th February 2025", "last_updated_children": "17th February 2025"},
8
+ {"last_updated": "27th February 2025", "last_updated_children": "27th February 2025"},
9
9
  )
10
10
 
11
11
 
@@ -1,9 +0,0 @@
1
- <script type="text/plain" class="optanon-category-C0002">
2
- var _mfq = _mfq || [];
3
- (function() {
4
- var mf = document.createElement("script");
5
- mf.type = "text/javascript"; mf.async = true;
6
- mf.src = "//cdn.mouseflow.com/projects/4e6407b5-890c-4dfc-9b50-fc14eeeeb2eb.js";
7
- document.getElementsByTagName("head")[0].appendChild(mf);
8
- })();
9
- </script>