codeforlife-portal 8.8.3__tar.gz → 8.9.1__tar.gz
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.
- {codeforlife_portal-8.8.3/codeforlife_portal.egg-info → codeforlife_portal-8.9.1}/PKG-INFO +48 -4
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1/codeforlife_portal.egg-info}/PKG-INFO +48 -4
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/requires.txt +61 -3
- codeforlife_portal-8.9.1/portal/__init__.py +1 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_header.scss +19 -13
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_images.scss +1 -1
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/coding_club.html +16 -24
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/header.html +63 -70
- codeforlife_portal-8.8.3/portal/__init__.py +0 -1
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/LICENSE.md +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/MANIFEST.in +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/README.md +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/SOURCES.txt +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/dependency_links.txt +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/not-zip-safe +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/top_level.txt +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/captcha.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/admin_access.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/basicauth.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/exceptionlogging.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/maintenance.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/screentime_warning.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/security.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/session_timeout.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/middleware/tmp_basic_auth.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/apple-touch-icon-120x120.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/apple-touch-icon-152x152.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/apple-touch-icon-180x180.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/apple-touch-icon-76x76.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/apple-touch-icon.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/static/robots.txt +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/templates/deploy/csrf_failure.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/deploy/views.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/admin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/app_settings.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/backends.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/beta.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/context_processors.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/admin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/dotmailer.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/error_messages.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/invite_teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/organisation.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/play.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/registration.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/forms/teach.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/handlers.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/captcha.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/decorators.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/password.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/ratelimit.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/regexes.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/helpers/request_handlers.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0001_squashed_0041_new_news.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0042_school_country.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0043_auto_20150430_0952.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0044_auto_20150430_0959.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0045_auto_20150430_1446.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0046_auto_20150723_1101.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0047_remove_userprofile_avatar.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0048_plural_management_frontnews.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0049_refactor_emailverifications.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0050_refactor_emailverifications_2.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0051_add_missing_ev_records.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0052_refactor_emailverifications_3.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0053_refactor_teacher_student_1.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0054_pending_join_request_can_be_blank.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0055_add_preview_user.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0056_remove_preview_user.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0057_delete_frontpagenews.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0058_move_to_common_models.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0059_move_email_verifications_to_common.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0060_delete_guardian.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0061_make_portaladmin_teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/0062_verify_portaladmin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/migrations/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/mixins/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/mixins/cron_mixin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/models.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/permissions/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/permissions/is_cron_request_from_google.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/pipeline_compilers/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/pipeline_compilers/libsass_compiler.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/10_years_anniversary.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/10x_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/RR_logo_grass_background.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/RR_logo_green.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/RR_logo_simple.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/about_us_cfl.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/about_us_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/about_us_ocado.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/barefoot_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/bcs_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/clubs.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/coding_club_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/coding_club_python_pack.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/colorboxImages/border.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/colorboxImages/controls.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/colorboxImages/loading.gif +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/colorboxImages/loading_background.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/colorboxImages/overlay.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/confirmation_tick.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/cross.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/dee.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/facebook.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/favicon.ico +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/get_involved_hero.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/gitbook.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/gitbook_space.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/github.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/github_hero.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/gla_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/hamburger.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/help_and_support_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/home_educate.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/home_educate_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/home_learning_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/home_play.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/home_play_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/hope_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/howe_dell_1.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/howe_dell_2.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/howe_dell_3.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icl_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_controller.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_free.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_globe.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_piechart.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_step_by_step.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_tracking.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/icon_uk_flag.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/kirsty.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_cfl.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_cfl_powered.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_cfl_reminder_cards.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_cfl_white_landscape.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_ocado.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_ocado_group.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_ocado_group.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_ocado_group_white.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/logo_python_den.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/long_europe_map.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/mc_saatchi_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/nigel.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/oval_blue.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/oval_pink.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/oval_yellow.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/paper_plane.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/phil.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/polygon_blue.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/polygon_pink.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/polygon_yellow.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/pressure_cooker_logo.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/python_den.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/python_den_banner.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rapid_router.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rapid_router_landing_hero.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rapidrouter.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/resources_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/resources_montage.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/reuben.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rob.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rr_advanced.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rr_beginner.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/rr_intermediate.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/sadface.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/sharon_harrison.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/sian.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/teaching_resources_hero.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/ten_year_map_pin.svg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/thumbnail_educate_rapid_router.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/thumbnail_educate_resources.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/thumbnail_intro_c4l.jpg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/thumbnail_play_rapid_router.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/thumbnail_python_den.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/twitter.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/universities.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/img/wes.png +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/bootstrap.min.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/carouselCards.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/common.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/independentLogin.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/independentRegistration.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/join_create_game_toggle.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/jquery.placeholder.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/levelControl.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/jquery-video-lightning.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/jquery.colorbox.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/jquery.easy-ticker.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/jquery.min.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/modernizr-build.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/lib/papaparse.min.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/organisation_manage.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/passwordStrength.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/play.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/resetPassword.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/riveted.min.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/school.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/sticky_subnav.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/studentLogin.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/teach_browser.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/teach_class.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/teacherEditStudent.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/teacherLogin.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/js/tenYearMap.js +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_alerts.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_badges.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_breadcrumbs.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_button-groups.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_buttons.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_carousel.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_close.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_code.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_component-animations.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_dropdowns.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_forms.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_glyphicons.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_grid.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_input-groups.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_jumbotron.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_labels.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_list-group.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_media.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_mixins.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_modals.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_navbar.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_navs.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_normalize.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_pager.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_pagination.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_panels.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_popovers.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_print.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_progress-bars.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_responsive-embed.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_responsive-utilities.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_scaffolding.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_tables.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_theme.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_thumbnails.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_tooltip.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_type.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_utilities.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_variables.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/_wells.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_alerts.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_background-variant.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_border-radius.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_breakpoints.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_buttons.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_center-block.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_clearfix.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_forms.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_gradients.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_grid-framework.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_grid.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_hide-text.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_image.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_labels.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_list-group.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_nav-divider.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_nav-vertical-align.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_opacity.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_pagination.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_panels.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_progress-bar.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_reset-filter.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_reset-text.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_resize.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_responsive-visibility.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_size.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_tab-focus.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_table-row.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_text-emphasis.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_text-overflow.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_text-truncate.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap/mixins/_vendor-prefixes.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_mixins/_all.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_mixins/_border-radius.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_mixins/_box-shadow.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_mixins/_hover.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_mixins/_nav-divider.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_partials/_dropdown.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_partials/_glyphicons.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_partials/_grid.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_partials/_variables.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_align.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_background.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_borders.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_clearfix.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_cursor.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_display.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_flex.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_float.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_position.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_screenreaders.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_sizing.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_spacing.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_text.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/bootstrap_utilities/_visibility.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/colorbox.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_all.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_animation.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_breakpoints.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_card_constants.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_colours.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_homepage_constants.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_levels.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_mixins.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/modules/_spacing.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_banners.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_base.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_buttons.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_carousel.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_footer.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_forms.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_grids.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_popup.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_progress-bars.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_subnavs.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_tables.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_text.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_ui-dialog.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/partials/_utils.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/sass/styles.scss +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/static/portal/video/code for life .pdf +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/about.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/coding_club.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/help_and_support.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/home_learning.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/materials.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/play.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/teach.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/teacher_resources.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/strings/ten_year_map.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/403.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/404.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/500.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/django_recaptcha/includes/js_v2_invisible.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/django_recaptcha/widget_v2_invisible.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/email.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/email.txt +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/maintenance.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/about.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/base.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/base_no_userprofile.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/contribute.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/dotmailer_consent_form.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/email_invitation_sent.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/email_style_template.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/email_verification_failed.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/email_verification_needed.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/form_shapes.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/getinvolved.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/home.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/home_learning.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/locked_out.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/locked_out_school_student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/login/independent_student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/login/student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/login/student_class_code.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/login/teacher.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/banner.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/benefits.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/card_list.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/character_list.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/cookie_list.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/delete_popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/footer.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/headline.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/hero_card.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/info_popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/invite_admin_teacher.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/register_newsletter_tickbox.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/screentime_popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/service_unavailable_popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/session_popup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/teacher_non_dashboard_subnav.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/partials/teacher_non_dashboard_subnav_account.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/play/student_dashboard.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/play/student_edit_account.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/play/student_join_organisation.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/play.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/privacy_notice.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/register.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/reset_password.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/reset_password_confirm.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/reset_password_done.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/reset_password_email_sent.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/tag_manager/tag_manager_body.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/tag_manager/tag_manager_head.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/base_registering.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/class.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/dashboard.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/invited.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/onboarding_classes.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/onboarding_print.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/onboarding_school.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/onboarding_students.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_add_external_student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_added_external_student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_dismiss_students.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_edit_class.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_edit_student.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_move_all_classes.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_move_students.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach/teacher_move_students_to_class.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/teach.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/ten_year_map.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/terms.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_base.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_wizard_actions.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_wizard_actions_enable_2fa.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_wizard_actions_submit.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_wizard_forms.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/_wizard_forms_token.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/backup_token.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/core/backup_tokens.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/core/login.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/core/setup.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/core/setup_complete.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/profile/disable.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/profile/profile.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/two_factor/setup_wizard_token.html +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/app_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/banner_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/benefits_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/card_list_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/future.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/headline_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/hero_card_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templatetags/table_tags.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/base_test.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/conftest.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_make_portaladmin_teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_preview_user_remove.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_preview_users.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_remove_front_page_news.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_remove_guardian.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_use_common_models.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/migrations/test_migration_verify_portaladmin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/admin/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/admin/admin_base_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/admin/admin_data_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/admin/admin_map_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/base_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/email_verification_needed_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/forbidden_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/game_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/home_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/independent_login_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/password_reset_form_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/password_reset_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play/account_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play/dashboard_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play/join_school_or_club_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play/play_base_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/play_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/resources_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/signup_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/student_login_class_code.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/student_login_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/add_independent_student_to_class_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/added_independent_student_to_class_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/class_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/dashboard_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/dismiss_students_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/edit_student_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/move_class_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/move_classes_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/move_students_disambiguate_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/move_students_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/onboarding_classes_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/onboarding_organisation_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/onboarding_student_list_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/onboarding_students_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teach/teach_base_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/pageObjects/portal/teacher_login_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/selenium_test_case.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/snapshots/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/snapshots/snap_test_partials.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_2FA.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_admin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_api.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_captcha_forms.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_class.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_emails.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_global_forms.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_helper_methods.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_independent_student.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_invite_teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_middleware.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_organisation.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_partials.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_ratelimit.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_school_student.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_security.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_teacher_student.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/test_views.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/utils/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/utils/classes.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/tests/utils/messages.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/urls.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/about.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/admin.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/api.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/cron/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/cron/user.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/dotmailer.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/email.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/google_analytics.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/home.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/legal.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/login/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/login/independent_student.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/login/student.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/login/teacher.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/organisation.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/play_landing_page.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/registration.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/student/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/student/edit_account_details.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/student/play.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/teach.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/teacher/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/teacher/dashboard.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/teacher/teach.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/two_factor/__init__.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/two_factor/core.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/two_factor/form.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/views/two_factor/profile.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/wsgi.py +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/pyproject.toml +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/setup.cfg +0 -0
- {codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeforlife-portal
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.9.1
|
|
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.
|
|
17
|
+
Requires-Dist: cfl-common==8.9.1
|
|
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"
|
|
@@ -83,31 +83,64 @@ Requires-Dist: whitenoise==6.9.0; python_version >= "3.9"
|
|
|
83
83
|
Requires-Dist: zipp==3.23.0; python_version >= "3.9"
|
|
84
84
|
Provides-Extra: dev
|
|
85
85
|
Requires-Dist: asgiref==3.9.1; python_version >= "3.9" and extra == "dev"
|
|
86
|
+
Requires-Dist: asttokens==3.0.0; python_version >= "3.8" and extra == "dev"
|
|
86
87
|
Requires-Dist: attrs==25.3.0; python_version >= "3.8" and extra == "dev"
|
|
87
88
|
Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
|
|
88
89
|
Requires-Dist: certifi==2025.8.3; python_version >= "3.7" and extra == "dev"
|
|
90
|
+
Requires-Dist: cffi==1.17.1; platform_python_implementation != "PyPy" and extra == "dev"
|
|
91
|
+
Requires-Dist: cfl-common==8.9.1; extra == "dev"
|
|
89
92
|
Requires-Dist: charset-normalizer==3.4.3; python_version >= "3.7" and extra == "dev"
|
|
90
93
|
Requires-Dist: click==8.2.1; python_version >= "3.10" and extra == "dev"
|
|
91
94
|
Requires-Dist: coverage[toml]==7.10.3; python_version >= "3.9" and extra == "dev"
|
|
95
|
+
Requires-Dist: cryptography==44.0.1; (python_version >= "3.7" and python_full_version not in "3.9.0, 3.9.1") and extra == "dev"
|
|
96
|
+
Requires-Dist: decorator==5.2.1; python_version >= "3.8" and extra == "dev"
|
|
97
|
+
Requires-Dist: diff-match-patch==20241021; python_version >= "3.7" and extra == "dev"
|
|
92
98
|
Requires-Dist: django==5.1.10; python_version >= "3.10" and extra == "dev"
|
|
93
|
-
Requires-Dist: django-
|
|
99
|
+
Requires-Dist: django-countries==7.6.1; extra == "dev"
|
|
100
|
+
Requires-Dist: django-csp==3.8; extra == "dev"
|
|
101
|
+
Requires-Dist: django-formtools==2.5.1; python_version >= "3.8" and extra == "dev"
|
|
102
|
+
Requires-Dist: django-import-export==4.2.0; python_version >= "3.9" and extra == "dev"
|
|
103
|
+
Requires-Dist: django-otp==1.6.1; python_version >= "3.7" and extra == "dev"
|
|
104
|
+
Requires-Dist: django-phonenumber-field==8.1.0; python_version >= "3.9" and extra == "dev"
|
|
105
|
+
Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9" and extra == "dev"
|
|
106
|
+
Requires-Dist: django-reverse-js==0.1.8; python_version >= "3.10" and extra == "dev"
|
|
94
107
|
Requires-Dist: django-selenium-clean==1.0.1; extra == "dev"
|
|
95
108
|
Requires-Dist: django-test-migrations==1.4.0; (python_version >= "3.9" and python_version < "4.0") and extra == "dev"
|
|
109
|
+
Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8" and extra == "dev"
|
|
110
|
+
Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9" and extra == "dev"
|
|
96
111
|
Requires-Dist: execnet==2.1.1; python_version >= "3.8" and extra == "dev"
|
|
112
|
+
Requires-Dist: executing==2.2.0; python_version >= "3.8" and extra == "dev"
|
|
97
113
|
Requires-Dist: fastdiff==0.3.0; extra == "dev"
|
|
98
114
|
Requires-Dist: h11==0.16.0; python_version >= "3.8" and extra == "dev"
|
|
99
115
|
Requires-Dist: idna==3.10; python_version >= "3.6" and extra == "dev"
|
|
100
116
|
Requires-Dist: iniconfig==2.1.0; python_version >= "3.8" and extra == "dev"
|
|
117
|
+
Requires-Dist: ipython==9.4.0; python_version >= "3.11" and extra == "dev"
|
|
118
|
+
Requires-Dist: ipython-pygments-lexers==1.1.1; python_version >= "3.8" and extra == "dev"
|
|
101
119
|
Requires-Dist: isort==6.0.1; python_full_version >= "3.9.0" and extra == "dev"
|
|
120
|
+
Requires-Dist: jedi==0.19.2; python_version >= "3.6" and extra == "dev"
|
|
121
|
+
Requires-Dist: libsass==0.23.0; python_version >= "3.8" and extra == "dev"
|
|
122
|
+
Requires-Dist: matplotlib-inline==0.1.7; python_version >= "3.8" and extra == "dev"
|
|
123
|
+
Requires-Dist: more-itertools==8.7.0; python_version >= "3.5" and extra == "dev"
|
|
102
124
|
Requires-Dist: mypy-extensions==1.1.0; python_version >= "3.8" and extra == "dev"
|
|
125
|
+
Requires-Dist: numpy==2.3.2; python_version >= "3.11" and extra == "dev"
|
|
103
126
|
Requires-Dist: outcome==1.3.0.post0; python_version >= "3.7" and extra == "dev"
|
|
104
127
|
Requires-Dist: packaging==25.0; python_version >= "3.8" and extra == "dev"
|
|
128
|
+
Requires-Dist: pandas==2.3.1; python_version >= "3.9" and extra == "dev"
|
|
129
|
+
Requires-Dist: parso==0.8.4; python_version >= "3.6" and extra == "dev"
|
|
105
130
|
Requires-Dist: pathspec==0.12.1; python_version >= "3.8" and extra == "dev"
|
|
131
|
+
Requires-Dist: pexpect==4.9.0; (sys_platform != "win32" and sys_platform != "emscripten") and extra == "dev"
|
|
132
|
+
Requires-Dist: pgeocode==0.4.0; python_version >= "3.8" and extra == "dev"
|
|
106
133
|
Requires-Dist: platformdirs==4.3.8; python_version >= "3.9" and extra == "dev"
|
|
107
134
|
Requires-Dist: pluggy==1.6.0; python_version >= "3.9" and extra == "dev"
|
|
135
|
+
Requires-Dist: prompt-toolkit==3.0.51; python_version >= "3.8" and extra == "dev"
|
|
136
|
+
Requires-Dist: ptyprocess==0.7.0; extra == "dev"
|
|
137
|
+
Requires-Dist: pure-eval==0.2.3; extra == "dev"
|
|
138
|
+
Requires-Dist: pycparser==2.22; python_version >= "3.8" and extra == "dev"
|
|
108
139
|
Requires-Dist: pygments==2.19.2; python_version >= "3.8" and extra == "dev"
|
|
109
140
|
Requires-Dist: pyhamcrest==2.0.2; python_version >= "3.5" and extra == "dev"
|
|
141
|
+
Requires-Dist: pyjwt==2.6.0; python_version >= "3.7" and extra == "dev"
|
|
110
142
|
Requires-Dist: pypdf==5.1.0; python_version >= "3.8" and extra == "dev"
|
|
143
|
+
Requires-Dist: pypng==0.20220715.0; extra == "dev"
|
|
111
144
|
Requires-Dist: pysocks==1.7.1; extra == "dev"
|
|
112
145
|
Requires-Dist: pytest==8.4.1; python_version >= "3.9" and extra == "dev"
|
|
113
146
|
Requires-Dist: pytest-cov==6.2.1; python_version >= "3.9" and extra == "dev"
|
|
@@ -115,23 +148,34 @@ Requires-Dist: pytest-django==4.8.0; python_version >= "3.8" and extra == "dev"
|
|
|
115
148
|
Requires-Dist: pytest-mock==3.14.1; python_version >= "3.8" and extra == "dev"
|
|
116
149
|
Requires-Dist: pytest-order==1.3.0; python_version >= "3.7" and extra == "dev"
|
|
117
150
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9" and extra == "dev"
|
|
151
|
+
Requires-Dist: python-dateutil==2.9.0.post0; (python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2") and extra == "dev"
|
|
152
|
+
Requires-Dist: pytz==2025.2; extra == "dev"
|
|
118
153
|
Requires-Dist: pyvirtualdisplay==3.0; extra == "dev"
|
|
119
|
-
Requires-Dist:
|
|
154
|
+
Requires-Dist: qrcode==7.4.2; python_version >= "3.7" and extra == "dev"
|
|
155
|
+
Requires-Dist: rapid-router==7.5.21; extra == "dev"
|
|
120
156
|
Requires-Dist: requests==2.32.4; python_version >= "3.8" and extra == "dev"
|
|
121
157
|
Requires-Dist: responses==0.18.0; python_version >= "3.7" and extra == "dev"
|
|
122
158
|
Requires-Dist: selenium==4.29.0; python_version >= "3.9" and extra == "dev"
|
|
159
|
+
Requires-Dist: setuptools==80.9.0; python_version >= "3.9" and extra == "dev"
|
|
160
|
+
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"
|
|
123
161
|
Requires-Dist: snapshottest==1.0.0a1; extra == "dev"
|
|
124
162
|
Requires-Dist: sniffio==1.3.1; python_version >= "3.7" and extra == "dev"
|
|
125
163
|
Requires-Dist: sortedcontainers==2.4.0; extra == "dev"
|
|
126
164
|
Requires-Dist: sqlparse==0.5.3; python_version >= "3.8" and extra == "dev"
|
|
165
|
+
Requires-Dist: stack-data==0.6.3; extra == "dev"
|
|
166
|
+
Requires-Dist: tablib==3.7.0; python_version >= "3.9" and extra == "dev"
|
|
127
167
|
Requires-Dist: termcolor==3.1.0; python_version >= "3.9" and extra == "dev"
|
|
168
|
+
Requires-Dist: traitlets==5.14.3; python_version >= "3.8" and extra == "dev"
|
|
128
169
|
Requires-Dist: trio==0.30.0; python_version >= "3.9" and extra == "dev"
|
|
129
170
|
Requires-Dist: trio-websocket==0.12.2; python_version >= "3.8" and extra == "dev"
|
|
130
171
|
Requires-Dist: typing-extensions==4.14.1; python_version >= "3.9" and extra == "dev"
|
|
172
|
+
Requires-Dist: tzdata==2025.2; python_version >= "2" and extra == "dev"
|
|
131
173
|
Requires-Dist: urllib3==2.5.0; extra == "dev"
|
|
132
174
|
Requires-Dist: wasmer==1.1.0; extra == "dev"
|
|
133
175
|
Requires-Dist: wasmer-compiler-cranelift==1.1.0; extra == "dev"
|
|
176
|
+
Requires-Dist: wcwidth==0.2.13; extra == "dev"
|
|
134
177
|
Requires-Dist: websocket-client==1.8.0; python_version >= "3.8" and extra == "dev"
|
|
178
|
+
Requires-Dist: wheel==0.45.1; python_version >= "3.8" and extra == "dev"
|
|
135
179
|
Requires-Dist: wsproto==1.2.0; python_full_version >= "3.7.0" and extra == "dev"
|
|
136
180
|
Dynamic: classifier
|
|
137
181
|
Dynamic: description
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeforlife-portal
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.9.1
|
|
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.
|
|
17
|
+
Requires-Dist: cfl-common==8.9.1
|
|
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"
|
|
@@ -83,31 +83,64 @@ Requires-Dist: whitenoise==6.9.0; python_version >= "3.9"
|
|
|
83
83
|
Requires-Dist: zipp==3.23.0; python_version >= "3.9"
|
|
84
84
|
Provides-Extra: dev
|
|
85
85
|
Requires-Dist: asgiref==3.9.1; python_version >= "3.9" and extra == "dev"
|
|
86
|
+
Requires-Dist: asttokens==3.0.0; python_version >= "3.8" and extra == "dev"
|
|
86
87
|
Requires-Dist: attrs==25.3.0; python_version >= "3.8" and extra == "dev"
|
|
87
88
|
Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
|
|
88
89
|
Requires-Dist: certifi==2025.8.3; python_version >= "3.7" and extra == "dev"
|
|
90
|
+
Requires-Dist: cffi==1.17.1; platform_python_implementation != "PyPy" and extra == "dev"
|
|
91
|
+
Requires-Dist: cfl-common==8.9.1; extra == "dev"
|
|
89
92
|
Requires-Dist: charset-normalizer==3.4.3; python_version >= "3.7" and extra == "dev"
|
|
90
93
|
Requires-Dist: click==8.2.1; python_version >= "3.10" and extra == "dev"
|
|
91
94
|
Requires-Dist: coverage[toml]==7.10.3; python_version >= "3.9" and extra == "dev"
|
|
95
|
+
Requires-Dist: cryptography==44.0.1; (python_version >= "3.7" and python_full_version not in "3.9.0, 3.9.1") and extra == "dev"
|
|
96
|
+
Requires-Dist: decorator==5.2.1; python_version >= "3.8" and extra == "dev"
|
|
97
|
+
Requires-Dist: diff-match-patch==20241021; python_version >= "3.7" and extra == "dev"
|
|
92
98
|
Requires-Dist: django==5.1.10; python_version >= "3.10" and extra == "dev"
|
|
93
|
-
Requires-Dist: django-
|
|
99
|
+
Requires-Dist: django-countries==7.6.1; extra == "dev"
|
|
100
|
+
Requires-Dist: django-csp==3.8; extra == "dev"
|
|
101
|
+
Requires-Dist: django-formtools==2.5.1; python_version >= "3.8" and extra == "dev"
|
|
102
|
+
Requires-Dist: django-import-export==4.2.0; python_version >= "3.9" and extra == "dev"
|
|
103
|
+
Requires-Dist: django-otp==1.6.1; python_version >= "3.7" and extra == "dev"
|
|
104
|
+
Requires-Dist: django-phonenumber-field==8.1.0; python_version >= "3.9" and extra == "dev"
|
|
105
|
+
Requires-Dist: django-pipeline==4.0.0; python_version >= "3.9" and extra == "dev"
|
|
106
|
+
Requires-Dist: django-reverse-js==0.1.8; python_version >= "3.10" and extra == "dev"
|
|
94
107
|
Requires-Dist: django-selenium-clean==1.0.1; extra == "dev"
|
|
95
108
|
Requires-Dist: django-test-migrations==1.4.0; (python_version >= "3.9" and python_version < "4.0") and extra == "dev"
|
|
109
|
+
Requires-Dist: django-two-factor-auth==1.17.0; python_version >= "3.8" and extra == "dev"
|
|
110
|
+
Requires-Dist: djangorestframework==3.16.0; python_version >= "3.9" and extra == "dev"
|
|
96
111
|
Requires-Dist: execnet==2.1.1; python_version >= "3.8" and extra == "dev"
|
|
112
|
+
Requires-Dist: executing==2.2.0; python_version >= "3.8" and extra == "dev"
|
|
97
113
|
Requires-Dist: fastdiff==0.3.0; extra == "dev"
|
|
98
114
|
Requires-Dist: h11==0.16.0; python_version >= "3.8" and extra == "dev"
|
|
99
115
|
Requires-Dist: idna==3.10; python_version >= "3.6" and extra == "dev"
|
|
100
116
|
Requires-Dist: iniconfig==2.1.0; python_version >= "3.8" and extra == "dev"
|
|
117
|
+
Requires-Dist: ipython==9.4.0; python_version >= "3.11" and extra == "dev"
|
|
118
|
+
Requires-Dist: ipython-pygments-lexers==1.1.1; python_version >= "3.8" and extra == "dev"
|
|
101
119
|
Requires-Dist: isort==6.0.1; python_full_version >= "3.9.0" and extra == "dev"
|
|
120
|
+
Requires-Dist: jedi==0.19.2; python_version >= "3.6" and extra == "dev"
|
|
121
|
+
Requires-Dist: libsass==0.23.0; python_version >= "3.8" and extra == "dev"
|
|
122
|
+
Requires-Dist: matplotlib-inline==0.1.7; python_version >= "3.8" and extra == "dev"
|
|
123
|
+
Requires-Dist: more-itertools==8.7.0; python_version >= "3.5" and extra == "dev"
|
|
102
124
|
Requires-Dist: mypy-extensions==1.1.0; python_version >= "3.8" and extra == "dev"
|
|
125
|
+
Requires-Dist: numpy==2.3.2; python_version >= "3.11" and extra == "dev"
|
|
103
126
|
Requires-Dist: outcome==1.3.0.post0; python_version >= "3.7" and extra == "dev"
|
|
104
127
|
Requires-Dist: packaging==25.0; python_version >= "3.8" and extra == "dev"
|
|
128
|
+
Requires-Dist: pandas==2.3.1; python_version >= "3.9" and extra == "dev"
|
|
129
|
+
Requires-Dist: parso==0.8.4; python_version >= "3.6" and extra == "dev"
|
|
105
130
|
Requires-Dist: pathspec==0.12.1; python_version >= "3.8" and extra == "dev"
|
|
131
|
+
Requires-Dist: pexpect==4.9.0; (sys_platform != "win32" and sys_platform != "emscripten") and extra == "dev"
|
|
132
|
+
Requires-Dist: pgeocode==0.4.0; python_version >= "3.8" and extra == "dev"
|
|
106
133
|
Requires-Dist: platformdirs==4.3.8; python_version >= "3.9" and extra == "dev"
|
|
107
134
|
Requires-Dist: pluggy==1.6.0; python_version >= "3.9" and extra == "dev"
|
|
135
|
+
Requires-Dist: prompt-toolkit==3.0.51; python_version >= "3.8" and extra == "dev"
|
|
136
|
+
Requires-Dist: ptyprocess==0.7.0; extra == "dev"
|
|
137
|
+
Requires-Dist: pure-eval==0.2.3; extra == "dev"
|
|
138
|
+
Requires-Dist: pycparser==2.22; python_version >= "3.8" and extra == "dev"
|
|
108
139
|
Requires-Dist: pygments==2.19.2; python_version >= "3.8" and extra == "dev"
|
|
109
140
|
Requires-Dist: pyhamcrest==2.0.2; python_version >= "3.5" and extra == "dev"
|
|
141
|
+
Requires-Dist: pyjwt==2.6.0; python_version >= "3.7" and extra == "dev"
|
|
110
142
|
Requires-Dist: pypdf==5.1.0; python_version >= "3.8" and extra == "dev"
|
|
143
|
+
Requires-Dist: pypng==0.20220715.0; extra == "dev"
|
|
111
144
|
Requires-Dist: pysocks==1.7.1; extra == "dev"
|
|
112
145
|
Requires-Dist: pytest==8.4.1; python_version >= "3.9" and extra == "dev"
|
|
113
146
|
Requires-Dist: pytest-cov==6.2.1; python_version >= "3.9" and extra == "dev"
|
|
@@ -115,23 +148,34 @@ Requires-Dist: pytest-django==4.8.0; python_version >= "3.8" and extra == "dev"
|
|
|
115
148
|
Requires-Dist: pytest-mock==3.14.1; python_version >= "3.8" and extra == "dev"
|
|
116
149
|
Requires-Dist: pytest-order==1.3.0; python_version >= "3.7" and extra == "dev"
|
|
117
150
|
Requires-Dist: pytest-xdist==3.8.0; python_version >= "3.9" and extra == "dev"
|
|
151
|
+
Requires-Dist: python-dateutil==2.9.0.post0; (python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2") and extra == "dev"
|
|
152
|
+
Requires-Dist: pytz==2025.2; extra == "dev"
|
|
118
153
|
Requires-Dist: pyvirtualdisplay==3.0; extra == "dev"
|
|
119
|
-
Requires-Dist:
|
|
154
|
+
Requires-Dist: qrcode==7.4.2; python_version >= "3.7" and extra == "dev"
|
|
155
|
+
Requires-Dist: rapid-router==7.5.21; extra == "dev"
|
|
120
156
|
Requires-Dist: requests==2.32.4; python_version >= "3.8" and extra == "dev"
|
|
121
157
|
Requires-Dist: responses==0.18.0; python_version >= "3.7" and extra == "dev"
|
|
122
158
|
Requires-Dist: selenium==4.29.0; python_version >= "3.9" and extra == "dev"
|
|
159
|
+
Requires-Dist: setuptools==80.9.0; python_version >= "3.9" and extra == "dev"
|
|
160
|
+
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"
|
|
123
161
|
Requires-Dist: snapshottest==1.0.0a1; extra == "dev"
|
|
124
162
|
Requires-Dist: sniffio==1.3.1; python_version >= "3.7" and extra == "dev"
|
|
125
163
|
Requires-Dist: sortedcontainers==2.4.0; extra == "dev"
|
|
126
164
|
Requires-Dist: sqlparse==0.5.3; python_version >= "3.8" and extra == "dev"
|
|
165
|
+
Requires-Dist: stack-data==0.6.3; extra == "dev"
|
|
166
|
+
Requires-Dist: tablib==3.7.0; python_version >= "3.9" and extra == "dev"
|
|
127
167
|
Requires-Dist: termcolor==3.1.0; python_version >= "3.9" and extra == "dev"
|
|
168
|
+
Requires-Dist: traitlets==5.14.3; python_version >= "3.8" and extra == "dev"
|
|
128
169
|
Requires-Dist: trio==0.30.0; python_version >= "3.9" and extra == "dev"
|
|
129
170
|
Requires-Dist: trio-websocket==0.12.2; python_version >= "3.8" and extra == "dev"
|
|
130
171
|
Requires-Dist: typing-extensions==4.14.1; python_version >= "3.9" and extra == "dev"
|
|
172
|
+
Requires-Dist: tzdata==2025.2; python_version >= "2" and extra == "dev"
|
|
131
173
|
Requires-Dist: urllib3==2.5.0; extra == "dev"
|
|
132
174
|
Requires-Dist: wasmer==1.1.0; extra == "dev"
|
|
133
175
|
Requires-Dist: wasmer-compiler-cranelift==1.1.0; extra == "dev"
|
|
176
|
+
Requires-Dist: wcwidth==0.2.13; extra == "dev"
|
|
134
177
|
Requires-Dist: websocket-client==1.8.0; python_version >= "3.8" and extra == "dev"
|
|
178
|
+
Requires-Dist: wheel==0.45.1; python_version >= "3.8" and extra == "dev"
|
|
135
179
|
Requires-Dist: wsproto==1.2.0; python_full_version >= "3.7.0" and extra == "dev"
|
|
136
180
|
Dynamic: classifier
|
|
137
181
|
Dynamic: description
|
{codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/codeforlife_portal.egg-info/requires.txt
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cfl-common==8.
|
|
1
|
+
cfl-common==8.9.1
|
|
2
2
|
click-plugins==1.1.1.2
|
|
3
3
|
django-countries==7.6.1
|
|
4
4
|
django-csp==3.8
|
|
@@ -105,16 +105,28 @@ whitenoise==6.9.0
|
|
|
105
105
|
zipp==3.23.0
|
|
106
106
|
|
|
107
107
|
[dev]
|
|
108
|
+
cfl-common==8.9.1
|
|
109
|
+
django-countries==7.6.1
|
|
110
|
+
django-csp==3.8
|
|
108
111
|
django-selenium-clean==1.0.1
|
|
109
112
|
fastdiff==0.3.0
|
|
113
|
+
ptyprocess==0.7.0
|
|
114
|
+
pure-eval==0.2.3
|
|
115
|
+
pypng==0.20220715.0
|
|
110
116
|
pysocks==1.7.1
|
|
117
|
+
pytz==2025.2
|
|
111
118
|
pyvirtualdisplay==3.0
|
|
112
|
-
rapid-router==7.
|
|
119
|
+
rapid-router==7.5.21
|
|
113
120
|
snapshottest==1.0.0a1
|
|
114
121
|
sortedcontainers==2.4.0
|
|
122
|
+
stack-data==0.6.3
|
|
115
123
|
urllib3==2.5.0
|
|
116
124
|
wasmer==1.1.0
|
|
117
125
|
wasmer-compiler-cranelift==1.1.0
|
|
126
|
+
wcwidth==0.2.13
|
|
127
|
+
|
|
128
|
+
[dev:platform_python_implementation != "PyPy"]
|
|
129
|
+
cffi==1.17.1
|
|
118
130
|
|
|
119
131
|
[dev:python_full_version >= "3.7.0"]
|
|
120
132
|
wsproto==1.2.0
|
|
@@ -122,55 +134,101 @@ wsproto==1.2.0
|
|
|
122
134
|
[dev:python_full_version >= "3.9.0"]
|
|
123
135
|
isort==6.0.1
|
|
124
136
|
|
|
137
|
+
[dev:python_version >= "2"]
|
|
138
|
+
tzdata==2025.2
|
|
139
|
+
|
|
140
|
+
[dev:python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2"]
|
|
141
|
+
python-dateutil==2.9.0.post0
|
|
142
|
+
|
|
143
|
+
[dev:python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"]
|
|
144
|
+
six==1.17.0
|
|
145
|
+
|
|
125
146
|
[dev:python_version >= "3.10"]
|
|
126
147
|
click==8.2.1
|
|
127
148
|
django==5.1.10
|
|
128
|
-
django-reverse-js==0.1.
|
|
149
|
+
django-reverse-js==0.1.8
|
|
150
|
+
|
|
151
|
+
[dev:python_version >= "3.11"]
|
|
152
|
+
ipython==9.4.0
|
|
153
|
+
numpy==2.3.2
|
|
129
154
|
|
|
130
155
|
[dev:python_version >= "3.5"]
|
|
156
|
+
more-itertools==8.7.0
|
|
131
157
|
pyhamcrest==2.0.2
|
|
132
158
|
|
|
133
159
|
[dev:python_version >= "3.6"]
|
|
134
160
|
idna==3.10
|
|
161
|
+
jedi==0.19.2
|
|
162
|
+
parso==0.8.4
|
|
135
163
|
|
|
136
164
|
[dev:python_version >= "3.7"]
|
|
137
165
|
certifi==2025.8.3
|
|
138
166
|
charset-normalizer==3.4.3
|
|
167
|
+
diff-match-patch==20241021
|
|
168
|
+
django-otp==1.6.1
|
|
139
169
|
outcome==1.3.0.post0
|
|
170
|
+
pyjwt==2.6.0
|
|
140
171
|
pytest-order==1.3.0
|
|
172
|
+
qrcode==7.4.2
|
|
141
173
|
responses==0.18.0
|
|
142
174
|
sniffio==1.3.1
|
|
143
175
|
|
|
176
|
+
[dev:python_version >= "3.7" and python_full_version not in "3.9.0, 3.9.1"]
|
|
177
|
+
cryptography==44.0.1
|
|
178
|
+
|
|
144
179
|
[dev:python_version >= "3.8"]
|
|
180
|
+
asttokens==3.0.0
|
|
145
181
|
attrs==25.3.0
|
|
182
|
+
decorator==5.2.1
|
|
183
|
+
django-formtools==2.5.1
|
|
184
|
+
django-two-factor-auth==1.17.0
|
|
146
185
|
execnet==2.1.1
|
|
186
|
+
executing==2.2.0
|
|
147
187
|
h11==0.16.0
|
|
148
188
|
iniconfig==2.1.0
|
|
189
|
+
ipython-pygments-lexers==1.1.1
|
|
190
|
+
libsass==0.23.0
|
|
191
|
+
matplotlib-inline==0.1.7
|
|
149
192
|
mypy-extensions==1.1.0
|
|
150
193
|
packaging==25.0
|
|
151
194
|
pathspec==0.12.1
|
|
195
|
+
pgeocode==0.4.0
|
|
196
|
+
prompt-toolkit==3.0.51
|
|
197
|
+
pycparser==2.22
|
|
152
198
|
pygments==2.19.2
|
|
153
199
|
pypdf==5.1.0
|
|
154
200
|
pytest-django==4.8.0
|
|
155
201
|
pytest-mock==3.14.1
|
|
156
202
|
requests==2.32.4
|
|
157
203
|
sqlparse==0.5.3
|
|
204
|
+
traitlets==5.14.3
|
|
158
205
|
trio-websocket==0.12.2
|
|
159
206
|
websocket-client==1.8.0
|
|
207
|
+
wheel==0.45.1
|
|
160
208
|
|
|
161
209
|
[dev:python_version >= "3.9"]
|
|
162
210
|
asgiref==3.9.1
|
|
163
211
|
black==25.1.0
|
|
164
212
|
coverage[toml]==7.10.3
|
|
213
|
+
django-import-export==4.2.0
|
|
214
|
+
django-phonenumber-field==8.1.0
|
|
215
|
+
django-pipeline==4.0.0
|
|
216
|
+
djangorestframework==3.16.0
|
|
217
|
+
pandas==2.3.1
|
|
165
218
|
platformdirs==4.3.8
|
|
166
219
|
pluggy==1.6.0
|
|
167
220
|
pytest==8.4.1
|
|
168
221
|
pytest-cov==6.2.1
|
|
169
222
|
pytest-xdist==3.8.0
|
|
170
223
|
selenium==4.29.0
|
|
224
|
+
setuptools==80.9.0
|
|
225
|
+
tablib==3.7.0
|
|
171
226
|
termcolor==3.1.0
|
|
172
227
|
trio==0.30.0
|
|
173
228
|
typing-extensions==4.14.1
|
|
174
229
|
|
|
175
230
|
[dev:python_version >= "3.9" and python_version < "4.0"]
|
|
176
231
|
django-test-migrations==1.4.0
|
|
232
|
+
|
|
233
|
+
[dev:sys_platform != "win32" and sys_platform != "emscripten"]
|
|
234
|
+
pexpect==4.9.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "8.9.1"
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.dropdown-menu {
|
|
30
|
-
@include _border-radius(0px, 0px, 0px, 0px);
|
|
31
30
|
border: 2px solid $color-secondary-600;
|
|
31
|
+
border-radius: 0;
|
|
32
32
|
border-top: 0;
|
|
33
33
|
font-weight: 300;
|
|
34
34
|
margin: 0;
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
|
|
182
182
|
.menu--title {
|
|
183
183
|
@include _font-size(27px);
|
|
184
|
-
@include _margin(0px,
|
|
184
|
+
@include _margin(0px, $spacing * 8, 0px, $spacing * 2);
|
|
185
185
|
color: $color-text-tertiary;
|
|
186
186
|
font-family: "Space Grotesk", sans-serif;
|
|
187
187
|
}
|
|
@@ -209,9 +209,15 @@
|
|
|
209
209
|
|
|
210
210
|
@media (min-width: $tablet-small-min-width) {
|
|
211
211
|
.menu__right-side {
|
|
212
|
+
@include _margin-right($spacing * 3);
|
|
212
213
|
align-items: center;
|
|
213
|
-
justify-content: flex-end;
|
|
214
214
|
display: flex;
|
|
215
|
+
justify-content: flex-end;
|
|
216
|
+
width: 33%;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.logo {
|
|
220
|
+
height: 100px;
|
|
215
221
|
}
|
|
216
222
|
}
|
|
217
223
|
|
|
@@ -219,10 +225,6 @@
|
|
|
219
225
|
.menu {
|
|
220
226
|
height: $menu-height;
|
|
221
227
|
|
|
222
|
-
.logo {
|
|
223
|
-
height: 100px;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
228
|
.menu__brand {
|
|
227
229
|
@include _margin(0px, $spacing * 7, 0px, 0px);
|
|
228
230
|
}
|
|
@@ -240,7 +242,7 @@
|
|
|
240
242
|
height: $menu-height-xs;
|
|
241
243
|
|
|
242
244
|
.logo {
|
|
243
|
-
@include _padding($spacing * 3, $spacing *
|
|
245
|
+
@include _padding($spacing * 3, $spacing * 3, $spacing * 3, $spacing * 3);
|
|
244
246
|
}
|
|
245
247
|
|
|
246
248
|
.menu__brand--ocado {
|
|
@@ -255,6 +257,7 @@
|
|
|
255
257
|
.menu {
|
|
256
258
|
background-color: $color-background-secondary;
|
|
257
259
|
display: flex;
|
|
260
|
+
justify-content: space-between;
|
|
258
261
|
position: fixed;
|
|
259
262
|
top: 0;
|
|
260
263
|
width: 100%;
|
|
@@ -284,20 +287,23 @@
|
|
|
284
287
|
|
|
285
288
|
.button--register,
|
|
286
289
|
.button--header--login {
|
|
287
|
-
@include _padding(
|
|
290
|
+
@include _padding($spacing * 2, $spacing * 3, $spacing * 2, $spacing * 3);
|
|
288
291
|
width: 155px;
|
|
289
292
|
height: 45px;
|
|
290
293
|
}
|
|
291
294
|
}
|
|
292
295
|
|
|
293
296
|
.menu__brand {
|
|
294
|
-
align-items: center;
|
|
295
297
|
display: flex;
|
|
296
|
-
|
|
298
|
+
width: 66%;
|
|
297
299
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
+
.menu__brand--ocado {
|
|
301
|
+
@include _margin-right($spacing * 7);
|
|
300
302
|
}
|
|
303
|
+
|
|
304
|
+
//img {
|
|
305
|
+
// max-width: none;
|
|
306
|
+
//}
|
|
301
307
|
}
|
|
302
308
|
|
|
303
309
|
.menu__left-side {
|
{codeforlife_portal-8.8.3 → codeforlife_portal-8.9.1}/portal/templates/portal/coding_club.html
RENAMED
|
@@ -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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
93
|
+
{% endif %}
|
|
102
94
|
</div>
|
|
103
95
|
</div>
|
|
104
96
|
</div>
|