Codeforlife-portal

Latest version: v8.2.0

Safety actively analyzes 703211 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 94 of 94

1.1.1

Unknown

* Added link to teacher dashboard on Cancel button (923)

* Added link to teacher dashboard on Cancel button

* Added space

* Added space ([`de61bf2`](https://github.com/ocadotechnology/codeforlife-portal/commit/de61bf2468075c9b1815f4ed4a77b12ad2ebc9d5))

1.1.0

Unknown

* Added password strength check + Tests (918)

* Added password strength check + Tests

Also changed automatically generated passwords to Password2 instead of Password1

* Fixed A Couple Of Things

Small errors caught on code climate

* Changed Password Reset Checks

Student passwords (not automatically generated) now need to be at least 8 characters long.
Also fixed 8 character condition (equal or greater than)

* Changed Password Length Message On Test

* Changed Password Error/Warning Message

Instead of only pointing out length, it points out the password requirements whenever at least one isn&39;t met

* Restructured The Dynamic Update Function ([`aa0caff`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa0caff274ad85f395bd1b0a0c2caaf158a1de4a))

* Moved Preview User Condition (914)

* Moved Preview User Condition

From the rapid router page html to the base one

* Removed ID ([`14bacb5`](https://github.com/ocadotechnology/codeforlife-portal/commit/14bacb5766ccbfe25272bce4c2f630e1beff167a))

* Caches materials page (896)

* Caches materials page for an hour ([`03cc2e3`](https://github.com/ocadotechnology/codeforlife-portal/commit/03cc2e3538ba7b570cdb0fc048119d2dcc401db0))

* Updates AIMMO PDFs (881)

* Upgraded dependencies

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Updates AI:MMO PDFs on landing page
Removes KS3 from materials page

* Merge branch &39;master&39; into update-aimmo-pdfs

* Makes test target PDF with links and video for more complete test. ([`708a56a`](https://github.com/ocadotechnology/codeforlife-portal/commit/708a56a80408e53a7d6d17896a78df5692b72f02))

* Changes in font and home icon (886)

* Changes in font and home icon

Font size and home icon adjust to screens from 760px to 1200px wide so that the buttons don&39;t overlap

* Replaced direct assignment with mixin ([`d5c5753`](https://github.com/ocadotechnology/codeforlife-portal/commit/d5c57536babf6a23568dae22067208cb04d5a906))

* Deleted extra URL (882)

* Deleted extra URL

* Deleted unused function ([`64f1a64`](https://github.com/ocadotechnology/codeforlife-portal/commit/64f1a64c5e7c394ebdcae2857b33e3f1ffa0428a))

* Changed games subnav settings (878)

To be fixed on top ([`2aca20d`](https://github.com/ocadotechnology/codeforlife-portal/commit/2aca20d3361de4f0f24d20545d8a3121201a920e))

* Fixes link to AIMMO home page (875)

* Upgraded dependencies

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

* Replaces aimmo home URL with correct regex ([`937580e`](https://github.com/ocadotechnology/codeforlife-portal/commit/937580e388d796d24f159f68151b99657615d964))

* Return of the Redesign: Upgrade of the AI:MMO home page (856)

* Implemented new AIMMO game page HTML, CSS & JS.

* Finished redesigning AIMMO home page (added/updated PDFs, fine-tuned styles and added create game form)

* Make preview users always redirect to new AIMMO page.

* Added tests

* Merged changes from delete base files and resolved conflicts

* Update SASS to cater to relevant CodeClimate issues

* Updated Sass, JS and other naming instances

* Disabled creation of duplicate games with same name

* Added Google Analytics event for create game button

* Simplified + selector with not(first)

* Replaced z-indices with constants

* Fixed CodeClimate issues.

* Added spaces between brackets

* Merge master into redesign-aimmo-home

* Uses regex, AI:MMO&39;s form and fixes CodeClimate issues ([`0cbe9bb`](https://github.com/ocadotechnology/codeforlife-portal/commit/0cbe9bb8c5ebbda96333931acd618fdbc44e6726))

* Deleted instruction to hide menu (874)

* Deleted instruction to hide menu ([`ed7aad1`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed7aad1ab0a6d2d760022052f56597126b1d22b6))

* Upgraded dependencies (871)

* Upgraded dependencies ([`fb0a44d`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb0a44dc98e64feef71da37f1c620a7442cc19fa))

* Fixes log in buttons properly (870)

* Increased width of log in buttons container

* Dropdown width increased to 80% to satisfy all breakpoints ([`e5222f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/e5222f05ae1fa51ae3eca712d4cf62f504fdb7a8))

* Login buttons wrap properly always (868)

* Makes menu width fit content ([`1672156`](https://github.com/ocadotechnology/codeforlife-portal/commit/1672156259844ccb993e9820279787d5ff0e1984))

* Removes updated terms banner (867)

* Removes terms banner ([`d9f18cb`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9f18cb3de6ec8978065dd32808bb0726767fedc))

* Update terms (858)

* wip

* updated terms

* fixes most pr comments ([`e26b36b`](https://github.com/ocadotechnology/codeforlife-portal/commit/e26b36b4fc99df0af750a43792ef681b928c2cbc))

* Delete unused import (859)

* Delete unused import ([`8aa7116`](https://github.com/ocadotechnology/codeforlife-portal/commit/8aa711664f9a4635f35f416ec9e60039b933c133))

* Banner for updated terms & conditions (857)

* Added updated terms banner.

* Brought back import to be removed in another PR ([`d2545fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/d2545feb4e7ffd7fe05f5fe3bb9db868c519d60a))

* Deleted redundant base files and fixed incorrect code (849)

* Deleted redundant base files.
Also moved template to partials folder. ([`3c65c0f`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c65c0fff090e909e385692c538feb57d8e72e04))

* Return of the Redesign: Upgrade of the Student Dashboard (844)

* Redesigned student dashboard page.

* Add anchor jump to button to try and fix Travis test.

* Added time sleep

* Fix Code Climate issues

* I&39;m OCD about spacing okay

* Remove comments

* Added SVG and changed structure to CSS grid.
Also removed unnecessary new file.

* Removed duplicate mixin.

* Added newline at end of file.

* Renamed button ID and gap mixin.
Reverted h3/h4 style changes and started spacing rule to multiples of 4.

* Renamed mixin and added newline

* Renamed logo image. ([`27a85ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/27a85ad177b70222a184c2b84a6c0b1abdefc01c))

* Added templates for issues and a PR template (818)

* Added templates for issues and a PR template

* grammar changes ([`4ec6a93`](https://github.com/ocadotechnology/codeforlife-portal/commit/4ec6a934f1801c1d6d789cb88cce64be5822db30))

* Menu box update 2: student buttons (820)

* Updated dropdown menu box to follow new styles on student pages. ([`3961629`](https://github.com/ocadotechnology/codeforlife-portal/commit/39616292ace6ab27c45d463df7da34a2cfe95c2b))

* Added quotes to deploy password. (819) ([`7878e2f`](https://github.com/ocadotechnology/codeforlife-portal/commit/7878e2fd598ce1510fb31114edac989d3a9585a8))

* Merge pull request 812 from ocadotechnology/menu-box-teacher

Menu box update 1: teacher buttons ([`0abeb2b`](https://github.com/ocadotechnology/codeforlife-portal/commit/0abeb2bcbf91c9951f882b1e17dfb54c76d1dd24))

* Renamed CSS classes to follow BEM. ([`0f36045`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f360454afec06d03d0043164aaca7850df65bb5))

* Resolved merge conflicts. ([`e683ca9`](https://github.com/ocadotechnology/codeforlife-portal/commit/e683ca99e761ff948e5006e9518efa4e82123558))

* Applied Niket&39;s requested changes.
Also added truncation styling for when the name is too long. ([`4a7661b`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a7661bfe5369be3de16fa254011d4ae271637e6))

* AIMMO added to the menu (795)

* AIMMO added to the menu

* WIP - removed test to see how far it goes

* add test back - test with a sleep

* try to add sleep before going to materials

* upgrading chrome driver

* Downgraded chromedriver again. Commented out super inheritance in base test

* Uncommented setupclass :S

* Added prints

* More prints

* Checking if resources button is found

* Checking if it can find the new aimmo button

* Checking if resources button can be clicked

* Added sleep before clicking resources button

* Resized columns to fix test issue. ([`9f239a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f239a3bc6376b83d6fe0e28f32a46746d71d410))

* Deleted duplicate and unused button IDs. ([`3073e16`](https://github.com/ocadotechnology/codeforlife-portal/commit/3073e16dc9d0203887251322843b7fcede26e058))

* Merge pull request 810 from ocadotechnology/student-names-fix

Student names with dashes are now accepted ([`db14f8b`](https://github.com/ocadotechnology/codeforlife-portal/commit/db14f8b227fd80fd8de23d18fec3478dee9ec9ec))

* Fixed small border-radius issue where the corners appeared white. ([`9d3ab45`](https://github.com/ocadotechnology/codeforlife-portal/commit/9d3ab45e7cdf7734ed35f1e3d73917e1acdbcc9b))

* CodeClimate fix. ([`735e41b`](https://github.com/ocadotechnology/codeforlife-portal/commit/735e41b77d6820a4a89c73ffea64fafc72a523ae))

* Updated menu box content and styles. ([`da44a0f`](https://github.com/ocadotechnology/codeforlife-portal/commit/da44a0f8d9c6fa1caf7edbcce6a0f284967eb56c))

* Reverted static root. ([`a450c26`](https://github.com/ocadotechnology/codeforlife-portal/commit/a450c264639c0be103e9f51d8930526dc1c0a602))

* Fixed student names with dashes issues.
Also added tests to verify dashes and underscores as well as invalid characters. ([`869876e`](https://github.com/ocadotechnology/codeforlife-portal/commit/869876e2197140b16526d81d81694103823e18da))

* Update profile dropdown (807)

* add min width for dropdown to stop text from overlapping it&39;s button

* fixed dropdown text so user&39;s name appears on left with icon on right

* added underline for logout menu items

* pep8 ([`d3e6d01`](https://github.com/ocadotechnology/codeforlife-portal/commit/d3e6d01587cbd0b5e0bb2b470054165e32a2630d))

* Provide students from eligible school immediate preview access (802)

* Made students preview users before they log in so they do not have the follow the user flow

* blank line

* Changed user to userprofile in make preview tester

* Getting userprofile from teacher/student object

* Now saving user profile

* Fix build

* Checking if teacher is associated with a school

* Added user profile in test admin

* Fixed build, removed prints

* Userprofile added to test admin ([`819c502`](https://github.com/ocadotechnology/codeforlife-portal/commit/819c502a2c90a775afa442a47d5a7bbc81470fb0))

* Switch to MigrationExecutor() in base_test_migration (793)

* Started writing migration tests

* Added test case for preview user field

* Wrote two test cases testing the latest migration file

* Removed print

* upgrading setuptools

* Reverted travis file

* EOF line

* Fixed version of django in travis.yml

* Using get_field() instead of getting a list of all model fields

* Django-otp

* removed django version fix from travis yml ([`219ad38`](https://github.com/ocadotechnology/codeforlife-portal/commit/219ad3820b5f2c2a395daaf02b1fe53120c8f883))

* Fix master travis build by fixing a subdependency to django-otp version to 0.4.3 (800)

* Fix django-otp version to 0.4.3

* Add comment as to why we are fixing django-otp

* add extra space ([`9f4b3f8`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f4b3f8df54b3439b871d36a62cc0ee620653f67))

* Generated Pipfile, updated docs (787)

* Generated Pipfile, updated docs

* Updated docs ([`c726dc4`](https://github.com/ocadotechnology/codeforlife-portal/commit/c726dc4039ab24b8bedac2d62dd542bd675b1079))

* Fixes 781 - upgrading rest framework (783) ([`b1e2862`](https://github.com/ocadotechnology/codeforlife-portal/commit/b1e286281fd7c4f66ec7415eee42b5337cce20cb))

* Fixes aimmo 691 - changed the search fields for failing admin pages (782) ([`74634dc`](https://github.com/ocadotechnology/codeforlife-portal/commit/74634dcc3d3000f543f10929334266ffcf2ccf2f))

* Merge pull request 778 from ocadotechnology/upgrade_reversion

Upgrade reversion ([`3df0829`](https://github.com/ocadotechnology/codeforlife-portal/commit/3df08291ca4c8b08f225c07593ce6cdb5a3aebe5))

* upgrade two factor auth ([`dd67a8a`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd67a8a329513321d18fe3d008c408b7119af910))

* upgrade two factor auth ([`14c7376`](https://github.com/ocadotechnology/codeforlife-portal/commit/14c7376007b3d4912104bf95066f3830ecaa98c7))

* upgrade two factor auth ([`f75accf`](https://github.com/ocadotechnology/codeforlife-portal/commit/f75accf450c322b3a84405092bbe5e1c7db97f56))

* upgrade reversion ([`73710b0`](https://github.com/ocadotechnology/codeforlife-portal/commit/73710b0b7432f813154eda5908a4f52ad725df49))

* Remove libsass docstrings (774)

* Remove ruby sass dependency

* Add libsass django-pipeline compiler

* fix pipeline compilers import

* Add new line at end of file

* Merge branch &39;master&39; into remove_ruby_sass

* Remove docstrings as they don’t add anything for information

* Merge branch &39;master&39; into remove_ruby_sass

Conflicts:
portal/pipeline_compilers/libsass_compiler.py

* Merge branch &39;master&39; into remove_ruby_sass ([`96b9fdd`](https://github.com/ocadotechnology/codeforlife-portal/commit/96b9fdd38ec82784f2ad1903afd600caa90bc1e3))

* Removed string view arguments to url as it is deprecated in Django 1.10 (775) ([`151c787`](https://github.com/ocadotechnology/codeforlife-portal/commit/151c78758d5a53fdd930293deaad5d118a3696fa))

* Remove ruby sass dependency (772)

* Remove ruby sass dependency

* Add libsass django-pipeline compiler

* fix pipeline compilers import

* Add new line at end of file ([`c531b67`](https://github.com/ocadotechnology/codeforlife-portal/commit/c531b67de993e5cd8a8a6c41ef12fff735d08403))

* Make the portal compatible with Django 1.9.13 (752)

* update some versions

* Make portal work with Django 1.9.

* Remove Pipfile

* Fix django-setuptest version

* Merge branch &39;master&39; into pipenv

* Rename players -> aimmo

* Merge branch &39;master&39; into pipenv

* upgrade django_selenium_clean dep to 0.3.0

* Upgrade selenium tests according to django_selenium_clean 0.3.0

* Fix test errors due to django_selenium_clean upgrade and Djagno 1.9 upgrade ([`844686f`](https://github.com/ocadotechnology/codeforlife-portal/commit/844686f713d57384e4c0717f167a10161ddd0419))

* Upgraded version of Pillow (773) ([`bbdc11e`](https://github.com/ocadotechnology/codeforlife-portal/commit/bbdc11eadbd2d2d2cad26f19257bb0b768e7dc66))

* greyes and disables the add students button (744)

* change d stuff

* extracted the variable in buttonDisable()

* Something

* DOesnt work

* it works

* cleanup disabled button logic

* update readme

* Revert &34;update readme&34;

This reverts commit 9a8afcf13ede4dc00669d897e390dc5ed3668c75.

* remove important, refactorings

* Merge branch &39;master&39; into greyed_button

* Merge remote-tracking branch &39;origin/master&39; into greyed_button ([`fc07e31`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc07e31cba625b3a7c1f3fc6163e357571ee5448))

* add a comment to setup test deps and run tests (770) ([`fa551a4`](https://github.com/ocadotechnology/codeforlife-portal/commit/fa551a4dcd1d0037248c7fd24ad75f0fe395e912))

* Rename players -> aimmo (769)

* Rename players -> aimmo

* rename players -> aimmo ([`15723c9`](https://github.com/ocadotechnology/codeforlife-portal/commit/15723c9e343c563bfc3cca14039766bedadc1626))

* Update readme to suggest fix of problem during setup (768)

* change d stuff

* extracted the variable in buttonDisable()

* Something

* DOesnt work

* it works

* cleanup disabled button logic

* update readme

* Revert &34;update readme&34;

This reverts commit 9a8afcf13ede4dc00669d897e390dc5ed3668c75.

* update readme ([`42aa11c`](https://github.com/ocadotechnology/codeforlife-portal/commit/42aa11c04962e1f2514ec09aca8b68dd43ce475e))

* Invite a teacher resolves issue 745 (759)

* invite teacher, still has issues

* invite teacher its still broken 2

* Invite teachers done

* 745 changes made invite teacher

* code climate changes invite teach

* Fixed css on email field

* Refactored some more thing

* New line added

* Removed extra line

* Added some test cases for invite teacher functionality

* Removed unused import

* Stuff ([`2e001ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e001ca059e0ded9c6e8f6c503d0423ce12c6ca1))

* Can now enter special characters on contact form (765)

* Can now enter special characters on contact form

* Updated test as accents can now be sent as a message

* Removed comment ([`52c18ec`](https://github.com/ocadotechnology/codeforlife-portal/commit/52c18ecf3725c3a519a0a569e5cf72770d2a1637))

* Fixes autofill, is branched correctly (761)

* Fixes autofill, is branched correctly

* Fix E203 PEP8 rule ([`7b2b05a`](https://github.com/ocadotechnology/codeforlife-portal/commit/7b2b05aa69afb7e73ccb7113944e63e083c5241d))

* Add __pycache__ into .gitignore (764) ([`fa6b082`](https://github.com/ocadotechnology/codeforlife-portal/commit/fa6b08215fa4575be9e8e0644e033ceb183d662b))

* Fixes text resizing, branched correctly (762) ([`b493253`](https://github.com/ocadotechnology/codeforlife-portal/commit/b493253498d1a40d348706d8d23abfee87755291))

* Old email template back (766)

* Revert &34;added logo to reset_password_email template (755)&34;

This reverts commit d9ebce47b4f9d9ed48e6b230113a281f5d0915ec.

* Revert &34;added image to reset_password_email.html to be tested (753)&34;

This reverts commit 7aa151a335899941d2fdc15b75a1703ad561fb6d.

* added newline ([`9f3d2ed`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f3d2ed397042b1c826556d1cf50b4d422efafb3))

* added line break before broken button (760) ([`47ea352`](https://github.com/ocadotechnology/codeforlife-portal/commit/47ea352e110cff6bd9582cc8102fe059e4579222))

* added logo to reset_password_email template (755)

* added image to reset_password_email.html to be tested

* fixed the image source

* added load static django command for the image in reset_password_email ([`d9ebce4`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9ebce47b4f9d9ed48e6b230113a281f5d0915ec))

* added image to reset_password_email.html to be tested (753) ([`7aa151a`](https://github.com/ocadotechnology/codeforlife-portal/commit/7aa151a335899941d2fdc15b75a1703ad561fb6d))

* fixes 747 favicon across code for life (748) ([`0071c73`](https://github.com/ocadotechnology/codeforlife-portal/commit/0071c7376a258f413dccb29e424673394039354c))

* fixes 742, C4L logo reappearing on firefox (743)

* fixes 742, C4L logo reappearing on firefox

* delete blank line

* change static src to django tag

* home to contentwrapper ([`037d4fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/037d4fe1fa4807e4840f543776213c48d588c0fc))

* Replaced Context with a dictionary (741) ([`fee66ed`](https://github.com/ocadotechnology/codeforlife-portal/commit/fee66ed804d12ab20f60c8938c67575114542234))

* SessionAuthenticationMiddleware added to MIDDLEWARE_CLASSES (740)

* Merge remote-tracking branch &39;upstream/master&39; into deprecation_warnings

* Removed use of patterns in urls.py

* Removed use of patterns in reports/urls.py

* Added session authentication to middleware

* Merge remote-tracking branch &39;upstream/master&39; into deprecation_warnings ([`37d28f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/37d28f0abbe438ffcddb359b0253f2d7a18dc3bb))

* Removed use of django.conf.urls.patterns() (738)

* Removed use of patterns in urls.py

* Removed use of patterns in reports/urls.py ([`dfa51ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/dfa51ba59d14f2430ecb3782b7d0bdd184762903))

* Add only school users to game (736)

* Began writing code for the newsletter sign up button

* Attempt at newsletter signup in footer

* Finished working on the front end of footer sign up

* Removed add_email_to_salesforce function. Need to change the signaturte of the original function

* Changed signature of add_to_salesforce function

* Reformatted code

* Finished writing tests

* Reformatted code

* Changed newsletter_signup function

* Added reference to context processors in test_settings.py

* Added a click to submit newsletter form

* Added print statements for debugging

* Added more print statements for debugging

* Deleted test_newsletter_footer

* Switched to unit tests for the newsletter footer

* Reformatted code

* Reformatted code

* Changed search for &39;warning&39; to search for &39;error&39; in base.html

* Changed variable name to response

* Movewd newsletter_form import up with other portal imports in home.py

* Merged rules for newsletter footer css

* Changed is_logged_in for when users don&39;t exist

* Added ref to context_processor in autoconfig

* Switched to javascript for page redirection

* removed incorrect getElementbyId statement

* Added a case for get req. just in case

* Tried to get the relative path for redirection

* Changed url pattern of news_signup

* Removed redirection for testing

* More changes for testing

* Using render instead of redirection after signup

* Changed test cases so they match the new version of process_newsletter_form

* Fixed merge conflict

* Fixed syntax error

* Reformatted code to follow pep8

* Added print statements for testing

* Added another print statement inside is_developer

* Debugging

* More logs for debugging

* Testing

* Moved csrf token

* iAdded ensure_csrf_cookie

* Added csrf decorator above process_newsletter_form

* Using csrf_protect decorator

* Added both decorators on home and proc_newsletter_form

* Added another decorator

* Disabled csrf for newsletter form

* Changed app_tags is_logged_in function back to what it originally was

* Testing with redirection using javascript now

* Trying window.parent.location

* Changed test cases to match redirection

* Fixed test cases and merge conflict in base

* reverted logger name

* Deleted render pages

* Reference to preview user decorator added to autoconfig

* Temp solution. First manager done for student

* has_beta_access no longer using unsafe function

* Testing import get_users_for_new_game

* Added prints for testing

* Testing versions

* Finished writing code for adding user objects to game rather than student/teacher object, needs more testing

* Temporarily switched eligible_for_testing to True for testing on deployment

* Moved dependency link above find_packages() for testing

* Temporarily changed travis script to test build

* Changes

* Made some more changes

* Refactored

* Removed process dependency links command from yml file

* Removed dependency

* Removed migration ([`f9d5ed2`](https://github.com/ocadotechnology/codeforlife-portal/commit/f9d5ed21e3a3cab260a0d0a4b12c27f0a4316768))

* New privacy policy 3 (734)

* last changes requested by legal team

* changing ocado technology to Ocado Group PLC where appropriate

* a few more changes requested by legal

* other legal changes ([`0668b75`](https://github.com/ocadotechnology/codeforlife-portal/commit/0668b7548c49e4e4fb02af9b38189355aff07578))

* implemented a few children-friendly changes suggested by privacy expert (733)

* implemented a few children-friendly changes suggested by privacy expert

* minor change ([`6464e8d`](https://github.com/ocadotechnology/codeforlife-portal/commit/6464e8d7d608536c3208da6bdbb705d8e2602560))

* New privacy policy (732)

* updating the terms - wip

* updating the terms - fixes 730

* wip

* updated privacy policy - fixes 730 ([`9c38d92`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c38d928490ea00bc54cbf40fbc9bdd9e7ae62f2))

* Create specific account type for AI:MMO preview users ([`c7732be`](https://github.com/ocadotechnology/codeforlife-portal/commit/c7732be7cef921075778086ec1bda6eefca3bd75))

* email opt-in for Email Newsletter on portal (716)

* Began writing code for the newsletter sign up button

* Attempt at newsletter signup in footer

* Finished working on the front end of footer sign up

* Removed add_email_to_salesforce function. Need to change the signaturte of the original function

* Changed signature of add_to_salesforce function

* Reformatted code

* Finished writing tests

* Reformatted code

* Changed newsletter_signup function

* Added reference to context processors in test_settings.py

* Added a click to submit newsletter form

* Added print statements for debugging

* Added more print statements for debugging

* Deleted test_newsletter_footer

* Switched to unit tests for the newsletter footer

* Reformatted code

* Reformatted code

* Changed search for &39;warning&39; to search for &39;error&39; in base.html

* Changed variable name to response

* Movewd newsletter_form import up with other portal imports in home.py

* Merged rules for newsletter footer css

* Changed is_logged_in for when users don&39;t exist

* Added ref to context_processor in autoconfig

* Switched to javascript for page redirection

* removed incorrect getElementbyId statement

* Added a case for get req. just in case

* Tried to get the relative path for redirection

* Changed url pattern of news_signup

* Removed redirection for testing

* More changes for testing

* Using render instead of redirection after signup

* Changed test cases so they match the new version of process_newsletter_form

* Fixed merge conflict

* Fixed syntax error

* Reformatted code to follow pep8

* Added print statements for testing

* Added another print statement inside is_developer

* Debugging

* More logs for debugging

* Testing

* Moved csrf token

* iAdded ensure_csrf_cookie

* Added csrf decorator above process_newsletter_form

* Using csrf_protect decorator

* Added both decorators on home and proc_newsletter_form

* Added another decorator

* Disabled csrf for newsletter form

* Changed app_tags is_logged_in function back to what it originally was

* Testing with redirection using javascript now

* Trying window.parent.location

* Changed test cases to match redirection

* Fixed test cases and merge conflict in base

* reverted logger name

* Refactored process_newsletter_form

* More refactorings

* Fixed indentation

* Some more changes for consistency and readability ([`aefb8b5`](https://github.com/ocadotechnology/codeforlife-portal/commit/aefb8b555893385c9829e24721bf630338b16c0d))

* Revert newslettr form (715)

* Revert &34;Email opt in using render (714)&34;

This reverts commit 90c12eb16f6d9b762c4f21de7f5faa9eefbe3820.

* Revert &34;Email opt-in- redirection using javascript (713)&34;

This reverts commit 164a64c55415cd95756a8a434f48cdf1ebabd847.

* Revert &34;Email opt-in for Email Newsletter on portal (702)&34;

This reverts commit 89ddb3d9bf204522ad93cbfc98ce8363a25c1eff. ([`f402329`](https://github.com/ocadotechnology/codeforlife-portal/commit/f402329aa053263a888ffcc534be79f77b28f2f0))

* Email opt in using render (714)

* Began writing code for the newsletter sign up button

* Attempt at newsletter signup in footer

* Finished working on the front end of footer sign up

* Removed add_email_to_salesforce function. Need to change the signaturte of the original function

* Changed signature of add_to_salesforce function

* Reformatted code

* Finished writing tests

* Reformatted code

* Changed newsletter_signup function

* Added reference to context processors in test_settings.py

* Added a click to submit newsletter form

* Added print statements for debugging

* Added more print statements for debugging

* Deleted test_newsletter_footer

* Switched to unit tests for the newsletter footer

* Reformatted code

* Reformatted code

* Changed search for &39;warning&39; to search for &39;error&39; in base.html

* Changed variable name to response

* Movewd newsletter_form import up with other portal imports in home.py

* Merged rules for newsletter footer css

* Changed is_logged_in for when users don&39;t exist

* Added ref to context_processor in autoconfig

* Switched to javascript for page redirection

* removed incorrect getElementbyId statement

* Added a case for get req. just in case

* Tried to get the relative path for redirection

* Changed url pattern of news_signup

* Removed redirection for testing

* More changes for testing

* Using render instead of redirection after signup

* Changed test cases so they match the new version of process_newsletter_form

* Fixed merge conflict

* Fixed syntax error

* Reformatted code to follow pep8 ([`90c12eb`](https://github.com/ocadotechnology/codeforlife-portal/commit/90c12eb16f6d9b762c4f21de7f5faa9eefbe3820))

* Email opt-in- redirection using javascript (713)

* Began writing code for the newsletter sign up button

* Attempt at newsletter signup in footer

* Finished working on the front end of footer sign up

* Removed add_email_to_salesforce function. Need to change the signaturte of the original function

* Changed signature of add_to_salesforce function

* Reformatted code

* Finished writing tests

* Reformatted code

* Changed newsletter_signup function

* Added reference to context processors in test_settings.py

* Added a click to submit newsletter form

* Added print statements for debugging

* Added more print statements for debugging

* Deleted test_newsletter_footer

* Switched to unit tests for the newsletter footer

* Reformatted code

* Reformatted code

* Changed search for &39;warning&39; to search for &39;error&39; in base.html

* Changed variable name to response

* Movewd newsletter_form import up with other portal imports in home.py

* Merged rules for newsletter footer css

* Changed is_logged_in for when users don&39;t exist

* Added ref to context_processor in autoconfig

* Switched to javascript for page redirection

* Reverted to old version of code for testing ([`164a64c`](https://github.com/ocadotechnology/codeforlife-portal/commit/164a64c55415cd95756a8a434f48cdf1ebabd847))

* Email opt-in for Email Newsletter on portal (702)

* Began writing code for the newsletter sign up button

* Attempt at newsletter signup in footer

* Finished working on the front end of footer sign up

* Removed add_email_to_salesforce function. Need to change the signaturte of the original function

* Changed signature of add_to_salesforce function

* Reformatted code

* Fixed merge conflict

* Wrote some tests for the newsletter signup functionality

* Finished writing tests

* Reformatted code

* Changed newsletter_signup function

* Added reference to context processors in test_settings.py

* Added a click to submit newsletter form

* Added print statements for debugging

* Added more print statements for debugging

* Deleted test_newsletter_footer

* Switched to unit tests for the newsletter footer

* Reformatted code

* Merge remote-tracking branch &39;upstream/master&39;

* Reformatted code

* Changed search for &39;warning&39; to search for &39;error&39; in base.html

* Changed variable name to response

* Movewd newsletter_form import up with other portal imports in home.py

* Merged rules for newsletter footer css ([`89ddb3d`](https://github.com/ocadotechnology/codeforlife-portal/commit/89ddb3d9bf204522ad93cbfc98ce8363a25c1eff))

* Minor fix to form--register before bigger refactoring. Solves 705 (712)

* Minor fix to form--register before bigger refactoring. Solves 705

* Fix register page

* Remove extra student line as suggested by CelineBoudier ([`546a3df`](https://github.com/ocadotechnology/codeforlife-portal/commit/546a3df1d2de4f81ea8c6377685af3fad326aee1))

* Added AI:MMO user guide - fixes 703 (708) ([`ec623c3`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec623c3825d9d0c014153633ebcc454d4e94b486))

* rm rapid router data (not used and not working) (701) ([`94f7f24`](https://github.com/ocadotechnology/codeforlife-portal/commit/94f7f2459e5d8d3e03d5d063148a3a7f51a5a3ad))

* Merge pull request 699 from ocadotechnology/fix-run-bat

Make run.bat equivalent to shell script ([`b2a4660`](https://github.com/ocadotechnology/codeforlife-portal/commit/b2a46607e92948422da38de3f6db174094703503))

* Newsletter opt-in at signup (696)

* Refactor Student form to also include the new checkbox

* Add the checkbox to teacher form

* Add the template HTML checkbox

* Remove adding to salesforce db on verification

* Add teacher and student logic to see if checkbox is ticked

* Add initial styling

* Add a T&Cs link to signup page

* Add extra student text.

* Fix minor student model error

* Fix code climate issues

* Minor tests and refactoring

* Left align text

* Fix the checkbox and make James happy :P

* Add padding to move the text right a bit with the checkbox

* Refactor duplicated html into another template

* Improve CSS class naming to match BEM

* Rename tests to make more sense

* Fix code style issue

* Change register form description text to be left aligned ([`bad17d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/bad17d25a136497d572ec48b7b8735c7a044fea1))

* Make run.bat equivalent to shell script ([`7ce8df3`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ce8df32e9c92681278b391fa46e82369d8b8c34))

* fixed responsiveness on login page (689)

* fixed responsiveness on login page

* added missing closing div tag and fixed indentation

* fix flex display for safari ([`b9b9e2f`](https://github.com/ocadotechnology/codeforlife-portal/commit/b9b9e2f760350b48ebced7361413186855467d76))

* Fix login redirection bug (687)

* import is_safe_url

* Add tests

* Remove database save()

* Remove failing test

* Revert &34;Remove failing test&34;

This reverts commit ea82594fb795f7cb6cd493e5fc23b2494c183579.

* Remove additional independent student redirect test ([`961afd1`](https://github.com/ocadotechnology/codeforlife-portal/commit/961afd191008a4a9570e2ef46dbeed4f903d5840))

* Got rid of django-cms - fixes 678 (686)

* Got rid of django-cms - fixes 678

* added block head back ([`e7ad1e0`](https://github.com/ocadotechnology/codeforlife-portal/commit/e7ad1e0e907d0073c2e2d9e34ea7e1787182a109))

* fixes 677 Replace GET with POST when necessary, and refactored a bit… (685)

* fixes 677 Replace GET with POST when necessary, and refactored a bit the post utils in js

* now using postWithCsrf function ([`5159400`](https://github.com/ocadotechnology/codeforlife-portal/commit/5159400264b67f533fc1ea85aec65813344f39f1))

* made all single quote to double quote for html attributes (684) ([`b60fa65`](https://github.com/ocadotechnology/codeforlife-portal/commit/b60fa65d1c629205a9889619e9e9909da03cecf2))

* now show the independent login page if correct hash in url (683) ([`ca63cc5`](https://github.com/ocadotechnology/codeforlife-portal/commit/ca63cc583f13e8bded9869f1e4953e9c034fa812))

* Add contact recaptcha and limit only captcha to signup (682)

* Always use captcha on contact form

* Add the functionality to register with no limits

* Add the same limits to signups as logins

* Add the same limits to signups as logins. Closes 679

* Change broken indentation ([`fb4a0ab`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb4a0abb61f4ae75aed3e6d11efdaafe9b63485e))

* Added video + assessment, replaced missing links with Coming Soon Fixes 675 (676)

* Added video, assessment page, replaced missing links with Coming soon
Fixes 675

* space after colon ([`79f14b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/79f14b1667ed5dc63f46744a73af1f01e7c8fdbe))

* Added KS3 teaching materials page and tests - Fixes 669 (672)

* Added KS3 teaching materials page and tests - Fixes 669

* Corrections from comments on PR - svgs instead of pngs, better sass, etc

* fixed a few more comments

* removed extra lines ([`e758ed3`](https://github.com/ocadotechnology/codeforlife-portal/commit/e758ed32f9a21e04ca7c1271a05411a01816edd9))

* Update copyright (671)

Happy Belated New Year! ([`76bf2f6`](https://github.com/ocadotechnology/codeforlife-portal/commit/76bf2f6057766b7b7c75427f028159670c9e7de3))

* Update to reCAPTCHA v2 (665)

* Cherry pick PR 573

* Make sure that captchas do not run on tests

* Allow custom commands to be used for testing

* Attempt to fix selenium test

* setup django test for travis

* fix error in travis.yaml

* fix error in travis.yaml

* remove setuptests dependency

* fix error in setup.py

* Code climate changes

* Remove unused imports

* Add new line for pycodestyle

* Add tests and address code review changes

* follow PEP8 guidelines

* refactor how view_options work for the recaptcha

* make view_options a class variable instead of an instance variable

* Add Django Recaptcha to the project

* Re-implement reCAPTCHA for teacher and student password reset

* Reimplement captcha for Teacher, Student and Independent Student login forms

* fix spelling for check_email_errors

* Reimplement captcha for AdminLoginForm

* Reimplement captcha for contact us form

* remove old captcha implementation

* Add tests for captcha helper functions

* fix some code climate issues

* refactor render_login_form

* remove unwanted comments

* Fix help and support recaptcha logic

* Fix passwordreset form

* Remove commented out code

* Update copyright year

* Remove new lines at the top of class definition

Following comments from code review

* Remove new line at class definition

* Revert &34;Update copyright year &34;

This reverts commit bddec4fa9454ba8f576873879ca6b69f41f661d4. ([`b94d83b`](https://github.com/ocadotechnology/codeforlife-portal/commit/b94d83b1d243aaed855798547eb0bad13177953e))

* Correct typo in About page (666) ([`c2079e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/c2079e9a359a43cf2d7226965618e27a18c88b12))

* Resolves 662. Fixes stretching issue on aimmo landing page (663)

* Resolves 662. Fixes stretching issue on aimmo landing page

* Move the CSS to is-flex class instead ([`5039b82`](https://github.com/ocadotechnology/codeforlife-portal/commit/5039b82fc681e01abde78f10a3743c8b4f499348))

* Aimmo landing page - aimmo 381 (658)

* Preparing the AIMMO landing page

* Time zones intro

* Fix grid and add subnav to AIMMO landing page

* Add AIMMO landing page quinary swirl background

* AIMMO Landing page, improve sticky nav

* Added links to the buttons

* banner also in play/rr, url redirection, a few corrections ([`15d35a2`](https://github.com/ocadotechnology/codeforlife-portal/commit/15d35a2d62d07fff0cfe407e9854edae40cb5071))

* Factorised test functions. ([`f7027bc`](https://github.com/ocadotechnology/codeforlife-portal/commit/f7027bcc97d22347c1d950a9d997d6367049918f))

* More student tests. ([`11b3509`](https://github.com/ocadotechnology/codeforlife-portal/commit/11b350978aa0e9aa02528167953eb606e9f9a676))

* Updates redirect in student pages. Fixes 624. ([`44bde25`](https://github.com/ocadotechnology/codeforlife-portal/commit/44bde253f4d3a4b2361abf6bdc9b75f1f995389e))

* Adds tests for students and indep students when updating details. Fixes 621. ([`14c964b`](https://github.com/ocadotechnology/codeforlife-portal/commit/14c964b7419770353906d7850c0784f908b8d1a3))

* Merge pull request 653 from CelineBoudier/materials-652

Materials fixes 652 - LKS2 S7 and S8 resources updated ([`87eaeee`](https://github.com/ocadotechnology/codeforlife-portal/commit/87eaeee4bc553dd639f2e12f271275f0271a3fff))

* Merge pull request 651 from CelineBoudier/materials-texts-resources

Correcting Resource descriptions - Fixes 649 ([`4a48e4f`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a48e4f9942c596f7fba74a7b8e49a7e410a1e94))

* Fixed LKS2-S7 video downloadlink - Fixes 652 part 2 ([`519b114`](https://github.com/ocadotechnology/codeforlife-portal/commit/519b1140aae6ddbfcdef7177661c59e50145bc61))

* Session 8 materials are session8, not 7 :) Fixes 652 part 1 ([`dac2001`](https://github.com/ocadotechnology/codeforlife-portal/commit/dac20013fc35622c93e1d032eb8dfec69de3be30))

* Merge pull request 622 from faucomte/material-icons

Materials page: side icons and table generation through view ([`2df87f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/2df87f02c0477f2e7f930b22aac7fa1d0fad788e))

* Correcting Resource descriptions - Fixes 649 ([`e95cb98`](https://github.com/ocadotechnology/codeforlife-portal/commit/e95cb984399ba597f23c227d975e48cfa0cb6f2b))

* corrected typos, added enumerate ([`23fbddc`](https://github.com/ocadotechnology/codeforlife-portal/commit/23fbddc0826a26e7f2ccc4c694070dece19b7d69))

* Merge pull request 636 from faucomte/improve-coverage

Ignore/Delete files to improve coverage ([`46a0c39`](https://github.com/ocadotechnology/codeforlife-portal/commit/46a0c3923d64516ddc295b8cc80fbe5cee2eb4bc))

* Merge pull request 628 from faucomte/email_methods

Verify email and change email functions are now the same ([`7f4c8fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f4c8fcb90e9d88510dd5fc61a48bb59f23408bd))

* Merge pull request 641 from faucomte/postcode-error

School creation page: clearer postcode error message ([`682e060`](https://github.com/ocadotechnology/codeforlife-portal/commit/682e0608c7eb6850d16db431bf2e6f96c1f29e30))

* Merge pull request 643 from OlafSzmidt/regex_fix

Incorrect regex fixed for multiline messages ([`e441ed3`](https://github.com/ocadotechnology/codeforlife-portal/commit/e441ed355bc986671d33c9a00db7f33a827c4152))

* Merge pull request 645 from CelineBoudier/add-blank-pending-request-644

Fixes 644 - pending join request can be blank ([`937d4ce`](https://github.com/ocadotechnology/codeforlife-portal/commit/937d4cebcb7e05a5dc50877d3ddeafcdf77631af))

* Incorrect regex fixed for multiline messages

Fix attempt at compiling with flags

Regex fixed, each line treated seperately

Regex issue is raised straight away now

Changes applied from PR, regex refactored

PEP8 fixes in regex.py

recompile only done once

PEP8 spacing import fix ([`1d8bb6b`](https://github.com/ocadotechnology/codeforlife-portal/commit/1d8bb6b270766865323038070a29f9cc326d40a3))

* Merge pull request 640 from faucomte/redirect-fix

Login page: improves login function ([`e37208d`](https://github.com/ocadotechnology/codeforlife-portal/commit/e37208d3709f89e4d6b7bc68159fe6966b2a26c8))

* Fixes 644 - pending join request can be blank ([`cae7091`](https://github.com/ocadotechnology/codeforlife-portal/commit/cae7091363331449d92cd79ea4ce2d481e0cf4bb))

* Merge pull request 639 from faucomte/blockquotes

Home page: fix blockquotes ([`63cc960`](https://github.com/ocadotechnology/codeforlife-portal/commit/63cc960ea42fbc148095547852b3c49f35e74e23))

* Error message for postcode is now clear. Fixes 420. ([`c9bc53f`](https://github.com/ocadotechnology/codeforlife-portal/commit/c9bc53f82dfa687ed89124ff4041ce88cb264150))

* Improves login form. ([`7891658`](https://github.com/ocadotechnology/codeforlife-portal/commit/78916586c1d8ae18600712232a979b225959fcf2))

* Brings back blockquotes styles. Fixes 638. ([`b0c3675`](https://github.com/ocadotechnology/codeforlife-portal/commit/b0c3675d8efced89ffc3a99c77df815b1ae3683b))

* Delete unused test file and actually ignore version file. Fixes 635. ([`3981043`](https://github.com/ocadotechnology/codeforlife-portal/commit/39810436a8a3617872c103178a64f42b01ee9cb4))

* Merge pull request 633 from faucomte/update-contributions

Updated contributing.md file ([`0d86519`](https://github.com/ocadotechnology/codeforlife-portal/commit/0d86519afa27bce8a8df2fca8dd8b914eccb92da))

* Updates wording and copied to readme. ([`8d3169d`](https://github.com/ocadotechnology/codeforlife-portal/commit/8d3169df68a9bf3e281e8d7180cebeabc9129a4d))

* Updates contributing md file. ([`3798364`](https://github.com/ocadotechnology/codeforlife-portal/commit/37983642f491d1b5d12d541a7a060dfa255a5a7c))

* Merge pull request 632 from faucomte/coveralls-again

Re-sets Coveralls properly ([`e1cbc59`](https://github.com/ocadotechnology/codeforlife-portal/commit/e1cbc59b1f49cd5432ad8fb2817601901ae6263d))

* Sets up Coveralls appropriately. Fixes 631. ([`03ff7dd`](https://github.com/ocadotechnology/codeforlife-portal/commit/03ff7dda066dd1d2cd11d7be180f83a95ba53730))

* Merge pull request 630 from CelineBoudier/users-per-countries

Now can find out how many registered users per country - Fixes 629 ([`3213d59`](https://github.com/ocadotechnology/codeforlife-portal/commit/3213d5901a25eaa65e3144c6087098a7a7652de9))

* Now can find out how many registered users per country (not including indep students) ([`57ff7f7`](https://github.com/ocadotechnology/codeforlife-portal/commit/57ff7f78f55c97b08166d3ae6ed01b1ba5f4ff23))

* Merges the two verify email methods. Fixes 443. ([`e2f0b01`](https://github.com/ocadotechnology/codeforlife-portal/commit/e2f0b01e1825dde1768afd23a24f8988807d6122))

* Merge pull request 578 from Willv19/issue-accents

Fixed issues with form verifications ([`7fe1a51`](https://github.com/ocadotechnology/codeforlife-portal/commit/7fe1a512b3a78db2ba75bf905e67cc590f750352))

* Merge pull request 616 from faucomte/scss-lint

Re-enables SCSS lint ([`a1db26d`](https://github.com/ocadotechnology/codeforlife-portal/commit/a1db26d16c6ed0181534d0e3f7e6bd49bb0b3356))

* Adds materials icons, and templates materials page + unit tests. Fixes 577. Fixes 406. ([`82d209d`](https://github.com/ocadotechnology/codeforlife-portal/commit/82d209d589e19d692c3f8d60dc3b10cdd8ec9eb9))

* Re-enabled the SCSS lint and reworked SCSS code. Fixes 602. ([`bfa2dda`](https://github.com/ocadotechnology/codeforlife-portal/commit/bfa2ddaafb353fd32081b9722b57b5a63726302b))

* Merge pull request 605 from faucomte/contact-anchor

Contact form: anchor updated to top of page ([`47cc6a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/47cc6a5ecf13d101fc484c12c58d127f0ca31c40))

* Merge pull request 612 from faucomte/student-pages-fix

Student pages: minor fixes ([`d5cad3a`](https://github.com/ocadotechnology/codeforlife-portal/commit/d5cad3af9e5e991c94443ecbc6c3bd7724f4fb36))

* Merge pull request 613 from faucomte/home-users

Home page: correct number of users ([`3a50d40`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a50d4004544f1931a658a4eb1d2d09ccb6c4eb3))

* Updates no of users on home page. ([`9eb360c`](https://github.com/ocadotechnology/codeforlife-portal/commit/9eb360c736ae468d9c5c84a2aba0fc546dbc38c0))

* Merge pull request 610 from faucomte/small-fixes

About page: minor updates ([`d869578`](https://github.com/ocadotechnology/codeforlife-portal/commit/d869578fa880a8ea46edba890dfb18f7b29d1676))

* Merge pull request 604 from faucomte/warning-new-students

Adding students from dashboard page has correct button in nav bar ([`70129b6`](https://github.com/ocadotechnology/codeforlife-portal/commit/70129b6b7cd92f5abd8bc9c2289358844c0a2028))

* Student password strength checker fixed + success message box. Fixes 609. Fixes 611. ([`9d7daca`](https://github.com/ocadotechnology/codeforlife-portal/commit/9d7daca9f0ff313fb87fac5a2adbc17f161ede63))

* Updates about page. Fixes 607. Fixes 608. ([`9f0c22f`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f0c22fa4eb5f9e6afd3f357f073003892ae797b))

* Replaced nested if statement with and ([`1418670`](https://github.com/ocadotechnology/codeforlife-portal/commit/14186708401e7a7f97b3530b9b9cb87f63991476))

* Merge pull request 606 from faucomte/coveralls

More accurate coverage ([`b86af39`](https://github.com/ocadotechnology/codeforlife-portal/commit/b86af3900a29ad87fc2214715ffdd736e19872bc))

* Coveralls ignores test files and egg files. Fixes 599. ([`e4e285c`](https://github.com/ocadotechnology/codeforlife-portal/commit/e4e285c130129907c7b19a5d44939020ecad81aa))

* Changed accented strings to unicode strings to avoid error ([`77c81f8`](https://github.com/ocadotechnology/codeforlife-portal/commit/77c81f8a161bd95f7866fe53aa78e2440452329b))

* Added tests for new contact form checks ([`1a754aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/1a754aa5a32c11ced34e260b35d282fa5202654e))

* Contact form always redirects to top of page when successfully submitted. Fixes 600. ([`21b361c`](https://github.com/ocadotechnology/codeforlife-portal/commit/21b361c296f9044ceeb31c67fd200d8175ce886b))

* Moved ID of button so that the appropriate button is tested. ([`9cc0110`](https://github.com/ocadotechnology/codeforlife-portal/commit/9cc0110ea01b29c42e6fa91789014160ca1d60eb))

* Correct button behaviour when adding students from dashboard. Fixes 603. ([`952d424`](https://github.com/ocadotechnology/codeforlife-portal/commit/952d42490c52a55dc8d9f8a0304b699e657e6012))

* Merge pull request 580 from Willv19/issue-codeclimate

Re-enabled scss-lint support for codeclimate ([`87382e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/87382e930d15f0aa9a4bf127fd31072a66351613))

* Merge pull request 601 from faucomte/fix-dashboard-forms

Teacher dashboard: fixed forms for non-admin teachers ([`ed27852`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed278523905b42738cda493cebe73602cd5f2d5a))

* Fixed pep8 bracket issue ([`41b5ac9`](https://github.com/ocadotechnology/codeforlife-portal/commit/41b5ac9b1f6b43cbbe3c9f5fbc1346681568b51b))

* Merge branch &39;master&39; into issue-accents ([`137178a`](https://github.com/ocadotechnology/codeforlife-portal/commit/137178a1dadc9a458cef6b53b3c4fe26234af619))

* Forms in dashboard fixed for non-admin teachers. Tests added to prevent similar issue. Fixes 598. ([`d81a6cc`](https://github.com/ocadotechnology/codeforlife-portal/commit/d81a6cc71ff746bf5423fde920f06aaa9f699fb5))

* Merge pull request 595 from faucomte/warning-bar-fixes

Yellow warning sub nav bar: multiple fixes ([`741f28d`](https://github.com/ocadotechnology/codeforlife-portal/commit/741f28d59e187bbaac3e2db3076e0a5333522927))

* Merge pull request 597 from faucomte/reverting-captcha

Reverts to old captcha to test on staging ([`b3f59bd`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3f59bd05d7c6bf9544954d5ad66e106b0564a0f))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal into reverting-captcha

Conflicts:
portal/views/registration.py ([`c283edd`](https://github.com/ocadotechnology/codeforlife-portal/commit/c283edd07f1802e52b536e3fab1240a2be6ace29))

* Revert new recaptcha to old.

This reverts commit a5c1c8c700fc54c7a5d841913fb3d5ef5159e9fd. ([`8ed7ff8`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ed7ff8d1af027d1dab9af11fad9ef1675cc99cb))

* Merge pull request 596 from CelineBoudier/recaptcha-fixes

replicating a browser - changing orders of validity checks - WIP 582 ([`2f07bc7`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f07bc77dc852e03a5eaadb0681264a8a4ec6382))

* replicating a browser - changing orders of validity checks - WIP 582 ([`4d5fc7f`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d5fc7f503dd875aee2dadc5c1f67a1e1cde9c1d))

* Merge pull request 593 from CelineBoudier/recaptcha-fixes

Recaptcha fixes ([`2576aa7`](https://github.com/ocadotechnology/codeforlife-portal/commit/2576aa7b8fbb16671464d0f107f09bc7a722493b))

* Fixes issues with subnav warning bar. Fixes 594. ([`81e4b5a`](https://github.com/ocadotechnology/codeforlife-portal/commit/81e4b5acf5984bbaaf0c23d93032c31c67238e41))

* replicating a browser, trying to avoid errors on staging - WIP 582 ([`3713c61`](https://github.com/ocadotechnology/codeforlife-portal/commit/3713c618931a533ab87b31731bd9abf10809462b))

* Merge pull request 592 from CelineBoudier/travis-update-branch-semaphore

Deploys master branch on semaphoreci ([`c309b99`](https://github.com/ocadotechnology/codeforlife-portal/commit/c309b99d2d39bfc32ec39873888cf1f0068e82e4))

* Deploys master branch on semaphoreci ([`a526af7`](https://github.com/ocadotechnology/codeforlife-portal/commit/a526af7ce58ccbce4bea9cb585e3887599637108))

* Merge pull request 591 from faucomte/wrong-pdf-fix

Resources page: fixes issues with PDFs ([`b2fb687`](https://github.com/ocadotechnology/codeforlife-portal/commit/b2fb687112534836b9821b548ef23bc9a8da1eb0))

* Merge pull request 575 from faucomte/paragraph-sizes

Cleaned up &39;body-text&39; and &39;small-text&39; classes ([`4a18534`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a18534fdb60f09ab796bf58b2ec91b152aff548))

* PDF details sticks to the left of screen. ([`7326c14`](https://github.com/ocadotechnology/codeforlife-portal/commit/7326c142fcdf26ab96543bbae09f88f3627e8aee))

* Right PDFs are now showing + show correct titles. Reinstated KS tag styles. Fixes 586. Fixes 590. ([`48bbd53`](https://github.com/ocadotechnology/codeforlife-portal/commit/48bbd532907b9e2bdc062db6b6c3062d36f0a383))

* Body text and small text classes were removed as unnecessary. Fixes 391. ([`1ae1fcc`](https://github.com/ocadotechnology/codeforlife-portal/commit/1ae1fcc2476ed1ed9117f505c8889215168c27de))

* Merge pull request 589 from CelineBoudier/try-solve-recaptcha-json

Trying to solve recatcha issue - WIP ([`31090f3`](https://github.com/ocadotechnology/codeforlife-portal/commit/31090f3febc16f0106ca4de945d60ec2830678e8))

* Trying to solve recatcha issue - WIP ([`6c71ea3`](https://github.com/ocadotechnology/codeforlife-portal/commit/6c71ea348a7720277c6df7cfac743a89592847cf))

* Merge pull request 588 from harpolea/README

Updated README with installation prerequisites ([`e7c3047`](https://github.com/ocadotechnology/codeforlife-portal/commit/e7c304743c7c9d58072634735fbc02a669ec2d77))

* Resolved more merge conflicts ([`eb75b90`](https://github.com/ocadotechnology/codeforlife-portal/commit/eb75b90b688afab84e2118bb486e17402630f559))

* Updated README with installation prerequisites ([`2896cd7`](https://github.com/ocadotechnology/codeforlife-portal/commit/2896cd7149965d46903c3d994d9a165ab6c6282d))

* Updated README with installation prerequisites ([`d55e35d`](https://github.com/ocadotechnology/codeforlife-portal/commit/d55e35dc309ab0908521e3a481a6d9751bad45bb))

* Merge pull request 587 from ocadotechnology/CelineBoudier-patch-2

Clearer contributing guidelines ([`2fb678e`](https://github.com/ocadotechnology/codeforlife-portal/commit/2fb678ed2c90c37c45955fca486e2a20d2058f88))

* Clearer contributing guidelines

Stating where the contributing guideline file is. ([`847460b`](https://github.com/ocadotechnology/codeforlife-portal/commit/847460b372ef4049fa82e208b86fd63b5678ef57))

* Merge pull request 585 from CelineBoudier/switch-to-semaphoreci

Using proper env var way ([`4d1829e`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d1829ed2eb34817890066cf3880be893e8b6364))

* Using proper env var way ([`486e762`](https://github.com/ocadotechnology/codeforlife-portal/commit/486e762fe63bfac0e981ace31d1c7bc5622b10e1))

* Merge pull request 584 from CelineBoudier/switch-to-semaphoreci

Send build trigger to semaphore ci Fixes 583 ([`fd566f3`](https://github.com/ocadotechnology/codeforlife-portal/commit/fd566f3f863b198494fafd94aa2cf6dcd2edb2cb))

* Send build trigger to semaphore ci Fixes 583 ([`613026e`](https://github.com/ocadotechnology/codeforlife-portal/commit/613026e0e2f8230099c9d2242703ef95df76d029))

* Disabled failing checks again, making note of the ones to reenable ([`968bcf8`](https://github.com/ocadotechnology/codeforlife-portal/commit/968bcf824d433ecfc06812f93b29afafa3564c8a))

* Allow leading underscore in name format to fit current mixin names ([`274cf59`](https://github.com/ocadotechnology/codeforlife-portal/commit/274cf5910a5edef0b48dc6b3489f9bba46dd3318))

* Reenabled some scss-lint checks ([`67775ae`](https://github.com/ocadotechnology/codeforlife-portal/commit/67775ae44195d0aacd8739f6aa1fa9afb4c85a2b))

* Reenabled scss-lint in codeclimate

Also customized the scss-lint config file to only track conventions
that the scss already follows. ([`53bd891`](https://github.com/ocadotechnology/codeforlife-portal/commit/53bd891360157e3bd3163c845625fa0e77a37915))

* Added trailing newlines ([`74477bf`](https://github.com/ocadotechnology/codeforlife-portal/commit/74477bfffd43ec9d3f927b31c5eb52058c756f77))

* Removed duplicate property ([`b14b1aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/b14b1aa817c4bab13411294f487c9dd03f2c28f8))

* Removed whitespace on blank line ([`b6153f7`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6153f7807364fe93b2cfdca740476cbb5f145e3))

* Removed unnecessary semicolon ([`cbbd68f`](https://github.com/ocadotechnology/codeforlife-portal/commit/cbbd68fe1c8271daa604bb0d85ace413b11977ce))

* Merge pull request 576 from pluton-house/master

Corrected the Contact form URL ([`0d85369`](https://github.com/ocadotechnology/codeforlife-portal/commit/0d85369cd35a2a12357d543bf9cef895a31a0b33))

* Fixed the contact form so that the message accepts all printable ascii characters ([`03bda33`](https://github.com/ocadotechnology/codeforlife-portal/commit/03bda33291a1cb2ec03b7482edc682a9df4f161a))

* Merged from upstream ([`937f682`](https://github.com/ocadotechnology/codeforlife-portal/commit/937f6823595d3b5cf783597f3d22d9ce897a9c9f))

* Merge pull request 573 from Willv19/issue-466

Issue 466 ([`ab878ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab878ee2b0a245c690fcd5898c826bdb163f0b57))

* Verify the fields of the contact form ([`6ada900`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ada9008e2816b076f5ed57c67e97f9412583c36))

* Corrected the Contact form URL ([`8c60c10`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c60c10355fd4cebc82a3d3c29a53e0c38141a57))

* Moved captcha.py into the helpers folder ([`a5c1c8c`](https://github.com/ocadotechnology/codeforlife-portal/commit/a5c1c8c700fc54c7a5d841913fb3d5ef5159e9fd))

* Added character limits to the create account and change name forms ([`33abb72`](https://github.com/ocadotechnology/codeforlife-portal/commit/33abb72ffec1091978cc493099f7dd9707e994e4))

* Merge pull request 571 from faucomte/reminder_cards

Updated password reminder cards ([`742ee25`](https://github.com/ocadotechnology/codeforlife-portal/commit/742ee2552f0b8c8bd52195044509a15f94a394f9))

* Removed duplicate import of app_settings ([`9301dfa`](https://github.com/ocadotechnology/codeforlife-portal/commit/9301dfa3c30b12eaaded94fad795ffe037bc324c))

* The captcha error messages now better suit what is being entered in the form ([`2f09fc7`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f09fc7245f766aeb9f8a5393d90e795076afb64))

* Removed last of the references to the old captcha code ([`adf4540`](https://github.com/ocadotechnology/codeforlife-portal/commit/adf45408c9140970a21670581ebae8644c5645cf))

* Removed whitespace from blank line ([`b41e416`](https://github.com/ocadotechnology/codeforlife-portal/commit/b41e416266e13d8c91bc0357a0af5d668d1ae4cb))

* Actually decreased cyclomatic complexity ([`17140e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/17140e5645650a870f41379ae8125a461ad53e10))

* Removed captcha from the join organization template to match the view ([`9ef094c`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ef094c55a989bfa701c53d2cd1df3b8ba2ba284))

* Removed other code that used old captcha system

I did not update the captcha because it was agreed that the join organization form didn&39;t need it ([`07a6442`](https://github.com/ocadotechnology/codeforlife-portal/commit/07a644229571d74293c224b2d4acef12ec03abe6))

* Added newlines to match pep8 styleguide ([`77ada8f`](https://github.com/ocadotechnology/codeforlife-portal/commit/77ada8f880b20af82bfb12bdccfbbd796456d56c))

* Removed unnecessary AdminLoginForm captcha field ([`7cf9788`](https://github.com/ocadotechnology/codeforlife-portal/commit/7cf9788d284e12ac39a901eb298179b2ccd66bc0))

* Removed import statement that made build fail due to the library we removed ([`573f5f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/573f5f2737a1e7de4703b2feed287084b70198ff))

* Reduced cyclomatic complexity (hopefully) ([`6f5ec89`](https://github.com/ocadotechnology/codeforlife-portal/commit/6f5ec894c48fdac61e2db86783e8d961b05ff860))

* Fixed captcha issue with tests ([`f27ff02`](https://github.com/ocadotechnology/codeforlife-portal/commit/f27ff027d5c7f45cbf3baef1184ca074f984b962))

* Readded contents of captcha toggle file ([`eab50a7`](https://github.com/ocadotechnology/codeforlife-portal/commit/eab50a768883f8c5dbcd3fbf5b02788887477a72))

* Fixed test failing due to captcha ([`577b4be`](https://github.com/ocadotechnology/codeforlife-portal/commit/577b4bedddf664dae82f68d433182a96bced569d))

* Removed test settiings in contact form ([`2a65c1d`](https://github.com/ocadotechnology/codeforlife-portal/commit/2a65c1d1ae9756fa494986c0a20101cb0191e27b))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal into issue-466 ([`5f29058`](https://github.com/ocadotechnology/codeforlife-portal/commit/5f29058fd30f826efa1b2f7adf5974c031797e60))

* Removed file that old library used to toggle captchas ([`ffcbcd4`](https://github.com/ocadotechnology/codeforlife-portal/commit/ffcbcd4abf828b624e6e831c12a87137866e3b27))

* Removed dependency on django-recaptcha-field ([`6888e45`](https://github.com/ocadotechnology/codeforlife-portal/commit/6888e45c1cba441712ecaf95cc92cd3dd55de0ae))

* Captcha updated in the password reset form ([`d4403c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/d4403c57d38622de62a7c0e0d54460a51ee4816c))

* Removed captcha from joining an organization ([`d98840d`](https://github.com/ocadotechnology/codeforlife-portal/commit/d98840ddc7ceb940a1df160f8af01a7ded0d9de1))

* Replaced references to settings with references to app_settings ([`e6ea0c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/e6ea0c75ff83b912b43e09fd6f1501e30a5a366a))

* Now help and support gets the new captcha! ([`8996687`](https://github.com/ocadotechnology/codeforlife-portal/commit/89966878092575a5206773db907fec8874bc6d3c))

* No more extraneous captcha code in the dashboard view! ([`cd9b501`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd9b5012e450518016fd47dfe9d59d52ed813259))

* Removed old recaptcha styling ([`a08dc85`](https://github.com/ocadotechnology/codeforlife-portal/commit/a08dc85ea765870a32ed63d9f2953dc9458f9e91))

* Added captcha to admin login page ([`78d7f3e`](https://github.com/ocadotechnology/codeforlife-portal/commit/78d7f3e9fc9de3009c5f1785155a065b7c684967))

* Updated verification method, added citation ([`9983701`](https://github.com/ocadotechnology/codeforlife-portal/commit/9983701c716a0038254b95b2d8c3eb7cc81abae0))

* Added recaptcha support to student and independent student logins ([`3f6764a`](https://github.com/ocadotechnology/codeforlife-portal/commit/3f6764a95a77c13388b94116ee1a75b4da0218ab))

* Updated the recaptcha for the teacher login form ([`87c7853`](https://github.com/ocadotechnology/codeforlife-portal/commit/87c7853fed8c190b8739368aab311c536e964fdd))

* Merge pull request 570 from frytko/master

help and support FAQ moves to the left when clicked ([`9857867`](https://github.com/ocadotechnology/codeforlife-portal/commit/9857867550816c7d6f28b48dafe4e9574f9d000c))

* Updates reminder card logo + fix spacing bug. Fixes 421. Fixes 447. ([`f921c16`](https://github.com/ocadotechnology/codeforlife-portal/commit/f921c16324d5d69a0a39efe770bac414979e29ee))

* Merge pull request 569 from faucomte/register-password-checl

Register from: fix cleaning ([`b97294d`](https://github.com/ocadotechnology/codeforlife-portal/commit/b97294d3ddf0786aa0db9e2478503d9671ef5fb3))

* Update _utils.scss ([`6d5484e`](https://github.com/ocadotechnology/codeforlife-portal/commit/6d5484e0dab42bc6e30e26cb9d7dc6c89e407071))

* Fixes teacher register form cleaning. ([`d9a7f9e`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9a7f9e3edc53f29b22404af5de9b8ea51e74a28))

* Merge pull request 568 from faucomte/fix-register-form

Registration: users get an email if they try to reregister ([`e65f010`](https://github.com/ocadotechnology/codeforlife-portal/commit/e65f010af673a81048c606ea01bda1d1a7c6fa7c))

* Users get an email if they try to reregister. Fixes 567. ([`45be1c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/45be1c5cde375f96823abec52fa9c6c65a098cb4))

* Merge pull request 566 from faucomte/dashboard-buttons-again

Updated dashboard buttons - again ([`63c4e45`](https://github.com/ocadotechnology/codeforlife-portal/commit/63c4e457b5d05a1702db108d1da09877da84a1ed))

* Clearer dashboard. Fixes 563. Links at end of onboarding. Fixes 565. ([`d93d6ed`](https://github.com/ocadotechnology/codeforlife-portal/commit/d93d6edae5b7baf1ab16330d449229cdada77bb2))

* Merge pull request 564 from CelineBoudier/travis-update

Update Travis YAML file ([`a3c8923`](https://github.com/ocadotechnology/codeforlife-portal/commit/a3c8923a6246fb9f8338c58fc535aba70d10f045))

* Update Travis YAML file ([`a2d588e`](https://github.com/ocadotechnology/codeforlife-portal/commit/a2d588e37e83be00ba733d70f8da440909a2eb81))

* Merge pull request 561 from faucomte/home-page-fix

Updates number of users on home and about us pages ([`47d3282`](https://github.com/ocadotechnology/codeforlife-portal/commit/47d3282351116b181fe5cc3e33aaee136614faad))

* Merge pull request 560 from faucomte/final-fixes

Fixes spacing issues ([`b368591`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3685910e4830f83f9d0ef610b0a38dad6660f20))

* Updates number of users. ([`cf64336`](https://github.com/ocadotechnology/codeforlife-portal/commit/cf643363d2dd5c8e6a961949def6fd675d79d0c1))

* Fixes spacing issues. ([`ab386ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab386ef327a97623717457af0b3dc90b982d5354))

* Merge pull request 559 from faucomte/mobile-menu

Mobiles: Responsive menu & layouts ([`a043513`](https://github.com/ocadotechnology/codeforlife-portal/commit/a043513f565860818e06303f915561e2ffbfbe92))

* Responsiveness for mobiles. Fixes 558. ([`f1eeaf2`](https://github.com/ocadotechnology/codeforlife-portal/commit/f1eeaf24e69db1cf418820071af3e6299eae0293))

* Merge pull request 557 from CelineBoudier/2fa-buttons

Overriding 2fa actions template - attempt for 500 ([`90857f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/90857f2098a595f7cd32e9bb4c3be3b5fbc60f84))

* Overriding 2fa actions template - attempt for 500 ([`45bdfd3`](https://github.com/ocadotechnology/codeforlife-portal/commit/45bdfd3a2b1c7e16ecbca6e1ad01a621f0f93197))

* Merge pull request 556 from CelineBoudier/link-currivulum-teach

Fixes 490 - link to pdf ([`afebe64`](https://github.com/ocadotechnology/codeforlife-portal/commit/afebe6454835ea72560573d1aef9892023804b0e))

* Fixes 490 - link to pdf ([`2547d2c`](https://github.com/ocadotechnology/codeforlife-portal/commit/2547d2cc1f92a04200da828f7f8b52b526ed4479))

* Merge pull request 555 from faucomte/fix-play

Clicking on play again redirects to normal play page ([`e8b0d05`](https://github.com/ocadotechnology/codeforlife-portal/commit/e8b0d05f149d8215eca9cd5d6b4c66042e151fef))

* Merge pull request 553 from faucomte/banner-fixes

About us & Help pages: banners can hold text on tablets ([`3b27503`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b27503c7d7d697edfbb1312cb50426faf62e84d))

* Fixes play link. Fixes 554. ([`e6cec5f`](https://github.com/ocadotechnology/codeforlife-portal/commit/e6cec5f18629b96adb439c4f21779fab8d22ed75))

* Fixes banners. Fixes 552. ([`7a0046d`](https://github.com/ocadotechnology/codeforlife-portal/commit/7a0046dc75a49c989646ce85f2104b51fe1a07fb))

* Merge pull request 551 from faucomte/2fa-message

Fix: No 2FA suggestion message on onboarding ([`236216b`](https://github.com/ocadotechnology/codeforlife-portal/commit/236216b7b97a5c8391dec0507a7e2c39c9d63d08))

* Merge pull request 549 from faucomte/error-pages

Error pages: updated styles ([`056f216`](https://github.com/ocadotechnology/codeforlife-portal/commit/056f216880dacd32b0f9b921e4755c0baf834563))

* 2FA message only on dashboard. Fixes 550. ([`c79c22e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c79c22e6d8e7caa49b954e85e464d836a02b68ef))

* Updates style of error pages. Fixes 545. ([`e5614ce`](https://github.com/ocadotechnology/codeforlife-portal/commit/e5614ce55658fc2370e6ea31f727b686ed08e743))

* Merge pull request 548 from faucomte/replacing-mandy

Updates Mandy&39;s picture ([`f02d90b`](https://github.com/ocadotechnology/codeforlife-portal/commit/f02d90b68dc6bdc1c36015bd9c56c2bc7635b181))

* Updated Mandy&39;s picture. Fixes 547. ([`538dcd5`](https://github.com/ocadotechnology/codeforlife-portal/commit/538dcd521a2852af7dd05472384c3ca012ba056d))

* Merge pull request 546 from faucomte/nav-bar-anchors

Top nav bar anchors stay white on click ([`6c5c577`](https://github.com/ocadotechnology/codeforlife-portal/commit/6c5c5773f209dd2f17e46ac416f48a90469778a9))

* Anchors stay white. Fixes 544. ([`dd3b098`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd3b0989e5dc1368c0951d606706c5062db5137a))

* Merge pull request 541 from faucomte/home-page-responsive

Home page: responsive banner ([`539440c`](https://github.com/ocadotechnology/codeforlife-portal/commit/539440cb47014d9171e433b33e1caff858dab1d9))

* Merge pull request 542 from faucomte/login-responsive

Login & Register forms: responsive for tablets ([`cf01782`](https://github.com/ocadotechnology/codeforlife-portal/commit/cf0178255c9fd9b4b18e59d6b264f2e8bb80c66b))

* Responsive login form for tablets. Fixes 533. ([`ed8c40f`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed8c40fccb94d53101b0ccc1744e19840954018f))

* Responsive home page banner. Fixes 540. ([`d3cec10`](https://github.com/ocadotechnology/codeforlife-portal/commit/d3cec10d55cb71bf1f33f4b8d8266b1a64417a3b))

* Merge pull request 537 from faucomte/play-page-responsive

Play page: responsive banner ([`8385853`](https://github.com/ocadotechnology/codeforlife-portal/commit/8385853ce77ed78096de50780045fb9621184f06))

* Merge pull request 539 from faucomte/dashboard-buttons

Dashboard page: anchors doesn&39;t split on small screens ([`0d3c7d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/0d3c7d0ae6ce4547bced031b28b950b4491bed68))

* Fixes dashboard table buttons split bug. Fixes 538. ([`ad8cc86`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad8cc86e9b5ede6bbd84b40acc06f8609c283cf7))

* Merge pull request 523 from faucomte/app-tags-fix

Adds mistakenly deleted app tag ([`e9d6443`](https://github.com/ocadotechnology/codeforlife-portal/commit/e9d6443ba568caff11e3d0d004e7022ff712a79b))

* Makes play page responsive. Fixes 536. ([`b718b68`](https://github.com/ocadotechnology/codeforlife-portal/commit/b718b68bce867514aecd7f2e8b338605afd53d17))

* Merge pull request 534 from faucomte/more-responsivenes

Teach page: responsiveness upgrade. Fixes 535. ([`4ba2b10`](https://github.com/ocadotechnology/codeforlife-portal/commit/4ba2b103d34c50003a5baba937fb3048460b264c))

* Makes teach page responsive. ([`e1330df`](https://github.com/ocadotechnology/codeforlife-portal/commit/e1330dfea9ed680ae3ce3aa43d646cd3d5c6e861))

* Merge pull request 531 from faucomte/safari-issue

Safari issue fix ([`5d403c4`](https://github.com/ocadotechnology/codeforlife-portal/commit/5d403c4df6f176c0ba0bf737746c987852d6d636))

* Removes unnecessary rule which caused Safari issue. Fixes 530. ([`ea6a88b`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea6a88b76c3528265411f01b8614a2913df7f834))

* Merge pull request 529 from faucomte/colorbox-video

Updated Colorbox layout ([`cde3c23`](https://github.com/ocadotechnology/codeforlife-portal/commit/cde3c2301cb348f92313a1d4603af8d89fe38067))

* Colorbox fixes. Fixes 526. ([`fd6504b`](https://github.com/ocadotechnology/codeforlife-portal/commit/fd6504b39a0889b543813e0ce3a49a735d4d1ae7))

* Merge pull request 528 from faucomte/resources-banner

Updated resources banner layout ([`9a95597`](https://github.com/ocadotechnology/codeforlife-portal/commit/9a955972ae36adeb0506f6441cc6f87f5951a6aa))

* Fix resources banner layout. Fixes 527. ([`a68c886`](https://github.com/ocadotechnology/codeforlife-portal/commit/a68c886fec78b52051f95c1b8bc46e86c8094a40))

* Merge pull request 525 from faucomte/characters-section

Updated characters section ([`8148b1e`](https://github.com/ocadotechnology/codeforlife-portal/commit/8148b1eb7cd57b25b562c53c81c7757ce7e56c45))

* Updated images and flex properties. Fixes 518. ([`36bd1a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/36bd1a33f1e79a25b532a85b930e1c0430d09d4a))

* Merge pull request 524 from faucomte/form-placeholder

Explanatory placeholder for add students form ([`25815e3`](https://github.com/ocadotechnology/codeforlife-portal/commit/25815e38d28189265480a25b4736779ab733bc3a))

* Adds explanatory placeholder to add students form. Fixes 522. ([`4b20c27`](https://github.com/ocadotechnology/codeforlife-portal/commit/4b20c274aa82dcc9fd9c3886e83ff95c7419109f))

* Adds mistakenly deleted caps app tag. ([`29df483`](https://github.com/ocadotechnology/codeforlife-portal/commit/29df48379fb15c3562cff6b6a52d6717acf2da6c))

* Merge pull request 520 from faucomte/subnav-fix

RR pages: positioning sub nav bar appropriately ([`58168b2`](https://github.com/ocadotechnology/codeforlife-portal/commit/58168b2a3c10a3dcd9a5b0525156a35de48d78c1))

* Repositions subnav and deletes some old files. Fixes 519. ([`dc23ff6`](https://github.com/ocadotechnology/codeforlife-portal/commit/dc23ff6d5d0d297bd8cdca84f0678507d993fa94))

* Merge pull request 517 from faucomte/visited-anchors

Anchors fix: text stays after anchor has been visited ([`ee49095`](https://github.com/ocadotechnology/codeforlife-portal/commit/ee49095ac0adbd9104aa11c4816da91711f19b71))

* Visited anchors don&39;t disappear anymore. Fixes 516. ([`119d42e`](https://github.com/ocadotechnology/codeforlife-portal/commit/119d42ebb0c4e0b74094d94ecc7175e2bcc53b70))

* Merge pull request 486 from faucomte/redesign-external-requests

Redesign 31: Dashboard page - external requests ([`35c4236`](https://github.com/ocadotechnology/codeforlife-portal/commit/35c4236c729209ce3dd887724f246e5e36d77228))

* Merge pull request 514 from faucomte/button-behaviour

Updated button styles and sub nav fixes ([`af005d6`](https://github.com/ocadotechnology/codeforlife-portal/commit/af005d68f254d0dbaa8c35b8789049a269a99abc))

* Merge pull request 515 from faucomte/download-video

PDF viewer page: correct video download URL ([`c224d29`](https://github.com/ocadotechnology/codeforlife-portal/commit/c224d2946fac710ba35cfd9afa20416c7cbed13a))

* Getting tests to work ([`f2ad8d5`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2ad8d55ed1ebd3e67700f531f2ce285bda3ba50))

* Downloadable video + better banner. Fixes 509. ([`0000717`](https://github.com/ocadotechnology/codeforlife-portal/commit/000071721bc7dc2c6799347662fd1fe7f662ee77))

* Updated button styles and corrected sub nav height. Fixes 489. Fixes 506. Fixes 508. Fixes 513. Fixes 507. ([`5c4f6b2`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c4f6b2f51e2ff8fa286f22b51a13be8660a0847))

* Merge pull request 512 from faucomte/new-resources-image

Teach page: Updated resources & scoring image ([`7ca2612`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ca26127ab37db0f2415e516713d4dff3f490565))

* Updates resources & scoring picture. Fixes 487. ([`c34a53b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c34a53b74a862ad28bff4dab542142b1a6864f7b))

* Update add_independent_student_to_class_page_new.py ([`6569fea`](https://github.com/ocadotechnology/codeforlife-portal/commit/6569fea75adc8e9020f83ffe8790059f7a20e15a))

* Added a wait as it might timeout ([`af607a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/af607a1098e19e339938779fb2268afdc94fd07c))

* Added logs

see what&39;s going on with Travis ([`51251c4`](https://github.com/ocadotechnology/codeforlife-portal/commit/51251c416de3de6c952ee8a061e588d2a49d80f8))

* External student requests functionality + tests. Fixes 478. ([`55eb96a`](https://github.com/ocadotechnology/codeforlife-portal/commit/55eb96a9e9d306663fe116fed77618ec2264106d))

* External student requests functionality + tests. Fixes 478. ([`bfaed49`](https://github.com/ocadotechnology/codeforlife-portal/commit/bfaed4954df9b6906990efceb5c8b887ae522ab2))

* Merge pull request 511 from faucomte/missing-partials

Adds missing Bootstrap SASS ([`b7217f9`](https://github.com/ocadotechnology/codeforlife-portal/commit/b7217f975bccf75653f0faca9cdeea7371901268))

* Added missing Bootstrap partials. Fixes 510. ([`0994121`](https://github.com/ocadotechnology/codeforlife-portal/commit/09941217f8a292bc3c928287701b11ce86511176))

* Merge pull request 504 from faucomte/final_fixes

Final fixes for redesign ([`b978d16`](https://github.com/ocadotechnology/codeforlife-portal/commit/b978d16d713de83ba644f489914b722fb401c6ff))

* Final fixes for redesign ([`49d7842`](https://github.com/ocadotechnology/codeforlife-portal/commit/49d784224cd5cda26a74ec3d4d0d6085d1e2adb4))

* Merge pull request 503 from faucomte/redesign_header_footer

REDESIGN 3000: Bye bye old files (or the massivest PR ever) ([`2f07a55`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f07a557f8b74c3564c85f83f49fc881c2e8ee33))

* Old design replaced with Redesign! Fixes 502. ([`3eca060`](https://github.com/ocadotechnology/codeforlife-portal/commit/3eca0605796d51f03dda6384ffacb34a1978f5a2))

* Using SASS imports instead of ugly copy pasting! ([`c898e53`](https://github.com/ocadotechnology/codeforlife-portal/commit/c898e5388d16f4b4c3b572beedf952857db88a7d))

* Separating sass for header and footer. ([`9fd62f4`](https://github.com/ocadotechnology/codeforlife-portal/commit/9fd62f407bf857ee653bc92126b53ea9bde19300))

* another wip ([`273220c`](https://github.com/ocadotechnology/codeforlife-portal/commit/273220c8cb482e003aeaa5bd5b25aa26e917a3e2))

* Getting new header and footer on old pages ([`092fc62`](https://github.com/ocadotechnology/codeforlife-portal/commit/092fc622f5f9abcf3fc2901dbb7c8fd44dd02911))

* Merge pull request 497 from faucomte/more-css-fixes

HTML/CSS fixes: Padding, table buttons and responsiveness ([`8ab46ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ab46ee598c2bcf5f110fc01d83492631325f7b7))

* Merge pull request 494 from faucomte/redesign-resources-pt2

Redesign: Teaching Resources - new structure ([`fd42ed6`](https://github.com/ocadotechnology/codeforlife-portal/commit/fd42ed6784b60529578056825c3c855652a82ef3))

* Fixes CSS issues and better responsiveness. Fixes 496. Fixes 430. ([`7afaac7`](https://github.com/ocadotechnology/codeforlife-portal/commit/7afaac768b72c0597f38094387247334c0616539))

* Merge pull request 493 from faucomte/redesign-dashboard-standard

Redesign 32: Dashboard page for non admin teachers ([`5c6dfcb`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c6dfcb91e3b082431a8c5faadf19023a2a583fa))

* New teacher resources structure. Fixes 476. Fixes 477. ([`c6d4560`](https://github.com/ocadotechnology/codeforlife-portal/commit/c6d4560fd1b3290e3e18d07d99b2bab346afe370))

* Merge pull request 495 from faucomte/buttons-css-fixes

HTML/CSS fixes: Button shades on hover ([`f14e97f`](https://github.com/ocadotechnology/codeforlife-portal/commit/f14e97f03599220e9d74abf743c29cf6983ace3e))

* Buttons change colour upon hover. Fixes 349. ([`60aaa42`](https://github.com/ocadotechnology/codeforlife-portal/commit/60aaa4251981cd10fde2f12a04fb0c58543d8784))

* Adds move all classes + leave school functionality. Fixes 475. ([`b226aa2`](https://github.com/ocadotechnology/codeforlife-portal/commit/b226aa28daaaa29bc7af178140c6900c54bcad60))

* Merge pull request 473 from faucomte/anchors-css-fixes

HTML/CSS fixes: Anchors ([`3668346`](https://github.com/ocadotechnology/codeforlife-portal/commit/3668346e26acc734fb77e588bca50a346f433b09))

* Merge pull request 474 from faucomte/resources-css-fixes

HTML/CSS fixes: ZIP/Key Stage icons ([`8ac224b`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ac224ba9d0f160020908e2a8fe7ee2c27f4a6f6))

* Adds ZIP icons and Key Stage tags. Fixes 408. ([`3c1b840`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c1b840b91c54b168d537f3a75b76831e262f42e))

* Anchor text colour remains the same on click. Fixes 471. ([`2631142`](https://github.com/ocadotechnology/codeforlife-portal/commit/26311424468c18a9b4de21bb5d7571555029baf3))

* Merge pull request 499 from faucomte/travis-fix

Fix for Travis build ([`d91305f`](https://github.com/ocadotechnology/codeforlife-portal/commit/d91305fd594b6d5854ceef84f0df44e3eef3c468))

* Fixes Travis not building issue. Fixes 498. ([`16f02de`](https://github.com/ocadotechnology/codeforlife-portal/commit/16f02decb92b868f0e1073c016a973b2d11dd64e))

* Merge pull request 485 from faucomte/2fa-redirect

Redesign: 2FA login redirect ([`a7c4f05`](https://github.com/ocadotechnology/codeforlife-portal/commit/a7c4f0511d15ecacf6321b008719f3cc71e617ac))

* Update home_new.py ([`6554d26`](https://github.com/ocadotechnology/codeforlife-portal/commit/6554d2673ccd94c0845414c4f75c9167e50f1c76))

* Redirects teachers to redesigned pages after 2FA login. Fixes 384. ([`a7d40c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/a7d40c59b6e4ff22321f4c7552e02d3a7b21412e))

* Merge pull request 483 from CelineBoudier/add-class-button

add class button - fixes 481 ([`11bc5a9`](https://github.com/ocadotechnology/codeforlife-portal/commit/11bc5a9c3b8746fbbb794214a04dbcc456e6c224))

* Merge pull request 482 from CelineBoudier/onboarding-completion-improv

New onboarding completion check - fixes 450 ([`2698195`](https://github.com/ocadotechnology/codeforlife-portal/commit/26981957b1132e996441ab092d91e454ef75c78c))

* New onboarding completion check - fixes 450 ([`747becb`](https://github.com/ocadotechnology/codeforlife-portal/commit/747becb17f4473760bb53f6f877c526d085058ff))

* add class button - fixes 481 ([`eff018b`](https://github.com/ocadotechnology/codeforlife-portal/commit/eff018b3f385fe1607f07fdcde44f30ca75657fa))

* Merge pull request 480 from CelineBoudier/sanitise-account

escapejs redesign too... ([`887932c`](https://github.com/ocadotechnology/codeforlife-portal/commit/887932cd5b8b194a22a3d937dd92393f83a5ca12))

* escape js redesign ([`a67bfe6`](https://github.com/ocadotechnology/codeforlife-portal/commit/a67bfe6d37720487263d097dab8d96587fc6bc0a))

* Merge pull request 479 from CelineBoudier/sanitise-account

shouldn&39;t load unwanted js scripts ([`23e9978`](https://github.com/ocadotechnology/codeforlife-portal/commit/23e99789288d26d4583c51324243ada4178f8cee))

* shouldn&39;t load unwanted js scripts ([`16f556a`](https://github.com/ocadotechnology/codeforlife-portal/commit/16f556a97bb33e16e416afe2d61b87edf96a7fb8))

* Merge pull request 472 from faucomte/terms-css-fixes

HTML/CSS fixes: Terms & Conditions page ([`470131a`](https://github.com/ocadotechnology/codeforlife-portal/commit/470131a1510a3a826d4248b3b142cfa29f45fec9))

* Merge pull request 470 from faucomte/faqs-wording

Redesign: updated FAQs wording and spacing ([`9b28fe2`](https://github.com/ocadotechnology/codeforlife-portal/commit/9b28fe26ede3fe073e74f634caf138f27b8ebe66))

* Adds line break, updates ordered list size and double quotes. Fixes 325. ([`9a13867`](https://github.com/ocadotechnology/codeforlife-portal/commit/9a1386777e65ebe1196ca8406a08900c452d697c))

* Updated FAQs: new content and spacing. Fixes 469. ([`2d4d77c`](https://github.com/ocadotechnology/codeforlife-portal/commit/2d4d77c40b35f2871ce0140880faf1cadd364349))

* Merge pull request 464 from faucomte/redesign-messages

Redesign 30: Alert/Success messages ([`fe2d311`](https://github.com/ocadotechnology/codeforlife-portal/commit/fe2d3114314403778767ca7443c881e633e90aef))

* Merge pull request 462 from frytko/master

Redesign: FAQ file with dropdown accordion. Fixes 468. ([`5d10a85`](https://github.com/ocadotechnology/codeforlife-portal/commit/5d10a85384fed296c8fe244884839907333ddb30))

* Merge pull request 467 from faucomte/reset-password-email

Updated reset password email with no apostrophe ([`983d062`](https://github.com/ocadotechnology/codeforlife-portal/commit/983d062a1c11c67f6ad3f7add238b1f92a06b0c0))

* Small CSS extras for FAQs. ([`f6b769b`](https://github.com/ocadotechnology/codeforlife-portal/commit/f6b769b35858ab2de0faf7d4679d31b42107af17))

* Rewrote reset password email so it doesn&39;t use apostrophe. Fixes 465. ([`ae33b09`](https://github.com/ocadotechnology/codeforlife-portal/commit/ae33b09586c98c62abcf57360ce33651f6d80d41))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

Conflicts:
portal/templates/redesign/help-and-support_new.html ([`2777578`](https://github.com/ocadotechnology/codeforlife-portal/commit/2777578cd9b422aded2d9df53e6cc4322d7f10d5))

* Stylised and functional alert messages across the site. Fixes 416. ([`cbfecf3`](https://github.com/ocadotechnology/codeforlife-portal/commit/cbfecf325607b31ff1ced3f3d7519ee159e59fc3))

* Merge pull request 404 from abstractpoint/contact_form

Redesign: contact form functionality - fixes 461 ([`efc6449`](https://github.com/ocadotechnology/codeforlife-portal/commit/efc6449077727acac182591a9a4e68b402d20096))

* Added tests for contact form. ([`bdb53e6`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdb53e63412a0d802112a28f8013c49f9ccb9fc7))

* Merge pull request 459 from faucomte/redesign-password-teach

Redesign 29: Reset password functionality ([`9c27947`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c2794768f82a58275cf11125307d1c9e912249b))

* Merge pull request 379 from faucomte/redesign-class-release

Redesign 28 - Edit class page: release students ([`c2eb4b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/c2eb4b17821e41ea4c7675a0d1720e9208c3c0ad))

* Indep students and teachers can reset their passwords + tests. Fixes 382. Fixes 383. Fixes 103. Fixes 446. Fixes 463. ([`8858925`](https://github.com/ocadotechnology/codeforlife-portal/commit/88589250c95f3534233d34f52db1c5ab04875315))

* Added a line to pass code climate ([`cfa207d`](https://github.com/ocadotechnology/codeforlife-portal/commit/cfa207d8a8c034786d33b36b86c9ddfd4ecea84e))

* Added a symbol to mark the end of url. ([`6d5bfae`](https://github.com/ocadotechnology/codeforlife-portal/commit/6d5bfae70e2a712c2b0505e7bb505278021ac590))

* Readme, added instruction how to make the contact form not fail due to email error ([`f6a5e06`](https://github.com/ocadotechnology/codeforlife-portal/commit/f6a5e062cdd5a5f18e8f36d5c495ac1361d08689))

* Form leading to connection refused WIP ([`7f1aac0`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f1aac0581be072d4d7c227c91993b711dbb15f1))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`19762d3`](https://github.com/ocadotechnology/codeforlife-portal/commit/19762d31d76cd282b822d7b079d3b405bb5958b6))

* Added release students functionality + test. Fixes 357. ([`91ce9b4`](https://github.com/ocadotechnology/codeforlife-portal/commit/91ce9b4eca18d6ddab8bb8b66a340c2d46dd68a2))

* Merge pull request 378 from faucomte/redesign-class-move

Redesign 27 - Edit class page: move students ([`1d1e706`](https://github.com/ocadotechnology/codeforlife-portal/commit/1d1e7063a45cff367a6a5bfed69df5e750ea3d1f))

* Updated date, simplified models and renamed methods. ([`c5649c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/c5649c5a49ee2ded3c43e565a97fde9db7ff3840))

* FAQ file new with dropdown accordion Fixes: 441 462

Css styles moved to scss, input fields from contact visible, answers alligned with questions ([`8cf1be0`](https://github.com/ocadotechnology/codeforlife-portal/commit/8cf1be012355d58b0ca048307e3d61b0bc384eea))

* Added move students functionality + tests. Fixes 356. ([`ff72666`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff7266606e6907aa6e525f9e825b5e2ce15d5e1a))

* Fixed CSS issues in student table. ([`228370f`](https://github.com/ocadotechnology/codeforlife-portal/commit/228370f5225980518c2699213ada7c7b2411ea5a))

* Edit student details form + tests. Fixes 355. ([`a29c2bd`](https://github.com/ocadotechnology/codeforlife-portal/commit/a29c2bddd4e5f6d162f6f1108276f95a4ac4979d))

* Transfer class + edit class settings functionality + tests. Fixes 362. ([`d811edd`](https://github.com/ocadotechnology/codeforlife-portal/commit/d811eddf6fbe538752106b3112aafe4cacca3396))

* Buttons functionality for teacher dashboard + tests. Fixes 341. ([`5ce04fb`](https://github.com/ocadotechnology/codeforlife-portal/commit/5ce04fbdc76601df5633c307e3e74562b397327f))

* Independent students can register + tests. Fixes 350. ([`1193035`](https://github.com/ocadotechnology/codeforlife-portal/commit/1193035ac4b0018945e4628df88b26933144cd38))

* FAQ new file
changes applied ([`ba70886`](https://github.com/ocadotechnology/codeforlife-portal/commit/ba708861d04e19ea152aaacb4f85cec36b9b4e73))

* FAQ file new with dropdown accordion ([`225aad8`](https://github.com/ocadotechnology/codeforlife-portal/commit/225aad8f0d46ba33d6c0e4ce2b98665cdc6e461f))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`82c83f8`](https://github.com/ocadotechnology/codeforlife-portal/commit/82c83f87bfc109808b1e23ecbf9f3feda25a9e39))

* Merge pull request 460 from CelineBoudier/rm-cow-levels

last cow back to pasture ([`3a22f6f`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a22f6f468f37bc22f1252d95369cf8c019af016))

* last cow back to pasture ([`716973b`](https://github.com/ocadotechnology/codeforlife-portal/commit/716973bf2b3879ebe69c49d4b124be65b0b6f877))

* Merge pull request 457 from piotrrepetowski/changeable_class_name

Allow changing the class_name in tests when creating a class ([`096813c`](https://github.com/ocadotechnology/codeforlife-portal/commit/096813c12f2879783750b65217ea71a6354f1e15))

* Allow changing the class_name in tests when creating a class ([`03a146d`](https://github.com/ocadotechnology/codeforlife-portal/commit/03a146d4dc4962f707229c8cf19ba364a2a757a8))

* Merge pull request 455 from CelineBoudier/2fa-debug

Fixing 2fa - fixes 454 ([`3bff810`](https://github.com/ocadotechnology/codeforlife-portal/commit/3bff8105ef621332e6b0420ab23fe344439b50bd))

* Fixing 2fa - fixes 454 ([`8b4dc78`](https://github.com/ocadotechnology/codeforlife-portal/commit/8b4dc781755cace1a82bf8ff71892217e66ef0db))

* Merge pull request 452 from faucomte/new-class-redirect

Updates for edit class page ([`3eea0a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/3eea0a1097a5197379107dbbb72eea4247ac3b4f))

* Updates redirect and new class page. Fixes 445. ([`b9d0448`](https://github.com/ocadotechnology/codeforlife-portal/commit/b9d04489cea2d597cca8c4e8b14ca44046f07fbf))

* Merge pull request 376 from faucomte/redesign-class-password

Redesign 26 - Edit class page: reset student passwords ([`1e18520`](https://github.com/ocadotechnology/codeforlife-portal/commit/1e18520353d4189e0f13b58de9a09da868aafe95))

* Added reset student password functionality + test. Fixes 359. ([`04761e2`](https://github.com/ocadotechnology/codeforlife-portal/commit/04761e280596e31a664b6623a42e2f22a7cc49d9))

* Fixed CSS issues in student table. ([`bdca085`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdca08515b235bbea860e42532172dd6e929ab27))

* Added delete student functionality + tests. Fixes 358. ([`e8a450a`](https://github.com/ocadotechnology/codeforlife-portal/commit/e8a450a53c483d21e34b4a782051f1a3f7a784ed))

* Edit student details form + tests. Fixes 355. ([`0dfeba7`](https://github.com/ocadotechnology/codeforlife-portal/commit/0dfeba73a30310a10e313f38737e06d98f8751eb))

* Transfer class + edit class settings functionality + tests. Fixes 362. ([`3331730`](https://github.com/ocadotechnology/codeforlife-portal/commit/3331730607eb305d5cddd7b9e35be38a743868a6))

* Delete class functionality + test. Fixes 363. ([`2189430`](https://github.com/ocadotechnology/codeforlife-portal/commit/21894308b932f8a694c9c6cf327593324d5f85ef))

* Merge pull request 375 from faucomte/redesign-class-delete-students

Redesign 25 - Edit class page: delete students ([`d9699ab`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9699ab1570405220a9432efca934ecdeac73d13))

* Merge pull request 449 from CelineBoudier/salesforce-integ

Updating salesforce lead source ([`ab39cde`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab39cde6186e7e4556b02b9e0fbbdebbccef9eca))

* Updating salesforce lead source ([`a17393d`](https://github.com/ocadotechnology/codeforlife-portal/commit/a17393d7d84181b2420c8f8053a241c2bd9458ed))

* Fixed CSS issues in student table. ([`ff0c1d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff0c1d9d767ea8e7f873a13cdc741dfcd44322e7))

* Added delete student functionality + tests. Fixes 358. ([`a66994a`](https://github.com/ocadotechnology/codeforlife-portal/commit/a66994adc8f6cdc908bcad794e73b18c90adfd8c))

* Buttons functionality for teacher dashboard + tests. Fixes 341. ([`515587e`](https://github.com/ocadotechnology/codeforlife-portal/commit/515587e616a884cdd952f636d4d0cd1d4a25baae))

* Merge pull request 373 from faucomte/redesign-class-edit-students

Redesign 24 - Edit class page: edit student details ([`98d26bf`](https://github.com/ocadotechnology/codeforlife-portal/commit/98d26bffdae54e31a4b91a0455880b4a623d5c7b))

* Updated python + made form more user friendly. ([`a4907ce`](https://github.com/ocadotechnology/codeforlife-portal/commit/a4907ced6af6c8587b3adf836780694464373ae7))

* Merge pull request 444 from CelineBoudier/salesforce-integ

salesforce integration ([`679c153`](https://github.com/ocadotechnology/codeforlife-portal/commit/679c15340953c21e66e7d137094ecbb4034d402e))

* salesforce integration ([`336b68a`](https://github.com/ocadotechnology/codeforlife-portal/commit/336b68a85305421c29b5dfe0b744e4a81ac1afa4))

* Edit student details form + tests. Fixes 355. ([`2b53702`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b53702135d8e52f59d45b69b02428791e807f39))

* Transfer class + edit class settings functionality + tests. Fixes 362. ([`2bbac05`](https://github.com/ocadotechnology/codeforlife-portal/commit/2bbac05b6637204200ea0d148f26731025f3e6e7))

* Independent students can register + tests. Fixes 350. ([`0910123`](https://github.com/ocadotechnology/codeforlife-portal/commit/091012358a1c9b1dd36e1c3a1719dcbdd9d793f0))

* Merge pull request 372 from faucomte/redesign-class-edit

Redesign 23 - Edit class page: edit class settings and transfer class ([`8953b6f`](https://github.com/ocadotechnology/codeforlife-portal/commit/8953b6f7b0aa1135ca703051efb0e2936d64d79a))

* Use model method instead of repeating it in views. ([`bca1c27`](https://github.com/ocadotechnology/codeforlife-portal/commit/bca1c27686c1248ce11fa233a9b42a6539970e7c))

* Updated bad CSS element call. Also added a couple of missed redirects. ([`16eaa64`](https://github.com/ocadotechnology/codeforlife-portal/commit/16eaa64e16ae1f451928ed49b860535ee99decb3))

* Transfer class + edit class settings functionality + tests. Fixes 362. ([`a7a8df4`](https://github.com/ocadotechnology/codeforlife-portal/commit/a7a8df48a20ae02ab05c762e6b2ae32465a94d56))

* Delete class functionality + test. Fixes 363. ([`7d20e96`](https://github.com/ocadotechnology/codeforlife-portal/commit/7d20e960602124add89f106d6b172b395dc88440))

* Independent students can register + tests. Fixes 350. ([`d3ee521`](https://github.com/ocadotechnology/codeforlife-portal/commit/d3ee521d27da7d1fc2bd463809598a3e50fa765c))

* Merge pull request 366 from faucomte/redesign-class-delete

Redesign 22 - Edit class page: delete class ([`2ca24d1`](https://github.com/ocadotechnology/codeforlife-portal/commit/2ca24d1aa8343c1c0eac762e29de7a483b56b57b))

* Disabled no-unused-vars rule to get CodeClimate off our backs. ([`aa03c7a`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa03c7a734e63acf56ec312f883bad2da1abf59a))

* Created function in JS file to remove JS in HTML file. ([`959bf26`](https://github.com/ocadotechnology/codeforlife-portal/commit/959bf265fd9f5d0d54093b31cd45929c99afc6b6))

* Delete class functionality + test. Fixes 363. ([`7587d58`](https://github.com/ocadotechnology/codeforlife-portal/commit/7587d588e8e79d5415cbeb4e749fc483527a38df))

* Merge pull request 364 from faucomte/redesign-class-add

Redesign 21 - Edit class page: add students ([`ea0e1fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea0e1fda9df0a9dd32fd24090ec832160b833cf5))

* Merge pull request 442 from CelineBoudier/setup-pillow-version

downgrade pillow version - fixes 440 ([`7ccbca5`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ccbca5bf99cdb5eb665978c7d0911fcccc49a33))

* downgrade pillow version - fixes 440 ([`ec99081`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec990818cb6dacb860114beac0ff9017503e9d67))

* JS improvements ([`310f9cb`](https://github.com/ocadotechnology/codeforlife-portal/commit/310f9cbc754038c8d2ac0c280bb9c4364f35cad9))

* Merge pull request 438 from faucomte/update-home

Redesign: Updated home page ([`16a5025`](https://github.com/ocadotechnology/codeforlife-portal/commit/16a50255363e28cbdcc9b008f2c2d85e1d1777cb))

* Merge pull request 431 from CelineBoudier/api-users

API for aggregated active users data - fixes 393 ([`6538c77`](https://github.com/ocadotechnology/codeforlife-portal/commit/6538c7771c22742032a2fb77654a5ae0a0a65435))

* Merge pull request 437 from faucomte/pdf-fix2

Levels guide 51-109 shows correct title ([`fb41f0d`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb41f0d973657e48128bf7fbb894eb98b84fbc69))

* Merge pull request 439 from faucomte/pdf-fix3

Typo fix in PDF ([`765a5a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/765a5a56a5fc68dbb53f43b75385e767b025aaa5))

* Typo fix in PDFs. Fixes 422. ([`593b95c`](https://github.com/ocadotechnology/codeforlife-portal/commit/593b95c22e8dcf559a17e0c1d10cdd47bcbeaf00))

* Updated home page. Fixes 425. ([`e01fc5c`](https://github.com/ocadotechnology/codeforlife-portal/commit/e01fc5c0aadfeac906c186293350f0407a71bd5d))

* Levels guide 51-109 shows correct title. Fixes 436. ([`ea99e35`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea99e35c2ba966c8ae63b6d957778097abe81ef1))

* Adds header to edit class page + sticky nav bar + functional buttons. Fixes 423. Fixes 435. Fixes 388. ([`4517fc4`](https://github.com/ocadotechnology/codeforlife-portal/commit/4517fc454e6d442a713b9f29d7f044b3f2fdd699))

* Add students form on class page + test. Fixes 361. ([`299ba49`](https://github.com/ocadotechnology/codeforlife-portal/commit/299ba49022c3c9b8a42dde18d33e947ac0075abd))

* Buttons functionality for teacher dashboard + tests. Fixes 341. ([`0acbd22`](https://github.com/ocadotechnology/codeforlife-portal/commit/0acbd22b32b5d98cb9694175ab1757ce1eda8e99))

* Merge pull request 353 from faucomte/redesign-independent-login

Redesign 20 - Independent student login form ([`0bed039`](https://github.com/ocadotechnology/codeforlife-portal/commit/0bed039cdf251bdc26fa12cbbd4571fea53fb22c))

* Simplifies render method for CodeClimate. ([`87d9d55`](https://github.com/ocadotechnology/codeforlife-portal/commit/87d9d554c1e94b1f8d8439f0acfd8c5c042d6664))

* Fix tests. ([`bb59564`](https://github.com/ocadotechnology/codeforlife-portal/commit/bb595646caa84060aeaf8a694374a9231d7a7acb))

* Merge pull request 433 from faucomte/pdf-fix

PDFs in KS1 Session 6 can be viewed ([`5e1af72`](https://github.com/ocadotechnology/codeforlife-portal/commit/5e1af72fbe38cce9f86d4d65bf05688ebcecc2d2))

* Indep students redirected to new login. Fixes 434. ([`196a551`](https://github.com/ocadotechnology/codeforlife-portal/commit/196a55108ec849543f0f59fa7211b405d2340424))

* Independent students can log in + tests. Fixes 347. ([`b602ba8`](https://github.com/ocadotechnology/codeforlife-portal/commit/b602ba8c9a472ba6eaf622584d15e88e630ee080))

* Independent students can register + tests. Fixes 350. ([`dc839b3`](https://github.com/ocadotechnology/codeforlife-portal/commit/dc839b3ac272ebb755dcc753157da049e6bbfee2))

* Updates URLs for Session 6 KS1 PDFs. Fixes 432. ([`9731386`](https://github.com/ocadotechnology/codeforlife-portal/commit/97313861174d35ebc85b3b8986feae89fadd05a9))

* Merge pull request 352 from faucomte/redesign-independent-register

Redesign 19 - Independent student register form ([`f5c0c92`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5c0c92d8f704825293cc0fad9503274a4da3c13))

* Adds password strength check. Fixes 380. ([`c62190b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c62190bac8e50d238e82d98750d680529ecc1b5c))

* Independent students can register + tests. Fixes 350. ([`4ec41b5`](https://github.com/ocadotechnology/codeforlife-portal/commit/4ec41b5947ce660f7ff397be8fffa67c92f84071))

* API for aggregated active users data - fixes 393 ([`ab26297`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab26297b4636287efec19d7e94080619e29f0e8d))

* Student login form is functional + test. Fixes 345. ([`b60e5b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/b60e5b1335610f1659905dc6491c4ac3298734be))

* Merge pull request 346 from faucomte/redesign-student-login

Redesign 18 - Student login form ([`cd26bac`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd26bac67c4aabda0b06ddf7a1aec4d8ac0dfdaa))

* Student login form is functional + test. Fixes 345. ([`956d5af`](https://github.com/ocadotechnology/codeforlife-portal/commit/956d5affae0b99dc21588bdbf5ff5cc89dacfadd))

* Merge pull request 344 from faucomte/redesign-dashboard-buttons

Redesign 17 - Teacher dashboard buttons ([`0c65805`](https://github.com/ocadotechnology/codeforlife-portal/commit/0c65805da6319577e9100fee42f5ec49e7756783))

* Added tests and removed unused functions for coverage. ([`561f1ae`](https://github.com/ocadotechnology/codeforlife-portal/commit/561f1ae28f4c4c5afa46f486ec2592c95f61a2c7))

* Buttons functionality for teacher dashboard + tests. Fixes 341. ([`c4336da`](https://github.com/ocadotechnology/codeforlife-portal/commit/c4336dac0a6372da7740e6ae027fa86ea0d5d903))

* Forms for teacher dashboard + tests. Fixes 331. ([`33de7f4`](https://github.com/ocadotechnology/codeforlife-portal/commit/33de7f4a5828280521335c77690aa9ee5168035e))

* Redesign 10: Adds logout button and shows correct menu bars. Fixes 282. Fixes 283. ([`c09bcdd`](https://github.com/ocadotechnology/codeforlife-portal/commit/c09bcdda1461e3a41141d968cea9f7621af54f8d))

* Merge pull request 343 from faucomte/redesign-materials

Redesign 16 - Resources PDFs/download links ([`d8bce85`](https://github.com/ocadotechnology/codeforlife-portal/commit/d8bce85e35faac9c32e4b06e92718a763eee43b7))

* Requested CSS changes. ([`e91eb20`](https://github.com/ocadotechnology/codeforlife-portal/commit/e91eb20d3de0d48022fc54b0ed6d89785037d51e))

* Links for PDFs/downloads work + PDF viewer and test. Fixes 342. ([`53d439f`](https://github.com/ocadotechnology/codeforlife-portal/commit/53d439ff531127b636251e057c1cc2a045e94ab3))

* Merge pull request 332 from faucomte/redesign-dashboard-func

Redesign 15 - Teacher dashboard forms ([`c43da46`](https://github.com/ocadotechnology/codeforlife-portal/commit/c43da46b469a46473bab101211edfdec9ec36f6c))

* Merge pull request 417 from faucomte/admin-models-dropdown

Makes Teacher and Student admin models accessible ([`48704dd`](https://github.com/ocadotechnology/codeforlife-portal/commit/48704ddebc30fce8d301ab1a80f7694d4f6f2f52))

* Replaced loop with list comprehension. ([`1bd14f5`](https://github.com/ocadotechnology/codeforlife-portal/commit/1bd14f54f8ba1747dc514c85ab0ec4d80eaccf94))

* User is redirected to appropriate form. ([`b6321d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6321d73c991c7ac3f8f7a32b7787599c7fbf480))

* Clearer account form and error messages. ([`5723a71`](https://github.com/ocadotechnology/codeforlife-portal/commit/5723a71b7fa6d6b4e11cfe6e74e2e327719e0334))

* Making code simpler and clearer. ([`5588f5d`](https://github.com/ocadotechnology/codeforlife-portal/commit/5588f5d3f9f821f6cb27f3ed8995f1edabdda896))

* Forms for teacher dashboard + tests. Fixes 331. ([`7f6330c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f6330c58d308ec29ebdf22ed031b98af55eeab6))

* Admin models fields set to raw IDs or readonly. Fixes 167. ([`e9577ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/e9577adf39f0996aef8c08264cca86144fb2a7fe))

* Merge pull request 386 from faucomte/post-methods

Teacher dashboard POST methods ([`da67994`](https://github.com/ocadotechnology/codeforlife-portal/commit/da6799454fc630038686770b5534002566a2f65f))

* Merge pull request 412 from faucomte/admin-models-name

Fixes unknown reference for models in admin ([`be1456a`](https://github.com/ocadotechnology/codeforlife-portal/commit/be1456a9d9454434dc81e831c3c6a82fc7d110e0))

* Fixes model field issue in django admin. Fixes 411. ([`bdeaf6f`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdeaf6fe4af8d2a846edf7ccc961a486c6e98a51))

* Form field names, to post to URL (WIP) ([`93d1671`](https://github.com/ocadotechnology/codeforlife-portal/commit/93d1671481ebe644f5b691a0f013f542f0382aac))

* Improved form markup ([`e6b77cd`](https://github.com/ocadotechnology/codeforlife-portal/commit/e6b77cdc1b99081364e524cec2fbaa89d7f380ec))

* Merge pull request 401 from faucomte/travis-chrome

Travis: Timeout while loop optimisation ([`f0116e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/f0116e9d9ff2469c894969049bfb578b7fc6980e))

* Optimised timeout while loop again. ([`784844d`](https://github.com/ocadotechnology/codeforlife-portal/commit/784844d46520410b103c5142411adad8319b0972))

* Marks post method as global for CodeClimate. ([`8a2d99e`](https://github.com/ocadotechnology/codeforlife-portal/commit/8a2d99e9500d1f381601fc17007f9daa47354c12))

* Merge pull request 403 from faucomte/footer-year-update

Year in footer updated to 2017 ([`63d7744`](https://github.com/ocadotechnology/codeforlife-portal/commit/63d7744966f55112e23ecb1b9363eb539930e8fa))

* Updates year in footer. Fixes 402. ([`4c6ec24`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c6ec24ef2cbca818d2e3a63f5f9485b4441f94e))

* GET methods replaced by POST methods in dashboard. ([`ec95c36`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec95c366d9c02ddf0c35823e5e0a5d431479db42))

* Merge pull request 399 from CelineBoudier/update-weekly-email

update weekly email: active users, less country details, nb of countries ([`13cd323`](https://github.com/ocadotechnology/codeforlife-portal/commit/13cd32316073877c0627f5c4054c4a4866b6cce2))

* Merge pull request 335 from faucomte/travis-chrome

Travis with Chromedriver ([`184579c`](https://github.com/ocadotechnology/codeforlife-portal/commit/184579c2a5fb1ef977acb241ac796c3f25f01bcc))

* update weekly email: active users, less country details, nb of countries ([`dd5e9c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd5e9c5f966d2909501e8e853c6fcb1209b2a51e))

* Optimised timeout while loop. ([`89d5da3`](https://github.com/ocadotechnology/codeforlife-portal/commit/89d5da3d2cc48b657e57426cf3926c94d55ecd3e))

* Merge pull request 330 from faucomte/redesign-dashboard-data

Redesign 14 - Teacher dashboard data ([`f7d28df`](https://github.com/ocadotechnology/codeforlife-portal/commit/f7d28df5704401e378c625ab5153289cc0e4c333))

* Removed echo and renamed monkey_patch ([`8032ecf`](https://github.com/ocadotechnology/codeforlife-portal/commit/8032ecf88c3c5bef8d781c810e91768e87b875b5))

* Merge pull request 385 from faucomte/fix-teacher-name

Teacher name issue fix ([`65cf579`](https://github.com/ocadotechnology/codeforlife-portal/commit/65cf5792afa666622df08c2798a024f98bac5a31))

* Users are redirected to onboarding if they try to access dashboard without a school. ([`93d989b`](https://github.com/ocadotechnology/codeforlife-portal/commit/93d989b4d1b0685bfd2a5bfb364960eacad7bd9c))

* Fixes teacher first name issue. ([`916218c`](https://github.com/ocadotechnology/codeforlife-portal/commit/916218cf1d0d5a00969b96ecdf27ac3bbcedcf47))

* Added timeout for hanging selenium tests server side (following what is already implemented on Rapid Router) ([`00f2f15`](https://github.com/ocadotechnology/codeforlife-portal/commit/00f2f156aa46d1bd433d22a1e5df58f05dd42ed9))

* Make Travis use Chrome instead of Firefox. Fixes 333. ([`54a5b28`](https://github.com/ocadotechnology/codeforlife-portal/commit/54a5b283eef472523bf608aafc3e00a3fec78a48))

* Populated tables and correct 2FA text. Fixes 329. ([`da05f83`](https://github.com/ocadotechnology/codeforlife-portal/commit/da05f834ef8bf98c07bc571ba9b8ac1e2e7fdccc))

* School and admin details on dashboard. Fixes 328. ([`95a257a`](https://github.com/ocadotechnology/codeforlife-portal/commit/95a257acf8db148e948a60e0918b4ed3712b8b02))

* Merge pull request 326 from faucomte/redesign-arrows

Redesign 13 - Onboarding arrows ([`e0135e1`](https://github.com/ocadotechnology/codeforlife-portal/commit/e0135e1f1b77cc2f3730e3468ed7fbd0841110eb))

* Requested changes in CSS. ([`2b77a31`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b77a314fcb4a3dae837955d725d1dc096ff5fb3))

* Arrows made responsive for mobiles. FIxes 322. ([`7c4d16b`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c4d16b877cdfb71abb501580d45a485e8a08f76))

* Arrows made responsive for tablets. FIxes 321. ([`45bff29`](https://github.com/ocadotechnology/codeforlife-portal/commit/45bff299018f0efb8ac482450f8d52e415fb1ab2))

* Arrows change style as user completes onboarding. Fixes 320. ([`221a55f`](https://github.com/ocadotechnology/codeforlife-portal/commit/221a55fe2b4d802c518d53d4b6f982883c911683))

* Replace arrow images with HTML & Sass classes. Fixes 319. ([`234bca0`](https://github.com/ocadotechnology/codeforlife-portal/commit/234bca0947763a62c7ce1026f5b968adc07ebd35))

* Sass for arrow styles. Fixes 318. ([`0ac5ed1`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ac5ed10d03d971ac3a98881f01ca94ff2fea332))

* Merge pull request 306 from faucomte/redesign-part12

Redesign 11 - Password strength check on registration form ([`4b0e41f`](https://github.com/ocadotechnology/codeforlife-portal/commit/4b0e41f92f7c0c081cfff0def3d50dcdccf6e9a4))

* Requested changes in JS and CSS. ([`f0410a4`](https://github.com/ocadotechnology/codeforlife-portal/commit/f0410a49e8f4f28ff4801b30c8f3bed28fbf90d1))

* Renamed student method & array to independentStudent. ([`b0e8f15`](https://github.com/ocadotechnology/codeforlife-portal/commit/b0e8f15705610d5a4a8d03c396669cd3a71a38a1))

* Renamed student variable to independent_student. ([`441a335`](https://github.com/ocadotechnology/codeforlife-portal/commit/441a3350b69625b47cf315c414abbcebf76ceab3))

* Adds password strength check upon registration. Fixes 289. ([`aecf611`](https://github.com/ocadotechnology/codeforlife-portal/commit/aecf611d4a79e25cec0bc85cbac6d60a23b29bd4))

* Merge pull request 374 from faucomte/level-27-fix

Level 27 solution fix ([`703a30a`](https://github.com/ocadotechnology/codeforlife-portal/commit/703a30afe1e165bd8224e37d77abc1304e3bdc2b))

* Updates solution for level 27 in resources. ([`0e79333`](https://github.com/ocadotechnology/codeforlife-portal/commit/0e793336fbb7b8468643351f84b42b50c9bbf338))

* Merge pull request 371 from ocadotechnology/CelineBoudier-patch-1

Update README.md ([`ffd1c5f`](https://github.com/ocadotechnology/codeforlife-portal/commit/ffd1c5ffacd994ffcdb5c3b3e5b719332e38e455))

* Update README.md ([`235435a`](https://github.com/ocadotechnology/codeforlife-portal/commit/235435a7573b4ba9b6727e0fb89e75b5ff123c1c))

* Merge pull request 303 from faucomte/redesign-part11

Redesign 10 - Logout button and menu bars ([`a703c25`](https://github.com/ocadotechnology/codeforlife-portal/commit/a703c25a946aea5c91f9777cf05eba5ca5294cf9))

* Simplified models. ([`3c5b948`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c5b94870882aed69494628f971123de478532e3))

* Fixed issue in models.py ([`52c7fcf`](https://github.com/ocadotechnology/codeforlife-portal/commit/52c7fcfefb4e9033870f3738db36473e6fe6d2dc))

* Redesign 10: Adds logout button and shows correct menu bars. Fixes 282. Fixes 283. ([`9b29665`](https://github.com/ocadotechnology/codeforlife-portal/commit/9b296653bd5f750f88d507c59f81220dd8249ac5))

* Merge pull request 351 from CelineBoudier/rm-image-emails

Removing images in contact emails ([`2c8f5ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/2c8f5ca6ccbdce455f6331e1ad1e5c73fef1d94c))

* Removing images in contact emails ([`3c3fddf`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c3fddf095bd646362a06838ba62a9b0f3064b51))

* Merge pull request 296 from faucomte/redesign-part10

Redesign 9 - Onboarding functionality ([`716866d`](https://github.com/ocadotechnology/codeforlife-portal/commit/716866d63ce63ce82fe269e9fb9069e640b7720d))

* Simplifies model functions. ([`9f0c605`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f0c605e3154f0ade6c6b9fd21a527ec07644f82))

* Applied requested changes. Fixes 336. ([`bd97f26`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd97f2645c139eafef55c7f29347033cacde89f3))

* Removed unused functions to increase coverage. ([`fb742d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb742d740cb6279f366c5869c1e594cfa0ef8946))

* Fixed minor issues and added tests. ([`628846c`](https://github.com/ocadotechnology/codeforlife-portal/commit/628846c4be64d8e9d5e4cab2b9aa9e524b876d9c))

* Simplified some of the too complex functions. Fixes 309. ([`edd6ffd`](https://github.com/ocadotechnology/codeforlife-portal/commit/edd6ffd7f4cea022623d64f16ed8ff7955718242))

* Added tests for onboarding functionality. Fixes 310.
Also removed some unused functions to reduce number of CC issues. ([`37f9644`](https://github.com/ocadotechnology/codeforlife-portal/commit/37f96449e8822f7769f2a10998293345ee037f68))

* Tracking for user onboarding progress. Fixes 284.
Also renamed URLs sensibly, and updated redirects upon login. ([`115f0dc`](https://github.com/ocadotechnology/codeforlife-portal/commit/115f0dc53b1d9bb53d1f6c249fe4bbdc067bd63a))

* Disabled duplicate school/class creation ([`dcb5590`](https://github.com/ocadotechnology/codeforlife-portal/commit/dcb55903d2d2a1222a3a53ea1954513a16b9be9d))

* Onboarding functionality: can send/revoke request to join a school. Fixes 286. ([`4e1b29c`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e1b29c7f39c559d0a4b217e5aaaf63f10087b9e))

* Onboarding functionality: add students done. Fixes 288. ([`3e07754`](https://github.com/ocadotechnology/codeforlife-portal/commit/3e07754889948f7f035a84b9eea8007963d23d27))

* Onboarding functionality: create a class done. Fixes 287. ([`2d2db96`](https://github.com/ocadotechnology/codeforlife-portal/commit/2d2db964c8527a1e1a13787e417ffa20377e137a))

* Onboarding functionality: create a school done. Fixes 285. ([`e1564b8`](https://github.com/ocadotechnology/codeforlife-portal/commit/e1564b83f34ef603a909557229fe4c7b7f531bf9))

* Redesign 8 - Made menu bar responsive. Fixes 276. ([`6d5e699`](https://github.com/ocadotechnology/codeforlife-portal/commit/6d5e69929e038be39fb1e9776745d0f1adce04eb))

* Redesign 6 - Teacher registration form now works. Fixes 271. ([`976b3db`](https://github.com/ocadotechnology/codeforlife-portal/commit/976b3dbee17ad089c248ab94709aae34be7be70d))

* Merge pull request 316 from faucomte/redesign-responsiveness

Redesign 12 - Updated media queries and layouts ([`d85d327`](https://github.com/ocadotechnology/codeforlife-portal/commit/d85d32743a2a8d5c89525eba7a46d78ced3b794e))

* Updated media queries to fit device sizes. Fixes 308. ([`7be5b94`](https://github.com/ocadotechnology/codeforlife-portal/commit/7be5b944aab4ab3b6dcd5382a8f8b3dbac0c322a))

* Updated mobile nav bar layout. Fixes 314. ([`2fc7f48`](https://github.com/ocadotechnology/codeforlife-portal/commit/2fc7f48bb564652620c0a728dcd202d6fc056622))

* Merge pull request 313 from faucomte/css-fixes

First CSS fixes ([`20998b3`](https://github.com/ocadotechnology/codeforlife-portal/commit/20998b3b0a230e81e514b77fa78338778a4221d4))

* First CSS fixes. Fixes 312. ([`bd5ef82`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd5ef82bf0c8c2dc4b849069e6cb1ec36b545300))

* Merge pull request 317 from faucomte/redesign-stock-images

Replaced stock photos ([`268da6d`](https://github.com/ocadotechnology/codeforlife-portal/commit/268da6db85df6702167325cc9af48fba1e7e834d))

* Merge pull request 324 from CelineBoudier/delete-the-deletes

Delete the refs to not yet implemented features- Fixes 323 ([`fde8aa7`](https://github.com/ocadotechnology/codeforlife-portal/commit/fde8aa794c9a865ba41063d3d28eaad20f45f511))

* Delete the refs to not yet implemented features- Fixes 323 ([`ecb04fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/ecb04fdf54c0db627f5d4a351758ee61b72d4362))

* Updated stock photos. Fixes 311. ([`72ddb80`](https://github.com/ocadotechnology/codeforlife-portal/commit/72ddb80588a42a79c618bf2bf4543c60dfe016e1))

* Merge pull request 279 from faucomte/redesign-part8

Redesign 8 - Made menu bar responsive ([`f42fe38`](https://github.com/ocadotechnology/codeforlife-portal/commit/f42fe38ba804b23494b8fe38d89ba538e4951039))

* Redesign 8 - Made menu bar responsive. Fixes 276. ([`8567a0d`](https://github.com/ocadotechnology/codeforlife-portal/commit/8567a0d2a4f653a3d64d2025a891d22f9afa0d4c))

* Redesign 7 - Made base html font size responsive. Fixes 275. ([`698f7a4`](https://github.com/ocadotechnology/codeforlife-portal/commit/698f7a4d6cd0a9f9fd693b93f9da4695bc8bc6b3))

* Merge pull request 278 from faucomte/redesign-part7

Redesign 7 - Made base HTML font size responsive ([`19a10b9`](https://github.com/ocadotechnology/codeforlife-portal/commit/19a10b998c194008cf3ddf0e8987f9d66740b2e3))

* Merged same media queries together. ([`5e4997d`](https://github.com/ocadotechnology/codeforlife-portal/commit/5e4997dbb74ab4ac133d5aee08c5a1a6c6721a6f))

* Redesign 7 - Made base html font size responsive. Fixes 275. ([`652f1d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/652f1d9df57555cfad3d7f926d621ec8988361ed))

* Merge pull request 305 from faucomte/images-fix

Fix wrong image URLs ([`02b3a79`](https://github.com/ocadotechnology/codeforlife-portal/commit/02b3a7925c443dbe517af37f123b8bb13d9af08c))

* Fixed wrong image URLs. Fixes 304. ([`e8bc209`](https://github.com/ocadotechnology/codeforlife-portal/commit/e8bc2093de0ded5d071be2dbdee152e95985309a))

* Merge pull request 301 from faucomte/redesign-part6b

Redesign 6b - Convert login and register popups to actual pages ([`cc9f268`](https://github.com/ocadotechnology/codeforlife-portal/commit/cc9f26825edea0ecc4331a84453f0f6f37306ef6))

* Added alt and title attributes to images. ([`dc80f00`](https://github.com/ocadotechnology/codeforlife-portal/commit/dc80f006dcc391a76c660a72a6ea4f8c358d4f2b))

* Made form error messages readable. ([`9ea2405`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ea240586d4ad48acf4ffeca821e631b6e60b421))

* Converts popups to standalone pages. Fixes 300. ([`fc01db1`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc01db17c2682a795a0d035137c9168609309a87))

* Merge pull request 277 from faucomte/redesign-part6

Redesign 6 - Teacher registration form now works ([`19ae27f`](https://github.com/ocadotechnology/codeforlife-portal/commit/19ae27ff75995a4b697229fa45b99b455abd6fa0))

* Copied files to stay consistent with redesign convention. ([`c435de2`](https://github.com/ocadotechnology/codeforlife-portal/commit/c435de225d35175c022ee15dff380fe940b87639))

* Added tests for registration form. Fixes 299. ([`e646392`](https://github.com/ocadotechnology/codeforlife-portal/commit/e64639233f61547a2028c018298621ed1ba6f055))

* Fix for high cyclomatic complexity issue. Fixes 298. ([`0c6c685`](https://github.com/ocadotechnology/codeforlife-portal/commit/0c6c685fc5116146f69515551d9aedaa13bae090))

* Redesign 6 - Teacher registration form now works. Fixes 271. ([`3a145ac`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a145ac54e3e8745c419acb981e61d2c67e5403f))

* Redesign 4 - New HTML pages ([`38aa326`](https://github.com/ocadotechnology/codeforlife-portal/commit/38aa32600872cb24a9b747099792c6134d16f9cd))

* Merge pull request 274 from faucomte/redesign-part5

Redesign 5 - Teacher login form now works ([`01fc5f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/01fc5f240b897e525eff7ddcd78b9225966fdb79))

* Added login tests and renamed function. Fixes 295. ([`885d3d1`](https://github.com/ocadotechnology/codeforlife-portal/commit/885d3d14f407c3c9dcb993255a7d432d1bb90da2))

* Broke down function to simplify main function. Fixes 294. ([`fa84062`](https://github.com/ocadotechnology/codeforlife-portal/commit/fa84062d826e5dfc19ddd599c33bb8c319a2e42f))

* Added tests for login form. ([`7e3cda8`](https://github.com/ocadotechnology/codeforlife-portal/commit/7e3cda8b93c7555b91c4174f088382dd17921c25))

* Broke down function to simplify main function. Still not enough though. ([`4bbcd08`](https://github.com/ocadotechnology/codeforlife-portal/commit/4bbcd0827fdaf60508b3b730ff1056b95014128b))

* Redesign 5 - Teacher login form now works. Fixes 254. ([`0ca0591`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ca0591d60f939bbded46407bfcb939613b6ee08))

* Redesign 4 - New HTML pages ([`62d5a2d`](https://github.com/ocadotechnology/codeforlife-portal/commit/62d5a2df2c6a7a1bcf50ca0e5e1b1985ee512ac7))

* Merge pull request 293 from faucomte/images-fix

Fixed problem with background images ([`04c20f1`](https://github.com/ocadotechnology/codeforlife-portal/commit/04c20f124b8a0c37f329d58568f400a2234a3f1d))

* Fixed problem with background images. ([`0781625`](https://github.com/ocadotechnology/codeforlife-portal/commit/0781625781df4c4003eaed722b27b3138a7b93f3))

* Merge pull request 270 from faucomte/redesign-part4

Redesign 4 - New HTML pages ([`a009219`](https://github.com/ocadotechnology/codeforlife-portal/commit/a009219886cd171c4eeaf97c165502ef7fe87815))

* Performed requested changes. Fixes 290. ([`985fb73`](https://github.com/ocadotechnology/codeforlife-portal/commit/985fb73d64a8c9031357a1cd301d2c16e35e5bef))

* Redesign 4 - New HTML pages. Fixes 256. Fixes 264. ([`82b3622`](https://github.com/ocadotechnology/codeforlife-portal/commit/82b36223e445c601926743f9d687950a7120c285))

* Merge pull request 269 from faucomte/redesign-part3

Redesign 3 - Base files and new URLs ([`5989014`](https://github.com/ocadotechnology/codeforlife-portal/commit/5989014d3733566a6ee04b3dbbf9cb46cd883e2e))

* Uncached jquery.placeholder.js and removed newsletter signup bar. ([`7f6ecf5`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f6ecf56c89eebe9c964b439d2a1ad0e40a6ee32))

* Cleaned up base files. ([`7a2810e`](https://github.com/ocadotechnology/codeforlife-portal/commit/7a2810ec86b1e3d8e952f66002fe1941dd523788))

* Redesign 3 - Base files and new URLs ([`6ff9190`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ff9190c787894d94a70404af1a98316fdab4d09))

* Merge pull request 268 from faucomte/redesign-part2

Redesign 2 - Added new picture files in new img folder ([`b193adc`](https://github.com/ocadotechnology/codeforlife-portal/commit/b193adce7e60d4dbd0965eb459e11d8f577411bb))

* Renamed images with underscores instead of hyphens. Also deleted 2 unused images. ([`89bb245`](https://github.com/ocadotechnology/codeforlife-portal/commit/89bb245ad3b09084321d0ffde9a293776741d699))

* Merge pull request 266 from faucomte/redesign

Redesign 1 - Added Sass files for styles & Bootstrap ([`49644b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/49644b181b32c756c70acb6a998de794b5fc8029))

* Merge pull request 223 from PhydeauxLeChien/refactor-teacher-student

Decoupling of `Teacher`, `Student`, etc. - Stage 1 ([`ac06460`](https://github.com/ocadotechnology/codeforlife-portal/commit/ac0646047837a2063cbd87526e88c9c8d1f7a417))

* Merge pull request 273 from CelineBoudier/redo-logo-updates

Revert &34;Revert &34;changed files names, added hexa logo&34;&34; ([`3674506`](https://github.com/ocadotechnology/codeforlife-portal/commit/367450626d27d4d58128567e9614da97337083b3))

* Revert &34;Revert &34;changed files names, added hexa logo&34;&34;

This reverts commit 80dc048d3eca8c815871ae589be3ea0687e23548. ([`1ee7eaf`](https://github.com/ocadotechnology/codeforlife-portal/commit/1ee7eafc1c86d23ecaa506ef7be7133c21b6bcb4))

* Merge pull request 272 from CelineBoudier/revert-to-test-pipeline

Revert &34;changed files names, added hexa logo&34; ([`bf6eba7`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf6eba749919a08c2767a899de8b1db6935ae42d))

* Revert &34;changed files names, added hexa logo&34;

This reverts commit 7df8f35993fa80186b9250d885524c72d41ea580. ([`80dc048`](https://github.com/ocadotechnology/codeforlife-portal/commit/80dc048d3eca8c815871ae589be3ea0687e23548))

* fixed lint warning about use of map() ([`4c33fd7`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c33fd71ec6edc096ddf111850dd8d54ee97a71e))

* Changed class selector so padding property is properly overidden. ([`6a64007`](https://github.com/ocadotechnology/codeforlife-portal/commit/6a640077ac82367aa0631aff0b0145d121347eda))

* Update teach.py ([`313ab80`](https://github.com/ocadotechnology/codeforlife-portal/commit/313ab8030371db6c871c5de59838b84458a4499e))

* Update teach.py ([`009e4e8`](https://github.com/ocadotechnology/codeforlife-portal/commit/009e4e848c338ac7dfc96aeb9cc3f52d64941c0d))

* Fixed new pep8 warnings ([`f7fe315`](https://github.com/ocadotechnology/codeforlife-portal/commit/f7fe31506a1287f2ff30303790988ca735859f0f))

* re-enabled pep8 warning W503 ([`24458a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/24458a1307023c97ee4f75e24b1a87bbfe6768a7))

* Reverted changes on Bootstrap file and added them in styles.scss. ([`765fa78`](https://github.com/ocadotechnology/codeforlife-portal/commit/765fa78a03a17d10fdd986d7a51ea164caf7fbc3))

* moved line continuation to avoid pep8 W503 ([`8624f5b`](https://github.com/ocadotechnology/codeforlife-portal/commit/8624f5ba038230735ea0940a35681bb6921c2b33))

* Merge pull request 250 from CelineBoudier/update-logo-2

changed files names, added hexa logo ([`e3bc2fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/e3bc2fdac6e258e0cecc7dee501b6d06290fa4b4))

* Redesign 1 - Added Sass file for Colorbox plugin. ([`6de5131`](https://github.com/ocadotechnology/codeforlife-portal/commit/6de5131c582b3ea8d0b4137db53ec8bc9b1dd398))

* Redesign 2 - Added new picture files in new img folder ([`edcfac4`](https://github.com/ocadotechnology/codeforlife-portal/commit/edcfac410e37f5f05143563c7094e18dffd18825))

* Disabled scss lint for Codeclimate. ([`3cdea5a`](https://github.com/ocadotechnology/codeforlife-portal/commit/3cdea5a3b26c5e1612cf296fe62c83743e3c3317))

* Redesign 1 - Added Sass files for styles & Bootstrap ([`8e3b74e`](https://github.com/ocadotechnology/codeforlife-portal/commit/8e3b74e361703debae58a7f5ad089144f8a2bf60))

* changed files names, added hexa logo ([`7df8f35`](https://github.com/ocadotechnology/codeforlife-portal/commit/7df8f35993fa80186b9250d885524c72d41ea580))

* Merge pull request 246 from faucomte/add_bootstrap

Added bootstrap files. ([`4f8621d`](https://github.com/ocadotechnology/codeforlife-portal/commit/4f8621daaaac55462a567d8b5556c68ca5e79576))

* Added source map file and glyphicon font files. ([`963c99b`](https://github.com/ocadotechnology/codeforlife-portal/commit/963c99bc422f0ee020f572221ae761e7139ca0fc))

* Tell CodeClimate to ignore bootstrap files. ([`b138421`](https://github.com/ocadotechnology/codeforlife-portal/commit/b1384212a04ef9b0631d4017aa662a84e78abc7d))

* Added bootstrap files. Fixes 240. ([`9e2c73b`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e2c73b35132152136c1a6f90023f0b6790d197b))

* Merge pull request 242 from faucomte/sass_compiler

Implemented Django Pipeline&39;s Sass compiler. Fixes 238. ([`c1c1f0e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c1c1f0e00ad271d8df85c78b212b6769b5bd0950))

* Implemented Django Pipeline&39;s Sass compiler. Fixes 238. ([`771de76`](https://github.com/ocadotechnology/codeforlife-portal/commit/771de76589e8e73e75288c43066e3f27847639f8))

* Merge pull request 229 from CelineBoudier/update-logo

Changing to new logo - adding it to contact email ([`278b2c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/278b2c5d30115547ada49bdc727fa305f46bcc9e))

* Changing to new logo - adding it to contact email ([`02fb055`](https://github.com/ocadotechnology/codeforlife-portal/commit/02fb05582c3d1a6f05524c6c9c588c4b68044e1f))

* Merge pull request 220 from joshuablake/remove_warnings

Remove naive DateTime warnings ([`dd90dac`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd90dacafbc20651131d151d58dd3737409de541))

* Merge pull request 221 from faucomte/update_solution_73

Updated PDF to contain correct solution for level 73, and updated sol… ([`6b6b671`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b6b6712f1aa700fe7c7725652192a1651a20851))

* Ignore outdated warning about breaking before binary operators. ([`76e9208`](https://github.com/ocadotechnology/codeforlife-portal/commit/76e92088c0ac3b96544f76c2641cf001e863b54b))

* Refactoring of `Teacher`, `Student`, `Guardian` to remove `UserProfile`. ([`4e7f82b`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e7f82b7a443c959a91976a4f9058d9b76680a53))

* Merge pull request 222 from PhydeauxLeChien/fix-url-redirect

Fix crash caused by url redirect. ([`630d71b`](https://github.com/ocadotechnology/codeforlife-portal/commit/630d71bae8238ba533932b5a6201e9b0c0c30117))

* Fix crash caused by url redirect. ([`ff87236`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff8723676f3d65f856dcd1b2321e13b2fe2a38ff))

* Merge pull request 215 from CelineBoudier/add-data-email

More data in the weekly email ([`347ee38`](https://github.com/ocadotechnology/codeforlife-portal/commit/347ee3894281cdfc316b2cd0dc566ae9b948fbe7))

* Updated PDF to contain correct solution for level 73, and updated solution image. Fixes 171. ([`80105f5`](https://github.com/ocadotechnology/codeforlife-portal/commit/80105f59544398b36af55acf69d6a1dbd6d71821))

* More data in the weekly email ([`1ac7403`](https://github.com/ocadotechnology/codeforlife-portal/commit/1ac740365e08b532057b304e244acea640d45779))

* Merge pull request 219 from felixcs1/scroll_glitch

fix animated scroll glitch ([`1afa504`](https://github.com/ocadotechnology/codeforlife-portal/commit/1afa504eeabff8d4b1fa5e052c3b70b220e07dac))

* Remove naive DateTime warnings ([`473b0ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/473b0ca814c58801a031ac6f27d3c5550fc59f32))

* fix animated scroll glitch ([`94d0a19`](https://github.com/ocadotechnology/codeforlife-portal/commit/94d0a19041496a64c7f6413d09dbe36ce13b2f77))

* Merge pull request 218 from felixcs1/browser

Redirect old urls to new materials browser and remove old views ([`1278f0e`](https://github.com/ocadotechnology/codeforlife-portal/commit/1278f0eee08f69c68003f5b878f9512732fc6860))

* Redirect old urls to new materials browser and remove old lesson plans views ([`c06992b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c06992b7b09110c14888165d272bb01dd1ac2e0e))

* Merge pull request 207 from VK432/Adding_Level_Solutions

Adding level solutions ([`accea9d`](https://github.com/ocadotechnology/codeforlife-portal/commit/accea9d8058cba99dba2a97780e46273c2bd17ab))

* Merge branch &39;Adding_Level_Solutions&39; of https://github.com/VK432/codeforlife-portal into Adding_Level_Solutions ([`3c141cb`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c141cb7e9bdb365ade516fbc57ebd780ccc7d1f))

* codeclimate change

allow id selectors in css

allow id selectors in css

undo edit to codeclimate config ([`cab2f77`](https://github.com/ocadotechnology/codeforlife-portal/commit/cab2f77838804a0ee4f1062b14400a903f0bac50))

* reducing cyclomatic complexity in solution_level_selector.py

reducing cyclomatic complexity in solution_level_selector.py ([`f12dbea`](https://github.com/ocadotechnology/codeforlife-portal/commit/f12dbea79b956de8f03e49d89491edc7cd25225d))

* code review changes

codeclimate changes

codeclimate changes

codeclimate changes

codeclimate changes

codeclimate changes ([`1a14047`](https://github.com/ocadotechnology/codeforlife-portal/commit/1a140476491c5db76be092993d1bf3f8d0141678))

* Typo fixed ([`07ec31b`](https://github.com/ocadotechnology/codeforlife-portal/commit/07ec31b89f75eb397ec806be30697220a46fe77b))

* links added, everything done ([`4772543`](https://github.com/ocadotechnology/codeforlife-portal/commit/47725435d1a1cb07bfd694e83acad45413073050))

* links added, everything done ([`aa2e541`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa2e5410cccef3f2001bc8437ff578ce54490c82))

* links to levels added to solution pages ([`99be760`](https://github.com/ocadotechnology/codeforlife-portal/commit/99be760673125432c1267b061ba52aef53c91a98))

* changed selection page styling ([`afaacbb`](https://github.com/ocadotechnology/codeforlife-portal/commit/afaacbb26ceae598f9c7455ce03381ae49920f40))

* changed selection page styling ([`81dab33`](https://github.com/ocadotechnology/codeforlife-portal/commit/81dab33a4316bd8ec8a02cc9895e000929fb3c22))

* All solutions complete! ([`8afc28e`](https://github.com/ocadotechnology/codeforlife-portal/commit/8afc28e2f7e151717107d700ad2b1506bf948e8e))

* solutions for levels 101-109 added ([`4995d17`](https://github.com/ocadotechnology/codeforlife-portal/commit/4995d172d45362b086145648495b9f13d79cf0d4))

* solutions for levels 92-100 added ([`5b9a62b`](https://github.com/ocadotechnology/codeforlife-portal/commit/5b9a62b136f770d854d767048e33f1dbc327a8bb))

* old templates removed, all solutions run off 2 templates ([`2619d1e`](https://github.com/ocadotechnology/codeforlife-portal/commit/2619d1e8802a07517573959abe596a50e0370c46))

* changed so all solutions use one template ([`77201c2`](https://github.com/ocadotechnology/codeforlife-portal/commit/77201c23b5872ba07e5745b1098fa54525fe2eff))

* changed so all solutions use one template ([`db2b7da`](https://github.com/ocadotechnology/codeforlife-portal/commit/db2b7da9f427a54db45129da466ed5b16465cfad))

* solutions for levels 90,91 added ([`72aa9d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/72aa9d2c4f03b3f1ae506764f5f7a9031dcafb0b))

* solutions for levels 80-89 added ([`3f0a3d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/3f0a3d95e1b5c06cc22d28db46c72f5336c81176))

* Solutions for levels 61-79 added ([`8347826`](https://github.com/ocadotechnology/codeforlife-portal/commit/83478265c75821303cafb30559785f3aafce48d2))

* Solution resizing ([`4dbeccd`](https://github.com/ocadotechnology/codeforlife-portal/commit/4dbeccde14fc82f994346904cb8a7a578358bcfc))

* levels 51-60 solutions produced ([`4d72755`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d72755edf7d1b4b761962825cc11147823fd783))

* levels 29-33 solutions produced ([`53546b5`](https://github.com/ocadotechnology/codeforlife-portal/commit/53546b552ebdf1c5b2c3eb0b97b6b071bf975413))

* levels 19-28 solutions produced ([`19b9f3d`](https://github.com/ocadotechnology/codeforlife-portal/commit/19b9f3dba670211f1063c373546825b46f9a16e5))

* levels 1-18 solutions produced ([`de67750`](https://github.com/ocadotechnology/codeforlife-portal/commit/de6775099805a3cbee02d15d6410ea69b0e68b34))

* Added Images ([`6258bac`](https://github.com/ocadotechnology/codeforlife-portal/commit/6258bac5a02f6cd26a2120d416e0ba5400218939))

* Solution selector added, solution 51 working ([`8a05ed3`](https://github.com/ocadotechnology/codeforlife-portal/commit/8a05ed309e118762b2ef80b449516701e1a9f06b))

* Solution selector added, solution 51 working ([`532ab23`](https://github.com/ocadotechnology/codeforlife-portal/commit/532ab237722af7405fe67719bec808cf651711a0))

* Merge pull request 217 from felixcs1/browser

Fixed mixed content ([`db8e1a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/db8e1a17d046c522ee491aae7cbd65f893fdd7a7))

* Solution selector added, solution 51 working ([`9b32611`](https://github.com/ocadotechnology/codeforlife-portal/commit/9b3261106b0934dc426ae441e57badb5be0d93fb))

* Fixed mixed content ([`690167e`](https://github.com/ocadotechnology/codeforlife-portal/commit/690167ef3536fae566b7c433e563520124d0521b))

* Merge pull request 205 from PhydeauxLeChien/refactor-email-verification-3

Refactor EV to decouple from UP - Stage 3 ([`c6faed4`](https://github.com/ocadotechnology/codeforlife-portal/commit/c6faed426931d178782acebf3586754f106d3d36))

* Merge pull request 208 from felixcs1/browser

Teaching materials browser home page start and viewer page ([`aca2ad1`](https://github.com/ocadotechnology/codeforlife-portal/commit/aca2ad194143cea86cb611952d8895aa7548db42))

* Link up new teaching materials browser and remove the old one. ([`8d513c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/8d513c7eb76035e3ae3ccc6780e4b673624e4705))

* GA event is sent when any download button/link is clicked. ([`c749cf8`](https://github.com/ocadotechnology/codeforlife-portal/commit/c749cf86a04c1b57e32071fa2c2d348383dfe8d8))

* Refactor EV to decouple from UP - Stage 3

- Finish renaming new &39;user&39; relation. ([`c9ef45a`](https://github.com/ocadotechnology/codeforlife-portal/commit/c9ef45ae7cc870c8d1bb1e20cdd02d925f362d3b))

* Fixing sccs lint ([`1f6ac2f`](https://github.com/ocadotechnology/codeforlife-portal/commit/1f6ac2f5dffd7b2224e4894a686e3f913fd54b8d))

* All pdfs and vidoes linked up and accessible ([`b3890df`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3890dfe6667d54128e6125b061d9cb4ddd1bda4))

* All KS1 links working and all KS1 pdfs accessible ([`1997863`](https://github.com/ocadotechnology/codeforlife-portal/commit/199786355fee5804c0c1f4b78f3daade1f3fc2de))

* videos and video download button can be displayed when necessary ([`3d3e7a2`](https://github.com/ocadotechnology/codeforlife-portal/commit/3d3e7a2abd4606a41ce0e21368c0b9f5fc869022))

* nav bar styled, colapsible and functioning ([`df21a1f`](https://github.com/ocadotechnology/codeforlife-portal/commit/df21a1f782c742c2bd978fb1ca04d8d4c9c6a68b))

* Home page layout ([`4441fdc`](https://github.com/ocadotechnology/codeforlife-portal/commit/4441fdccffb2123185d98c8edf0fe6c56ea31b68))

* Nav bar scrolling and animated ([`615afa2`](https://github.com/ocadotechnology/codeforlife-portal/commit/615afa29883577b055b4641d246de77084c68fa0))

* More homepage layout ([`9e63ced`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e63ced8c2b74a24704546f7bf9ecba1a9f67781))

* Teaching materials browser home page start and viewer page ([`e07faaa`](https://github.com/ocadotechnology/codeforlife-portal/commit/e07faaab305580588cd14975ba45dd24c9b019c6))

* Merge pull request 216 from joshuablake/tests

Add test and fix old one ([`3e6f471`](https://github.com/ocadotechnology/codeforlife-portal/commit/3e6f4713544a6223c8849832c9b80554b24a84b1))

* Fix travis build. ([`ec8e2fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec8e2fc3cb414e896ea4a6e8153448749953bad8))

* Test loading reminder cards

Regression test for 213 ([`0b1804a`](https://github.com/ocadotechnology/codeforlife-portal/commit/0b1804a949818c71f12918d6bffd73c971375e5b))

* Fix tests and add checking for silent braking ([`04b245c`](https://github.com/ocadotechnology/codeforlife-portal/commit/04b245c10adf87ea95b547d3299767f97a9767fe))

* Merge pull request 214 from PhydeauxLeChien/fix-reminder-cards

Fixed `print_reminder_cards` function. Fixes 213 ([`535d49c`](https://github.com/ocadotechnology/codeforlife-portal/commit/535d49c3325595b4636d8ff9a4264e1e0db82829))

* Fixed `print_reminder_cards` function. Fixes 213 ([`8686228`](https://github.com/ocadotechnology/codeforlife-portal/commit/8686228ce522947e8b70970b965a83c1f7ef3406))

* Merge pull request 212 from PhydeauxLeChien/add-missing-evs

Improve migration efficiency. ([`e519149`](https://github.com/ocadotechnology/codeforlife-portal/commit/e519149733eaa9f9938e72f4023a4d4f1a6a5f9d))

* Improve migration efficiency. ([`dbcfbf7`](https://github.com/ocadotechnology/codeforlife-portal/commit/dbcfbf779ff2d3943cff1deb9130e6ce849a7baf))

* Merge pull request 211 from PhydeauxLeChien/add-missing-evs

Add debug message to migration. ([`118281b`](https://github.com/ocadotechnology/codeforlife-portal/commit/118281be87670e8ef2f97d4d03242936f50fbc35))

* Add debug message to migration. ([`e4ed2f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/e4ed2f2afb62aef6268790120da3bf0947340d59))

* Merge pull request 210 from PhydeauxLeChien/add-missing-evs

Added migration to ensure that all verified users have a verified EV record. ([`1b85674`](https://github.com/ocadotechnology/codeforlife-portal/commit/1b85674338888ea8a9aacf859615339369412f7a))

* Merge pull request 209 from CelineBoudier/readme-code-for-life

Adding a header blurb for the README - will adapt to other repos ([`dbb10e7`](https://github.com/ocadotechnology/codeforlife-portal/commit/dbb10e7973eade23ee27d444671da0446836d972))

* Added migration to ensure that all users with have a verified EV record. ([`bc2da76`](https://github.com/ocadotechnology/codeforlife-portal/commit/bc2da76bb12a7c22f6c65a95222161336f6b8c7d))

* Adding a header blurb for the README - will adapt to other repos ([`5ca6250`](https://github.com/ocadotechnology/codeforlife-portal/commit/5ca625083593d8b15ee9b82461440ead2fe939e5))

* codeclimate change

allow id selectors in css

allow id selectors in css

undo edit to codeclimate config ([`c7c6697`](https://github.com/ocadotechnology/codeforlife-portal/commit/c7c6697661d37e3b87601554649ffc37d401529b))

* reducing cyclomatic complexity in solution_level_selector.py

reducing cyclomatic complexity in solution_level_selector.py ([`6b34b44`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b34b44b5ee8dce3442cf44646bb8484e0a81315))

* code review changes

codeclimate changes

codeclimate changes

codeclimate changes

codeclimate changes

codeclimate changes ([`efd88a8`](https://github.com/ocadotechnology/codeforlife-portal/commit/efd88a87a7f76c9e541a678c08d5271a50bf77de))

* Typo fixed ([`ff88ab8`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff88ab8146c59937a1af4d9b43e9c7593055f957))

* Merge pull request 197 from CelineBoudier/contributing-document

Adding CONTRIBUTING guidelines ([`b197653`](https://github.com/ocadotechnology/codeforlife-portal/commit/b1976537dc63ba95f9d2d0165d7cb90fdda9d6c2))

* Adding CONTRIBUTING guidelines ([`9f30a06`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f30a067244d3edb6b60d2feda6b5ee62cae14f2))

* links added, everything done ([`5210b8b`](https://github.com/ocadotechnology/codeforlife-portal/commit/5210b8b73b0d2a56c9e24540eb43eb0ba4829633))

* links added, everything done ([`e0ad9d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/e0ad9d982945af04381b012caabae3c16e34aa9b))

* Merge pull request 203 from felixcs1/analytics2

Function to send a GA event when .zip files are downloaded ([`6ec38f7`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ec38f7fcc1f31cfb73001fb26ea3c71c2e0d0e2))

* Merge pull request 196 from PhydeauxLeChien/refactor-email-verification-2

Refactor EV to decouple from UserProfile - Stage 2 ([`e92ebc6`](https://github.com/ocadotechnology/codeforlife-portal/commit/e92ebc666dc3b2851b8027a5041f7b54cd945298))

* links to levels added to solution pages ([`34f5f1d`](https://github.com/ocadotechnology/codeforlife-portal/commit/34f5f1dca5cffa35f67a5d56cfd8d7dabd3a0105))

* changed selection page styling ([`1604574`](https://github.com/ocadotechnology/codeforlife-portal/commit/16045744d8f20a395ef8d93aeaba1248e329568d))

* changed selection page styling ([`ac779c2`](https://github.com/ocadotechnology/codeforlife-portal/commit/ac779c2c55e08320096bada4532eead0a2c1900a))

* All solutions complete! ([`deab6a9`](https://github.com/ocadotechnology/codeforlife-portal/commit/deab6a9ddbb7f53665699e95d229506e86db5680))

* solutions for levels 101-109 added ([`58354ce`](https://github.com/ocadotechnology/codeforlife-portal/commit/58354ce4538454372a1783559ac56c8bcac1d73e))

* solutions for levels 92-100 added ([`7a9d16c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7a9d16cb084370db06146d5524e2207dd7f43a66))

* old templates removed, all solutions run off 2 templates ([`7c7715f`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c7715f517aa733901f485b74745836791a4f948))

* changed so all solutions use one template ([`898ea43`](https://github.com/ocadotechnology/codeforlife-portal/commit/898ea431ded9de9747a9c978b937dc58c3d0e4bf))

* changed so all solutions use one template ([`d821e30`](https://github.com/ocadotechnology/codeforlife-portal/commit/d821e3038c3470e06edc29b69766bee4786c5754))

* Merge pull request 204 from PhydeauxLeChien/ev-admin

Added EmailVerification to Django CMS. ([`dce8b01`](https://github.com/ocadotechnology/codeforlife-portal/commit/dce8b019b04e09a0d39316ef171dea45bf3de84d))

* Added EmailVerification to Django CMS. ([`229ebb2`](https://github.com/ocadotechnology/codeforlife-portal/commit/229ebb2cb524a1ca2c951ee2aad1b01fd4d16293))

* Function to send an event when .zip files are dowloaded ([`9c65efb`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c65efbc2addeeaac2ee7b39e3563ae70348025d))

* Merge pull request 202 from felixcs1/pdf

Change .zip to .pdf for the pupil certificates. ([`5c75f71`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c75f7163826a9b6e5dc139dfc46a927d6d195f9))

* Merge pull request 201 from felixcs1/analytics1

Move analytics script into head from bottom of the page ([`60fb78b`](https://github.com/ocadotechnology/codeforlife-portal/commit/60fb78bf7153aab1d0f391d2ece7a4380b3e6ed7))

* Change .zip to .pdf for the pupil certificates so the new certficates will be accessed (All on one pdf). Also change zip icon to pdf icon

change zip to pdf ([`082c580`](https://github.com/ocadotechnology/codeforlife-portal/commit/082c5802b4462087ecd3d0d2da9216e7dc96358e))

* Move analytics script into <head> from bottom of the page ([`eeeb3f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/eeeb3f0cc5badf617d5cdb462cf2772806f19fce))

* solutions for levels 90,91 added ([`1b511ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/1b511ca89703da52b1e58d0cd5204badb596ec17))

* solutions for levels 80-89 added ([`46df978`](https://github.com/ocadotechnology/codeforlife-portal/commit/46df978ad90d857bc316ef697fb6878fafcc6af8))

* Solutions for levels 61-79 added ([`e31e217`](https://github.com/ocadotechnology/codeforlife-portal/commit/e31e21719fb31ff7513af9d0195c072fbb9cd710))

* Merge pull request 199 from felixcs1/analytics

Added riveted.js plugin to monitor active time on each page ([`ffd6367`](https://github.com/ocadotechnology/codeforlife-portal/commit/ffd63675e54bcff785205b9168ca693681a40327))

* Adding riveted.js plugin to monitor active time on each page

Add the riveted plugin to track active time on pages ([`952a0e7`](https://github.com/ocadotechnology/codeforlife-portal/commit/952a0e73acecf3d039918197f4d763f1c3db36f9))

* Refactor EV to decouple from UP - Stage 2

- Delete original models
- Begin renaming new models ([`1378ae1`](https://github.com/ocadotechnology/codeforlife-portal/commit/1378ae17f5c2f5604965c4bfe004c4c347c884f5))

* Solution resizing ([`50a12ab`](https://github.com/ocadotechnology/codeforlife-portal/commit/50a12abbd8694a2cfc52d161a1099ce13bf9488d))

* levels 51-60 solutions produced ([`eadac28`](https://github.com/ocadotechnology/codeforlife-portal/commit/eadac289c157d6d306d7d17bdbb783bd7fda808a))

* Merge pull request 198 from PhydeauxLeChien/refactor-email-verification

More efficient data migration 0049. ([`c4ac7c8`](https://github.com/ocadotechnology/codeforlife-portal/commit/c4ac7c84b74588e4ef70d1c9f5617cbb6d9f0659))

* More efficient data migration for 0049. ([`a63b6fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/a63b6fc27aa970e92b5b27638a3b952ce28d8d69))

* levels 29-33 solutions produced ([`de5cbf7`](https://github.com/ocadotechnology/codeforlife-portal/commit/de5cbf7aa812b4eca1e0dad7ae29239c1c8abe1d))

* levels 19-28 solutions produced ([`0eebac1`](https://github.com/ocadotechnology/codeforlife-portal/commit/0eebac10d37c6b4af0fc3be35e4dd36815ffbe77))

* levels 1-18 solutions produced ([`cff8b12`](https://github.com/ocadotechnology/codeforlife-portal/commit/cff8b12f25050ddbcf2a42e9561146f46fd301d3))

* Added Images ([`6beb6b3`](https://github.com/ocadotechnology/codeforlife-portal/commit/6beb6b3d1750ce994acbfc98eceae9bb95ae58f9))

* Solution selector added, solution 51 working ([`cc32769`](https://github.com/ocadotechnology/codeforlife-portal/commit/cc32769c21648c02e8f07706386399caebad2dd5))

* Solution selector added, solution 51 working ([`23d0ee1`](https://github.com/ocadotechnology/codeforlife-portal/commit/23d0ee120e8e578b71efea63f5c9fefe5222398d))

* Solution selector added, solution 51 working ([`06c87fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/06c87fd7aa4fd955ad12aab7b4c6817bbdc55e27))

* Merge pull request 189 from PhydeauxLeChien/refactor-email-verification

Refactor EmailVerification (EV) - Stage 1 ([`3cbd62f`](https://github.com/ocadotechnology/codeforlife-portal/commit/3cbd62f08b1654d196c2bde3e2b7025696047ce7))

* Refactor EV to decouple from UserProfile - Stage 1

- add new fields
- change code to use new fields instead of old ones, ready for deletion ([`2a6b2fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/2a6b2fdefc627ac1d53dead7b5fee772ad4dbc38))

* Merge pull request 194 from joshuablake/session_settings

Use session storage for messages. ([`0e0e11a`](https://github.com/ocadotechnology/codeforlife-portal/commit/0e0e11a4fb459e32dff0fa6b14e8c9a2a2374a5a))

* Merge pull request 195 from joshuablake/teacher_login

Add authentication checks to reminder cards page ([`5cfde2c`](https://github.com/ocadotechnology/codeforlife-portal/commit/5cfde2cb967eb87241f6ceb39281413f13e89991))

* Add authentication checks to reminder cards page and security tests.

Adds several security features:
- Do not allow teacher&39;s to view the cards for classes they do not have
access to.
- Return 404 if cards for a class that does not exist are requested
(rather than erroring).
- Also return 404 if the teacher does not have access to this class
(rather than leaking that the class exists).

Tests for the above and for the same issues in other views are also
included. ([`17737bd`](https://github.com/ocadotechnology/codeforlife-portal/commit/17737bd507551968d133c695fadd2d9719634676))

* Use session storage for messages.

Since we are placing HTML to be displayed in the messages (for 2FA
reminders) it is safer if it is never client-side. ([`6038049`](https://github.com/ocadotechnology/codeforlife-portal/commit/6038049539467519e4a6ec18f7e250b61cbb27b3))

* Merge pull request 193 from joshuablake/2fa

Fix teach.py imports ([`d733d53`](https://github.com/ocadotechnology/codeforlife-portal/commit/d733d53cadac4c5abc2b6854c552eab280777be1))

* Fix error when removing another users 2FA ([`7404f4b`](https://github.com/ocadotechnology/codeforlife-portal/commit/7404f4bbffe8230d4241a039d4ecbf9d1e080bf5))

* Remove redundant import ([`7b1a0b4`](https://github.com/ocadotechnology/codeforlife-portal/commit/7b1a0b4fad572bcbd77bde570518b945ad4f08c1))

* Merge pull request 192 from mikebryant/fix-captcha-related-test-bug

Fix captcha related test bug ([`839f8d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/839f8d039c43bf1b27a58ed8e284a04e102f16bc))

* Fix captcha related test bug

When the captcha view is imported it was using the then-set value of the CAPTCHA_ENABLED flag.
When the selenium tests ran after a normal TestCase it would already have been imported and thus
not be set up to ignore captchas. ([`a152934`](https://github.com/ocadotechnology/codeforlife-portal/commit/a1529341e3ed8813f32b3c29f7606910c16301c2))

* Merge pull request 190 from PhydeauxLeChien/ignore-line-length

Configure codeclimate so it doesn&39;t complain about lines > 79 chars ([`0c4b5c9`](https://github.com/ocadotechnology/codeforlife-portal/commit/0c4b5c90c1a8cd1678c43d84a03bb4d8f6637353))

* Configure codeclimate so it doesn&39;t complain about lines > 79 chars. ([`d7ce7b7`](https://github.com/ocadotechnology/codeforlife-portal/commit/d7ce7b7315e120c2d862a7e56b2ac7660ea32c0f))

* Merge pull request 186 from PhydeauxLeChien/slow-ticker

Increased news ticker interval to 8s - Fixes 185 ([`7125326`](https://github.com/ocadotechnology/codeforlife-portal/commit/712532656a01da05deb697eccc9eb848c867e1dc))

* Increased news ticker interval to 8s - Fixes 185 ([`c1d6eb2`](https://github.com/ocadotechnology/codeforlife-portal/commit/c1d6eb2aec1b3aedf9e5679bd9efcb8a48ec9800))

* Merge pull request 184 from CelineBoudier/update-copyright-date

update copyright date to 2016 ([`c779ee6`](https://github.com/ocadotechnology/codeforlife-portal/commit/c779ee669e54862cd6e7e0dcd3d24f15edf3ee45))

* update copyright date to 2016 ([`a31f727`](https://github.com/ocadotechnology/codeforlife-portal/commit/a31f7275bd0281cd42a3bd298e6a12f8e935b975))

* Merge pull request 175 from CelineBoudier/add-mouseflow

adding mouseflow - heatmap ([`a998f86`](https://github.com/ocadotechnology/codeforlife-portal/commit/a998f86bd261f8562c1240b1a8070cd5ec448f48))

* Merge pull request 176 from eddarmitage/master

Change spelling of name ([`72d32e8`](https://github.com/ocadotechnology/codeforlife-portal/commit/72d32e823d952052eff14f77085a7e419c7ebd7d))

* Change spelling of name ([`684b04a`](https://github.com/ocadotechnology/codeforlife-portal/commit/684b04a516ac21604b9b004dc441eae0e6a47ddd))

* adding mouseflow - heatmap ([`c169f89`](https://github.com/ocadotechnology/codeforlife-portal/commit/c169f899b052d26af489875f623bdc8e5004ac98))

* Merge pull request 174 from CelineBoudier/add-filters-admin

Adding filters for schools - search by region ([`bc2aa5a`](https://github.com/ocadotechnology/codeforlife-portal/commit/bc2aa5ae526660a302089af482966a2898fb98a7))

* Adding filters for schools - search by region ([`d1eec38`](https://github.com/ocadotechnology/codeforlife-portal/commit/d1eec3851025a210dfe988a39b6155b50fdce0be))

* Merge pull request 173 from CelineBoudier/passwordreset2fa

waiting for 2fa - password reset enabled 172 ([`205e486`](https://github.com/ocadotechnology/codeforlife-portal/commit/205e48650f3545d6163dffb226e08afaa391addf))

* Fixes 172 - waiting for 2fa - password reset enabled ([`765880b`](https://github.com/ocadotechnology/codeforlife-portal/commit/765880b0b5ab2ccd8b8fc4f77bd046a4a8425c7d))

* Merge pull request 166 from CelineBoudier/add-cron1

adding new users notification ([`687f983`](https://github.com/ocadotechnology/codeforlife-portal/commit/687f983ce299cf56ced528e85cbe7c0c6f4b16d6))

* adding new users notification ([`ee4e91e`](https://github.com/ocadotechnology/codeforlife-portal/commit/ee4e91e049feb65df0ff532ddef312535bff5b4d))

* Merge pull request 164 from CelineBoudier/admin-add-stats-2

Filtering and displaying number of new users (weekly) ([`913799a`](https://github.com/ocadotechnology/codeforlife-portal/commit/913799a7c457f359eb2ddaa1178beb0edcbd1f0e))

* adding new users numbers and filters ([`e742201`](https://github.com/ocadotechnology/codeforlife-portal/commit/e742201e2de636d29511dfb651d01b9abef1b03e))

* Merge pull request 161 from mikebryant/fix-2fa-caching

Fix two factor caching ([`c3f6ed6`](https://github.com/ocadotechnology/codeforlife-portal/commit/c3f6ed68c9894b53accdda0213af24179f11c973))

* Fix two factor caching ([`1e1629a`](https://github.com/ocadotechnology/codeforlife-portal/commit/1e1629a848349a5ce17267552de7afd1fbbd0276))

* Merge pull request 160 from mikebryant/wip-159

Use staticfiles_storage to access static files, Fixes 159 ([`f55d168`](https://github.com/ocadotechnology/codeforlife-portal/commit/f55d168d958e26c39c65783f5c604993c70e997e))

* Use staticfiles_storage to access static files, Fixes 159 ([`e2fc86a`](https://github.com/ocadotechnology/codeforlife-portal/commit/e2fc86a87f50113b95772563b1f0cd3570b3ebf3))

* Merge pull request 158 from mikebryant/snap-integration

Add snap post-deploy api trigger ([`bc7f80d`](https://github.com/ocadotechnology/codeforlife-portal/commit/bc7f80d6ffabda0b04f70a411a8fdadf91b90f78))

* Add snap post-deploy api trigger ([`8a2f834`](https://github.com/ocadotechnology/codeforlife-portal/commit/8a2f834b65b2ffdbc218c9835d950676bcb7a76c))

* Merge pull request 151 from mikebryant/new-deploy

[Don&39;t merge yet - waiting for new deploy] Remove files solely related to deployment. Fixes 84 ([`c5e585e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c5e585ed496f3132ebb668559df119563aafb592))

* Merge pull request 156 from mikebryant/wip-155

Fix the independent student login page ([`24935bf`](https://github.com/ocadotechnology/codeforlife-portal/commit/24935bf2c4b3bd046a41d8120cdf20b08f1f9329))

* Fix the independent student login page

Fixes 155 ([`f0d20d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/f0d20d77aef0cf16a5bf8132c8ad94606b559fee))

* Merge pull request 154 from mikebryant/cache-2fa

Cache two_factor usage checks ([`5166399`](https://github.com/ocadotechnology/codeforlife-portal/commit/5166399164d90edd3362dcbe8a6e61a02c46f59c))

* Merge pull request 153 from CelineBoudier/admin-improve-portal

Admin Interface improvements ([`29ed4ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/29ed4ba9778ddf3030721fdc0c94b889fc8d4b77))

* Better admin page ([`8b14f23`](https://github.com/ocadotechnology/codeforlife-portal/commit/8b14f23f9dd999999d6ecbd87a807d88fdb89cdb))

* Cache two_factor usage checks ([`aefa12e`](https://github.com/ocadotechnology/codeforlife-portal/commit/aefa12ebefd73d097bca35fa2b1f804cde80e4fe))

* Refactor usage of default_device ([`40c4288`](https://github.com/ocadotechnology/codeforlife-portal/commit/40c428846831739ef66737078d3acc6b294abc81))

* Merge pull request 152 from CelineBoudier/admin-add-stats-1

Added Workspaces data to know about uses ([`03bcc1e`](https://github.com/ocadotechnology/codeforlife-portal/commit/03bcc1e35cab0adabef3414245b47e76239cf10a))

* Added Workspaces data to know about uses ([`803dd64`](https://github.com/ocadotechnology/codeforlife-portal/commit/803dd6436c43a67645052aad11111d0d3dd56bee))

* Merge pull request 146 from mikebryant/remove-avatar

Remove unused avatar field ([`d9f1a9d`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9f1a9d87d02fbfd1da676ef96bb44ac823f8968))

* Remove unused avatar field ([`55cfab9`](https://github.com/ocadotechnology/codeforlife-portal/commit/55cfab9e23bac0d9aece211d2eefe66fd08baa1e))

* Remove files solely related to deployment. Fixes 84 ([`2f09207`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f09207736a4a6497f02bcb5a3f845ca5dbec65c))

* Fix mkvirtualenv command ([`06a5065`](https://github.com/ocadotechnology/codeforlife-portal/commit/06a506598e6760289c8eb59104cf6409ccb737cc))

* Merge pull request 150 from CelineBoudier/wip-celine-portal

Fixed 149 - update copyright owner ([`b3702a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3702a3c937057de0f395ba59f1fd90acdffb287))

* Fixed 149 - update copyright owner ([`bf8e4e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf8e4e927fffe19307b74f3d30f756ecd180c2b2))

* Merge pull request 148 from mikebryant/add-codeclimate

Add CodeClimate support ([`8beeac4`](https://github.com/ocadotechnology/codeforlife-portal/commit/8beeac4a4ed180f9aa43c8f7507919cf2376c87b))

* Merge pull request 147 from mikebryant/fix-packaging

Fix the packaging of wheels ([`fe3bca6`](https://github.com/ocadotechnology/codeforlife-portal/commit/fe3bca603c755b20902054ecf19c39214d8753a8))

* Add CodeClimate support ([`972a9fb`](https://github.com/ocadotechnology/codeforlife-portal/commit/972a9fba94e0c9a5696057febc02419ac58d9556))

* Fix the packaging of wheels ([`0f913d6`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f913d67e877f8d5734359dab9c35e81c92472d7))

* Merge pull request 145 from mikebryant/wip-remove-beta-references

Set up the correct setting for rapid-router to use portal.beta. ([`e811268`](https://github.com/ocadotechnology/codeforlife-portal/commit/e81126849e9c82136195f96a9b7167e96168f6b4))

* Set up the correct setting for rapid-router to use portal.beta. Part of 688 ([`ea27fb7`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea27fb7b670d2dc26566bc81b5e0168a6856e3d8))

* Merge pull request 144 from mikebryant/admin-data-reduce-queries

Performance: Reduce the number of queries used in the admin/data page ([`2237783`](https://github.com/ocadotechnology/codeforlife-portal/commit/22377834921daef8280cadc86a0cae2425811e3a))

* Performance: Reduce the number of queries used in the admin/data page ([`988e522`](https://github.com/ocadotechnology/codeforlife-portal/commit/988e52209c306cc061d2f30528fa848cabba0649))

* Revert &34;Add expiry date to activation link email 139&34;

This reverts commit c384997a3a047ca5e04800e977a2b79f0a894827. ([`e95e011`](https://github.com/ocadotechnology/codeforlife-portal/commit/e95e011bcb7a788cd0cbbda830992c49cfe09cef))

* Merge pull request 142 from mikebryant/wip-setup.py-tests

Add setup.py tests, Travis support ([`050774d`](https://github.com/ocadotechnology/codeforlife-portal/commit/050774d36c1f134270cc2e27d3710ff925cb4223))

* Add expiry date to activation link email 139 ([`c384997`](https://github.com/ocadotechnology/codeforlife-portal/commit/c384997a3a047ca5e04800e977a2b79f0a894827))

* Limit coverage checking ([`2306418`](https://github.com/ocadotechnology/codeforlife-portal/commit/2306418fbed5f61966320087124790cdfaaf24d1))

* Add Travis support. Part of 141 ([`ae740ae`](https://github.com/ocadotechnology/codeforlife-portal/commit/ae740ae3d54edd3b89649b5b5e447bbce3c2bc9c))

* Fix password reset links reversing ([`cd36b75`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd36b75b5232058f63cfa0abd8bd531a539f5693))

* Add support for python setup.py test ([`b4b2b9e`](https://github.com/ocadotechnology/codeforlife-portal/commit/b4b2b9edfa446424b07bf7bd85a68e93dafb46f5))

* Add missing bits of autoconfig ([`8583764`](https://github.com/ocadotechnology/codeforlife-portal/commit/8583764a24b507385ba300a4be48f26a055fe9ac))

* Reverse admin urls ([`aa7362e`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa7362ee458f8c0d913796ab8a579eb5c48df5d3))

* Namespace the logout url, so it doesn&39;t conflict with the admin one ([`55757c1`](https://github.com/ocadotechnology/codeforlife-portal/commit/55757c17f625f6dbef3b8a2ab2d3d7d68b5c299b))

* Merge pull request 140 from ocadotechnology/revert-134-master

Revert &34;Added migration that gives portaladmin a user profile so that portala…&34; ([`b009a03`](https://github.com/ocadotechnology/codeforlife-portal/commit/b009a0391ef97678abdf4381ecf6932adc2d9c20))

* Revert &34;Added migration that gives portaladmin a user profile so that portala…&34; ([`8b05a99`](https://github.com/ocadotechnology/codeforlife-portal/commit/8b05a99955ab3c2df6d4091510894fb429543395))

* Merge pull request 134 from paulheideman/master

Added migration that gives portaladmin a user profile so that portala… ([`38465f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/38465f20fdac64f7f5622b54d6ef3b6b6deca33f))

* Merge pull request 138 from ocadotechnology/readme-improvement

Readme improvement ([`fc71e39`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc71e3976faf2a091fa010895a824b779ae9ef14))

* Readme improvement

Removed a bunch of old info that no longer applies ([`ecbcf6c`](https://github.com/ocadotechnology/codeforlife-portal/commit/ecbcf6c7a731a30c09fd765c38c0e4dc26895788))

* Merge pull request 137 from mikebryant/wip-example-project

Switch to the example_project layout ([`d2a4a69`](https://github.com/ocadotechnology/codeforlife-portal/commit/d2a4a6937690cf5d43ccf4b38a609347f21e848c))

* Switch to the example_project layout ([`295bb08`](https://github.com/ocadotechnology/codeforlife-portal/commit/295bb08e2f1075319f9321f3225e245f67555be3))

* Merge pull request 136 from mikebryant/fix-500-view

Fix usage of static tag in 500 template ([`2c65fbf`](https://github.com/ocadotechnology/codeforlife-portal/commit/2c65fbf71bf51039c1dca9cda703d82606c9a8fe))

* Fix usage of static tag in 500 template ([`b89b0a8`](https://github.com/ocadotechnology/codeforlife-portal/commit/b89b0a85b0f1aad6e6db148e0893651ce4ad8c1f))

* Merge pull request 135 from ocadotechnology/mikebryant-fix-gov-reference

Fix reference to gov.uk ([`6cb8f13`](https://github.com/ocadotechnology/codeforlife-portal/commit/6cb8f130b0339ec18c849af71b1acad3139d5794))

* Fix reference to gov.uk ([`2ad3ea6`](https://github.com/ocadotechnology/codeforlife-portal/commit/2ad3ea6ebc0de2e5daa5a07581615d7d2d63dc7b))

* Need to force PIPELINE_ENABLED, so the dev deployment works ([`380b4ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/380b4ffab5f2d3ffff648a718e2e3ec8393fd41b))

* Remove compressor ([`8d42549`](https://github.com/ocadotechnology/codeforlife-portal/commit/8d42549a882674b8aa8cad5f51eedd3a9d55b3e0))

* Delay running a level in the tests - fixes race condition between loading the level and it being runnable ([`0772615`](https://github.com/ocadotechnology/codeforlife-portal/commit/077261529b6733eacc8a0d64ff86be08b28beca0))

* Use the correct url for the home page in the tests ([`db8eca3`](https://github.com/ocadotechnology/codeforlife-portal/commit/db8eca392d4f482717e4e0e60984ac9598e1bbf5))

* Add missing middleware to autoconfig ([`d22095b`](https://github.com/ocadotechnology/codeforlife-portal/commit/d22095b50e788664adfb82fe2694fc40b2a6205f))

* Added migration that gives portaladmin a user profile so that portaladmin can login ([`5822172`](https://github.com/ocadotechnology/codeforlife-portal/commit/5822172ecaf087e6a5205096b4e8c9d75f1d136c))

* 700 Speeding up shared levels fetching by removing redundant checks. ([`242b090`](https://github.com/ocadotechnology/codeforlife-portal/commit/242b090874e3887907a19d17c09741472bb7cc5c))

* Bump autoconfig version ([`740ddda`](https://github.com/ocadotechnology/codeforlife-portal/commit/740dddadb07faf3e1946b37e206d10fbe9245638))

* Merge pull request 133 from mikebryant/wip-example-project

Changes required for a better workflow in rapid-router ([`65a38e8`](https://github.com/ocadotechnology/codeforlife-portal/commit/65a38e8a176df054cb4c25b3ffd484f6b19054ac))

* Update autoconfig and requirements ([`986c756`](https://github.com/ocadotechnology/codeforlife-portal/commit/986c756e112856b48b617a099a10f8f78198794c))

* Define Recaptcha settings in app_settings ([`ed82400`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed82400f3a4b8abb10455780a5d73cb635e68215))

* Define the EMAIL_ADDRESS setting in app_settings ([`5c85216`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c85216a69abcc5491ccdb43cc89bd119337e8ba))

* Revert &34;702 Wrapping views that modify data in transactions.&34;

This reverts commit 88027d2720bb2dc6f9f05383b46fca1483d09441. ([`3b62f4b`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b62f4b86ad5c87a7d6420b14d350b5c928b0a0e))

* 702 Wrapping views that modify data in transactions. ([`88027d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/88027d2720bb2dc6f9f05383b46fca1483d09441))

* Revert &34;702 Enabling ATOMIC_REWQUESTS setting (transaction per request).&34;

This reverts commit 403b6aaa1f83ed4c6d9224843e42900feb2ab4d6. ([`b13e1bb`](https://github.com/ocadotechnology/codeforlife-portal/commit/b13e1bbacd1db7c525aec0c17391b81c62986e51))

* 702 Enabling ATOMIC_REWQUESTS setting (transaction per request). ([`403b6aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/403b6aaa1f83ed4c6d9224843e42900feb2ab4d6))

* 393 Reducing the number of queries made when list of saved levels is fetched. ([`509c1bd`](https://github.com/ocadotechnology/codeforlife-portal/commit/509c1bd7f18be5e2ae3452ac0271571c98b48ff8))

* Merge remote-tracking branch &39;origin/master&39; ([`be87275`](https://github.com/ocadotechnology/codeforlife-portal/commit/be87275ff02faee9d12e21a460e9fb8afce59601))

* 591 Removing basic auth from dev and staging. ([`c569aa3`](https://github.com/ocadotechnology/codeforlife-portal/commit/c569aa332a18c289152cfa219e74d326415c973f))

* 699 Regression test for traffic lights not being reset. ([`aa41946`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa41946b93f675036c24cc9c1bb81de02cde1d4e))

* Add missing requirement to setup.py ([`7c3fe1c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c3fe1c44c2ab603b64c685cec119f630626cf30))

* Add tag based versioning using versioneer ([`12e76a2`](https://github.com/ocadotechnology/codeforlife-portal/commit/12e76a2808165059b78b8349d1311fa3320bf8d5))

* Adding wait_for_element_by_css to BasePage. ([`fc1d5f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc1d5f06828f92390590d8f4ca360f1e4d223a01))

* SEC-7 Enabling secure cookies only on servers (in local environment the browser tests start failing since they can&39;t recognize / save secure cookies).
Setting &39;HTTPS&39; to &39;on&39; in app engine configs for DEV and STAGING (in line with prod). ([`c1ed559`](https://github.com/ocadotechnology/codeforlife-portal/commit/c1ed55982ad4603002c7e23a5732e5da7a64f2a0))

* SEC-7 Enabling secure cookies - cookies being sent over https. ([`7f738c1`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f738c16af3fe1258e67b651129ffbc716c45d70))

* Added __unicode__ to FrontPageNews ([`90391df`](https://github.com/ocadotechnology/codeforlife-portal/commit/90391dfd0692da5d16274b08e237bb1dc31f7bde))

* 686 Fixing the episode link (/episode/id) not working.
Adding test. ([`5fcd634`](https://github.com/ocadotechnology/codeforlife-portal/commit/5fcd6342f845ff9d37620a3dd92922cc2793a8a7))

* Removing --noisy and --verbose from appengine command. ([`4002dbc`](https://github.com/ocadotechnology/codeforlife-portal/commit/4002dbcd6889342861709831cfc5a44ca13fc3f4))

* Adding --noisy and --verbose to appengine command for debugging. ([`4d72a7d`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d72a7de52385d7c585034d29fcc90bc4d64f0ec))

* Updating Appengine SDK. ([`a24a747`](https://github.com/ocadotechnology/codeforlife-portal/commit/a24a747ec9c855eaf5d7e87a6894e82fc1e6ebdb))

* SEC-6 Adding captcha to password reset forms. ([`7869c60`](https://github.com/ocadotechnology/codeforlife-portal/commit/7869c60a9b539085c9f3a90f07155449770b163a))

* Adding /admin/ mapping that redirects to /admin/data/. ([`22feccc`](https://github.com/ocadotechnology/codeforlife-portal/commit/22feccc629b6d18c5544256448509b2ab0b62482))

* Refactoring. ([`2237fd8`](https://github.com/ocadotechnology/codeforlife-portal/commit/2237fd869bfade348342af601279663459187ef7))

* SEC-5 Limiting the rate of 2FA login attempts. ([`3197d6c`](https://github.com/ocadotechnology/codeforlife-portal/commit/3197d6c8e729fe3a706472940dc5088fbfe93619))

* SEC-5 Limiting the rate of login attempts performed through CMS toolbar. ([`d4763a0`](https://github.com/ocadotechnology/codeforlife-portal/commit/d4763a09077068c175c5f08cca1d12d9ae0f6771))

* SEC-5 Adding captcha to administration login forms. ([`aa087e2`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa087e2973bf17168a370a8aaedc92395d9a3443))

* SEC-4 Updating to django countries 3.4.1. Restoring country flag in create / edit school form, since it&39;s no longer vulnerable to XSS. ([`349eb89`](https://github.com/ocadotechnology/codeforlife-portal/commit/349eb897e0ce19ad9d7b0d6a240a8897d1e86083))

* SEC-4 Removing country flag from school managing form, since it exposes site to XSS. ([`f4ebfa6`](https://github.com/ocadotechnology/codeforlife-portal/commit/f4ebfa66bf7b098f44e4495884d78df22c68ea56))

* SEC-1 Cleaner way of displaying generic messages in the login forms when captcha fails. Also server does not authenticate if captcha fails. ([`10f2b17`](https://github.com/ocadotechnology/codeforlife-portal/commit/10f2b170f6963d70a07ad81b6e656b17fac6a772))

* Generic error message for student / independent student login form with captcha (same message whether it&39;s captcha or login error). ([`036b401`](https://github.com/ocadotechnology/codeforlife-portal/commit/036b401a2b8e9887eaa345f584e80b32990998e3))

* Generic error message for student / independent student login form with captcha (same message whether it&39;s captcha or login error). ([`223aa11`](https://github.com/ocadotechnology/codeforlife-portal/commit/223aa1149db789a4ec194a05265d7618d25f225d))

* Generic error message for teacher form with capctha (same message whether it&39;s captcha or login error). ([`22cf0e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/22cf0e5d225933776abc56b21b4167a5c5649d28))

* Adding a missing import. ([`15c2be1`](https://github.com/ocadotechnology/codeforlife-portal/commit/15c2be1cac3f1b3e776957f75c79c64c85bc2572))

* 420 Browser test for crashing, clearing workspace and passing the level. ([`ddc95c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/ddc95c0dd4c83597246d49e5057c9196fb9ee5d6))

* 420 Browser tests for crashing into cows. ([`b8048a6`](https://github.com/ocadotechnology/codeforlife-portal/commit/b8048a65da45de63e11a215a6e1efb39749fe526))

* Code formatting. ([`b49209d`](https://github.com/ocadotechnology/codeforlife-portal/commit/b49209d693cdf38782867d189e15239dfdab5421))

* 675 Fixing the student online status in class view. ([`de1676f`](https://github.com/ocadotechnology/codeforlife-portal/commit/de1676fb88e1ccd39a41ef8d1d0a59e4fecc4b1f))

* 420 Game tests for character turning around. ([`81671d4`](https://github.com/ocadotechnology/codeforlife-portal/commit/81671d458c18793655ef7c87fa40ed5c3dff043d))

* 420 Game browser tests for van crashing scenarios. ([`f2dcb30`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2dcb30a49aacad39629b53de6f530568caa4061))

* 669 Added a test for independent student joining a class ([`08f5e10`](https://github.com/ocadotechnology/codeforlife-portal/commit/08f5e10c16f47023968830b1566fe2e4e621a163))

* Revert &34;Enabling PRODUCTION mode in staging for penetration test.&34;

This reverts commit 034aa50165c9cc754e75329188f50fade903d6a8. ([`e486222`](https://github.com/ocadotechnology/codeforlife-portal/commit/e4862229ac189f93707ccd54b6fe6e9099f45d50))

* Enabling PRODUCTION mode in staging for penetration test. ([`034aa50`](https://github.com/ocadotechnology/codeforlife-portal/commit/034aa50165c9cc754e75329188f50fade903d6a8))

* 667 Downgrading PyYaml dependency from 3.11 to 3.10 to make it compatible with Jasmine. ([`8c2ae5b`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c2ae5b7c3fd4d4350c53448229a521b1c2370e8))

* Update jump_setup ([`ef35986`](https://github.com/ocadotechnology/codeforlife-portal/commit/ef3598699e56b2d40f02ca2b3d4e32f1e3fa0ed8))

* 660 Updating post code validation to only check whether post code is not empty. ([`cd31bc8`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd31bc8748955e590c20b84c32a374bda3bf98cd))

* Merge remote-tracking branch &39;origin/master&39; ([`b38ce7b`](https://github.com/ocadotechnology/codeforlife-portal/commit/b38ce7b4c75cec0bb0100a49bc2884ef822b4534))

* 660 Updating post code validation to only check whether post code is not empty. ([`c68f52b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c68f52b40438bb21e232bec35e4baa6eacfe21ca))

* Updated documentation after merging deploy and portal ([`0fba3d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/0fba3d2b75ebff4b123eda3aa71aaa836832a640))

* Changed LOGIN_REDIRECT_URL ([`4e82a0d`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e82a0d59f6c5b6811113e39ca412bfda91a7c96))

* Editing LOGIN_REDIRECT_URL ([`41901bc`](https://github.com/ocadotechnology/codeforlife-portal/commit/41901bc8a6fac030da861a4856d39845c6fa3505))

* Changed REDIRECT_URL as it was pointing to a non-existing view ([`cba86aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/cba86aa9841f4f167bf082bf64063c230e5e6000))

* Merge remote-tracking branch &39;origin/master&39;

Conflicts:
portal/tests/pageObjects/portal/game_page.py ([`a40cfc8`](https://github.com/ocadotechnology/codeforlife-portal/commit/a40cfc8f392590b33993fca5c55cb1cf1dd24df5))

* Game browser tests saving a screenshot on timeout. ([`9b96857`](https://github.com/ocadotechnology/codeforlife-portal/commit/9b9685752c9e11be0304b4973282ce0a80f9db95))

* Added wait_for_score_element_id so that the test wait for either score element to appear before asserting the score. ([`1ba0ee2`](https://github.com/ocadotechnology/codeforlife-portal/commit/1ba0ee2686d44085980c1c2bff319706e7a059b8))

* 650 Renamed &34;teaching packs&34; dir to &34;teaching_packs&34; ([`f23534f`](https://github.com/ocadotechnology/codeforlife-portal/commit/f23534faad3092e7817a654266f0e8e18c86d7d9))

* Merge remote-tracking branch &39;origin/master&39; ([`271f047`](https://github.com/ocadotechnology/codeforlife-portal/commit/271f0472e112544511fd4a57ec2708f53851af56))

* Enabling keep-alive for selenium connection in browser tests. ([`904de13`](https://github.com/ocadotechnology/codeforlife-portal/commit/904de134ba565955e7054219632efc6872502b11))

* Changed game tests to allow multiple tests for one level and wait on a different element in popup ([`cd165d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd165d70aaa5da364a89f38cc6566feee208a555))

* 650 Added teaching packs pdfs to the repo. ([`4fc0d2b`](https://github.com/ocadotechnology/codeforlife-portal/commit/4fc0d2ba7902badf7260465bb643427046de9729))

* 597 Increasing game playing timeout in game end to end tests. ([`38c722f`](https://github.com/ocadotechnology/codeforlife-portal/commit/38c722f3f588e3e5f5a80d7044923cc5c3495264))

* 597 Game end to end tests until level 45. ([`18cfb78`](https://github.com/ocadotechnology/codeforlife-portal/commit/18cfb780da7acd73c0c258cb79b8b7a3a2788a26))

* Added autoconf to portal requirements.txt. ([`04c8468`](https://github.com/ocadotechnology/codeforlife-portal/commit/04c8468469d40232fd6cff122ce4bd27180fc407))

* 612 Formatting of setup.py.
Instructions for adding game end to end tests. ([`5f188d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/5f188d08acb93b9e35f0579d935aefefc4872691))

* 612 Updating run.bat. ([`a34f6ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/a34f6ee0ef8c9f2af424a8aa8bfc98e8d3cbe5ae))

* 612 Merging READMEs. ([`8617565`](https://github.com/ocadotechnology/codeforlife-portal/commit/8617565a4c2fde0448099fc17463c8345b980c94))

* 612 Removing redundant settings.py. ([`fc31832`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc31832a02594232aaeb81a4bf48866e4e37bfba))

* 612 Merging deploy into portal ([`d3203e7`](https://github.com/ocadotechnology/codeforlife-portal/commit/d3203e7a69c96cecd91deefa793a66e1e5f80f6b))

* 612 Merging deploy into portal ([`849c1f3`](https://github.com/ocadotechnology/codeforlife-portal/commit/849c1f3d3b7dadc25aac3a730b1633686a9f2d15))

* Add &39;deploy/&39; from commit &39;c56e639e71d9d583590c2ec29c2543774e2c0ea6&39;

git-subtree-dir: deploy
git-subtree-mainline: a4a3e73dd61e152433a7947dfb8f3c7e26b9a929
git-subtree-split: c56e639e71d9d583590c2ec29c2543774e2c0ea6 ([`29e6513`](https://github.com/ocadotechnology/codeforlife-portal/commit/29e65134af89587971692322caf36b15678c57ea))

* 639 Speeding up portal tests. ([`a4a3e73`](https://github.com/ocadotechnology/codeforlife-portal/commit/a4a3e73dd61e152433a7947dfb8f3c7e26b9a929))

* 639 Speeding up portal tests. ([`b09cde4`](https://github.com/ocadotechnology/codeforlife-portal/commit/b09cde4f56f61a2c230bbbc55c7f2303882e6d4b))

* 639 Fixing the broken test. ([`f4e1ebc`](https://github.com/ocadotechnology/codeforlife-portal/commit/f4e1ebc00f22e8a42215ffd93095f155bf03da2c))

* 639 Speeding up portal tests. ([`2e65911`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e659115bab43f4b039a266b14668fbc0515e7e7))

* 639 Speeding up game browser tests. Refactoring. ([`f2c4567`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2c45677a2ec7ccd8420f9416373171e690d8c72))

* 639 Renaming all instances of &34;solo&34; to &34;independent_student&34; in variables, ids, etc . ([`6721e09`](https://github.com/ocadotechnology/codeforlife-portal/commit/6721e094187bc92cccad8f99f88d22d7a4fcd227))

* 639 Speeding up browser tests by reordering page checks. ([`94876b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/94876b19b6c0cb54110589346f34cb80ffe08c3d))

* Revert &34;Setting staging yaml PRODUCTION variable to true for pen testing.&34;

This reverts commit 11fd1ea13638742fa44f426581a69c16c64b935a. ([`c56e639`](https://github.com/ocadotechnology/codeforlife-portal/commit/c56e639e71d9d583590c2ec29c2543774e2c0ea6))

* Add end-to-end game tests: level 22, 23 and 24 (and change tests to run program in fast mode) ([`3e2f16d`](https://github.com/ocadotechnology/codeforlife-portal/commit/3e2f16deab9a8a467d2cde2648b6ffff887bd6f6))

* Setting staging yaml PRODUCTION variable to true for pen testing. ([`11fd1ea`](https://github.com/ocadotechnology/codeforlife-portal/commit/11fd1ea13638742fa44f426581a69c16c64b935a))

* Added instructions for setting up on windows for both ways, using local-setup.sh and build.sh ([`8c0fb10`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c0fb104b7cf74d7e87ca8b7e790473582dbf208))

* 597 Making selenium port configurable in tests. ([`1060f29`](https://github.com/ocadotechnology/codeforlife-portal/commit/1060f292b41d35af9eb5b9df3e3c04d430ba8c38))

* Remove debug logging from OrganisationForm ([`09016ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/09016ca1b8074b8f5e37631e1efeac325b98e6ba))

* 597 Moving end to end tests to game. ([`13b0e11`](https://github.com/ocadotechnology/codeforlife-portal/commit/13b0e11478ec2654d9063ed4874cca122d633ed0))

* 597 Tests up to level 15. ([`bbd71ea`](https://github.com/ocadotechnology/codeforlife-portal/commit/bbd71ea6282701eafd5c2b08e6319c57ad1ef399))

* 597 Renaming the EndToEndTest to make it run with manage.py. ([`bed9116`](https://github.com/ocadotechnology/codeforlife-portal/commit/bed9116429de1895df1b1b48bd990c85ee1bf621))

* 597 Refactoring / cleanup of e2e game tests. ([`4926bbd`](https://github.com/ocadotechnology/codeforlife-portal/commit/4926bbd055e0840d5ffb2acb5d24dcd77a89a2b5))

* 597 E2E game tests for up to level 9. ([`6a768f4`](https://github.com/ocadotechnology/codeforlife-portal/commit/6a768f43d8ce42823b680b1d34ac767030b9bb8e))

* 597 Optimizing e2e game test to only login once (and not between levels). Adding a test for level 2. ([`445d665`](https://github.com/ocadotechnology/codeforlife-portal/commit/445d66541cded9082f0b40b234afd4d29294523d))

* 597 Refactoring tests, introducing GamePage class. ([`ad73411`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad73411b41960fd29524d48333b43235a6d3de2c))

* 597 Passing end to end test of the first level. It saves solution to the db to load it in the game, clicks play and asserts the score. ([`414e18e`](https://github.com/ocadotechnology/codeforlife-portal/commit/414e18ef94e4f0f944e9f6db0c7077c6b3135120))

* 597 Handlebars compilation script and template sources added. Adding id to modal dialog buttons in the game. ([`783c464`](https://github.com/ocadotechnology/codeforlife-portal/commit/783c464937bbb7fc2627170b3d94a60ca28aa36d))

* 597 Randomizing usernames in admin pages access tests. ([`3ee5177`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ee5177a87debbdeb91bf549123bc16da928142a))

* Refactoring. ([`223a37b`](https://github.com/ocadotechnology/codeforlife-portal/commit/223a37b0738bece2c98072bbd82f050639dadee0))

* Removing features deprecated in Django 1.8. ([`ab81149`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab811499d375d6c9cddac26b6cc0db6b48cdf44f))

* Removing features deprecated in Django 1.8. ([`b489aa4`](https://github.com/ocadotechnology/codeforlife-portal/commit/b489aa49015e4c541a4797465d16b98e9573a122))

* I don&39;t think this is still needed ([`4a529fa`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a529fad233e8cde08722a9c802b260f64046756))

* Merge ([`2b634c3`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b634c30d8ff2ee805142f82cf1ac76b89b2ce4c))

* Fixed static urls to use django way of doing things. This should close ocadotechnology/ocargo383 ([`28bc4e1`](https://github.com/ocadotechnology/codeforlife-portal/commit/28bc4e18beb65dd974b9d4f16f18f0806dfd7da7))

* creating_an_issue process notes ([`868e790`](https://github.com/ocadotechnology/codeforlife-portal/commit/868e790fb3ec065a68c696c50f324982a5fc78b7))

* release_process write up ([`d2750a7`](https://github.com/ocadotechnology/codeforlife-portal/commit/d2750a73afd3be19ed4f8c20a8c91a559f3630f9))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-deploy ([`947a171`](https://github.com/ocadotechnology/codeforlife-portal/commit/947a171b30bd7c884603a72dee6e0ac6019bc31d))

* Jump_setup document to explain how to access the jump server as a new starter ([`1c612ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/1c612ad3f172063cc828b62cd406f2eff8399adb))

* Minor corrections to README.md. ([`8313d83`](https://github.com/ocadotechnology/codeforlife-portal/commit/8313d832af6a81707fb7a0e149f44588faa9c5f8))

* Revert &34;Comment out cms tag&34;

This reverts commit 6bf2398a64d0f14d59e2b7d213f9f8fa9cbe3954. ([`25dd3e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/25dd3e9fb5b39e9676248a40dc321edaccda24f1))

* Enabling CMS.

This reverts commit 014086b7ba7c21d82de4dbbf0bf5f0a7720b63c0. ([`26cd37f`](https://github.com/ocadotechnology/codeforlife-portal/commit/26cd37f819f9744efde5b2cf0cc32aef34f486a4))

* Unifying the app.yaml settings across environments. ([`55be38f`](https://github.com/ocadotechnology/codeforlife-portal/commit/55be38f7ff5904d89d729e639d5419185f04814b))

* Comment out cms tag

This reverts commit bd09695399d82071b9981ffb958fd89045b8ce51. ([`6bf2398`](https://github.com/ocadotechnology/codeforlife-portal/commit/6bf2398a64d0f14d59e2b7d213f9f8fa9cbe3954))

* Revert &34;Enabling CMS.&34; ([`014086b`](https://github.com/ocadotechnology/codeforlife-portal/commit/014086b7ba7c21d82de4dbbf0bf5f0a7720b63c0))

* Adjusting styles so they don&39;t affect django cms elements. ([`cbf2611`](https://github.com/ocadotechnology/codeforlife-portal/commit/cbf2611680a5c993931cec11dfd8675b3f223804))

* Specifying the django migration directories for cms plugin modules (the default ones in plugins are south migrations). ([`a057982`](https://github.com/ocadotechnology/codeforlife-portal/commit/a057982a93623974b6295ded06c9f85bd09773cb))

* Commenting out cms plugins. ([`252db60`](https://github.com/ocadotechnology/codeforlife-portal/commit/252db609c20d6b0b3e507c26419855f53a410d12))

* Enabling CMS. ([`20bd2c8`](https://github.com/ocadotechnology/codeforlife-portal/commit/20bd2c8f8d683d1fdbf95045a9e5d29d97d5ace2))

* Revert &34;Comment out cms tag&34;

This reverts commit 96e54866b5b68b8435834bc219064d5c60c62c40. ([`bd09695`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd09695399d82071b9981ffb958fd89045b8ce51))

* Updated README.md in preparation for open sourcing ([`9ff143a`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ff143a301a467ba6caea45e3425faecd7ad5400))

* Updated README.md in preparation for open sourcing ([`25ac026`](https://github.com/ocadotechnology/codeforlife-portal/commit/25ac026732c648a62af4d26f1cb07875dacd7f79))

* Added unicode to python files ([`91171ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/91171ba9602170598699fbd4e1bac3d536e07f63))

* Added copyright to python files ([`88c0457`](https://github.com/ocadotechnology/codeforlife-portal/commit/88c045718051de0093f8db80475e592e764aaf52))

* Added license to js ([`cd9e240`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd9e24063b2f163de05f39b8cee4187209ee02cc))

* Added license to css files ([`0fe82d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/0fe82d7f187a586944d083382ebea9dabffd9356))

* Added license ([`95cd35e`](https://github.com/ocadotechnology/codeforlife-portal/commit/95cd35e918c3f70372a541ea15c3db1a979b9622))

* Added license ([`c501c42`](https://github.com/ocadotechnology/codeforlife-portal/commit/c501c42a9ed96b4e7c91445e7299543ef75c3785))

* Developer setup instructions ([`413467c`](https://github.com/ocadotechnology/codeforlife-portal/commit/413467c803d7867c43d7122b4dc51a18e37a32d0))

* Lift rate limit properly ([`ce271be`](https://github.com/ocadotechnology/codeforlife-portal/commit/ce271bea273c00bb8dc4bcc876d6d25597979e0a))

* Merge pull request 27 from ocadotechnology/592_analytics

592 analytics ([`7b5ebf7`](https://github.com/ocadotechnology/codeforlife-portal/commit/7b5ebf7c0269ddbccbe38d53bc9fec4bd62f0474))

* Merge pull request 131 from ocadotechnology/592_analytics

592 analytics ([`2f1fc3c`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f1fc3c2dde600030f1d4ef36f36fca4dcd4cd6b))

* 415 Replacing various references to independent student with consistent naming. ([`4f42fd4`](https://github.com/ocadotechnology/codeforlife-portal/commit/4f42fd4a2bac149c22743d8bbc2f96a15f3294f1))

* Moved login.html to portal/registrations
Changed admin_login rate limit to 100 for testing. ([`4c7f667`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c7f6674bbb67559687233c10ae959f7df3501f3))

* Removed userprofile checkings in error pages. ([`fd69a79`](https://github.com/ocadotechnology/codeforlife-portal/commit/fd69a7966520d6941624adcb9a90fdd5cc5516a0))

* Wrote browser tests for admin pages.
Skipped three tests for now since the PermissionDenied exception cannot be caught and the browser does not redirect to 403 page in test environment. ([`0f44210`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f44210d5345649121a6f0f942a618fc66561aaf))

* Moved admin_login to portal ([`c08ee05`](https://github.com/ocadotechnology/codeforlife-portal/commit/c08ee055e9d2aaff1a7304ad0d24fccf72a86205))

* Moved aggregated_data page to portal ([`f5becd8`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5becd898d86821c4de9fc3ee8083fc147a15241))

* Removed user profile checkings for map and data pages so that portaladmin will be able to view these pages. ([`7e12093`](https://github.com/ocadotechnology/codeforlife-portal/commit/7e120930b1f5b063d70f67b5132b41b083b8e35f))

* Added permissions (view_map_data and view_aggregated_data) to School
Added migration for the above change in School meta
Organised imports ([`05a70e1`](https://github.com/ocadotechnology/codeforlife-portal/commit/05a70e1abd8f26d3439e57c7a92ba31d1bde3296))

* Moved login.html to portal/registrations
Changed admin_login rate limit to 100 for testing. ([`8d41b3c`](https://github.com/ocadotechnology/codeforlife-portal/commit/8d41b3c926e05d0a8dad5fa1e696d95086660e6d))

* Merge remote-tracking branch &39;origin/master&39; ([`c8c13be`](https://github.com/ocadotechnology/codeforlife-portal/commit/c8c13be596b63080d63be53560936b4ce4c8137e))

* 415 Writing tests for password resets for teacher and independent student ([`014623b`](https://github.com/ocadotechnology/codeforlife-portal/commit/014623b2f27dbbf015aa684a0c519cb5e2666ef3))

* Made home page show more useful buttons to logged in users

When a user is logged in, don&39;t show sign up or log in buttons.
When a teacher is logged in, show a download button instead of a log in
button.

Fixes ocadotechnology/ocargo543 ([`ac133eb`](https://github.com/ocadotechnology/codeforlife-portal/commit/ac133eb51000f60df8c6d20f9d33e399458103e4))

* 415 Fixing email reset password for Teacher and Independent Students ([`c37b0c1`](https://github.com/ocadotechnology/codeforlife-portal/commit/c37b0c18aa2239949ac37e40a50beab9b65fbac1))

* teacher reset password test created ([`b6ff8f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6ff8f074bd43afc2e91a790de3eeb44b816a486))

* Moved admin_login to portal ([`c15c4ed`](https://github.com/ocadotechnology/codeforlife-portal/commit/c15c4ed59390e393a3700c3e0add18f43f039a73))

* Update BUILD_AND_DEPLOYMENT.md ([`7c1c6dc`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c1c6dcfa21e9b0cb85676064398fd55c31787ec))

* Update BUILD_AND_DEPLOYMENT.md ([`50d2aa7`](https://github.com/ocadotechnology/codeforlife-portal/commit/50d2aa7238f990c78d6509e6190471fbbd764cb9))

* Update BUILD_AND_DEPLOYMENT.md ([`83bc7d5`](https://github.com/ocadotechnology/codeforlife-portal/commit/83bc7d5e05865382caf7952bb6b000d17ee7bb95))

* Moved aggregated_data page to portal ([`dd31d75`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd31d756da0fa5f427f18cf75bb8b71a1433f8de))

* Update BUILD_AND_DEPLOYMENT.md ([`5bcb19b`](https://github.com/ocadotechnology/codeforlife-portal/commit/5bcb19b17f737a25cf25fd1143a0bd598d4189ed))

* Removed user profile checkings for map and data pages so that portaladmin will be able to view these pages. ([`3514853`](https://github.com/ocadotechnology/codeforlife-portal/commit/3514853f0074b2f9015b1b174f4d64a1d60bbbe7))

* Added permissions (view_map_data and view_aggregated_data) to School
Added migration for the above change in School meta
Organised imports ([`f70e0f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/f70e0f0779dc4191f373d23ce77bf6f8c8b054cf))

* Build and distribution document. ([`6e318d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/6e318d2ba89fb916a76c228da1cc754b1898bc9a))

* Build and distribution document. ([`8f1efc6`](https://github.com/ocadotechnology/codeforlife-portal/commit/8f1efc62f6dcdfe2dd6b2faab95c0fdf87d25316))

* Build and distribution document. ([`137e909`](https://github.com/ocadotechnology/codeforlife-portal/commit/137e909ea7d859cc9a69247c682d9742eba2c243))

* Build and distribution document. ([`d8eec48`](https://github.com/ocadotechnology/codeforlife-portal/commit/d8eec4852ae8e9676cf5ed3d6c8b79398a8fb12e))

* 589 Adding a script that generates commit information for Jenkins. ([`4128bde`](https://github.com/ocadotechnology/codeforlife-portal/commit/4128bde22114d7c8a13b8bc1cc6dc0d383679f84))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`b617d80`](https://github.com/ocadotechnology/codeforlife-portal/commit/b617d807978a3960299af5a4211960cc511c1538))

* fixing race condition errors in portal ([`65b5bef`](https://github.com/ocadotechnology/codeforlife-portal/commit/65b5befdf6146499e55a1038ced73765c726a1f5))

* Revert &34;Revert &34;Fixed tests that had problems with their race conditions - test was running before page was loaded.&34;&34;

This reverts commit 43a2c764020e22ebba600ddb24a2569bce49b2d9. ([`a57deaa`](https://github.com/ocadotechnology/codeforlife-portal/commit/a57deaab5b6e2f34d780082870d1ac694393dcd7))

* Revert &34;Fixed tests that had problems with their race conditions - test was running before page was loaded.&34;

This reverts commit d9867f02220690a26c1b622ff68e151ab2d200ad. ([`43a2c76`](https://github.com/ocadotechnology/codeforlife-portal/commit/43a2c764020e22ebba600ddb24a2569bce49b2d9))

* Fixed tests that had problems with their race conditions - test was running before page was loaded. ([`d9867f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9867f02220690a26c1b622ff68e151ab2d200ad))

* Adding space after &34;Pupil Certificates&34; link label. ([`dfd4989`](https://github.com/ocadotechnology/codeforlife-portal/commit/dfd4989b3ec400ba7862eaefb7b74b72b43d261f))

* Fixing links to Ocado page. ([`d56eb03`](https://github.com/ocadotechnology/codeforlife-portal/commit/d56eb03fb035e31c0ce13170ef3e6d4f84a9c999))

* certificates link on teacher page ([`776241f`](https://github.com/ocadotechnology/codeforlife-portal/commit/776241f1e600a8e0798965dd9d65ccc6d81dc0cd))

* Specified version 1.0.1 for mock since it seems to be causing errors ([`4a6b2df`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a6b2df7b50febad4a35461aa53805082f84fdc6))

* Refactoring scoreboard ([`58b9ba3`](https://github.com/ocadotechnology/codeforlife-portal/commit/58b9ba3f152a44917a184175c9ebef329141d6b6))

* Separating prod and test dependencies in requirements.txt. ([`fead9f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/fead9f0f82202b7a8f20c0316e30d6de376904bd))

* Revert &34;Zipping contents of lib directory to lib.zip to use zipimport.&34;

This reverts commit f000e3983c357c47461b545febe384c1949e3171. ([`6865add`](https://github.com/ocadotechnology/codeforlife-portal/commit/6865add420be619efb9cdf769f0eac1f71ed23c3))

* Comment out cms tag

This reverts commit a282043426c2583e9276808a24d5144886601d4b. ([`96e5486`](https://github.com/ocadotechnology/codeforlife-portal/commit/96e54866b5b68b8435834bc219064d5c60c62c40))

* Disabling CMS-related dependencies.

This reverts commit 43b248ab474b5770d78410b835455f915c2b3916. ([`aa12ad1`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa12ad1b0dceed1813f9b37cf220c0af781ae36e))

* Separating prod and test dependencies in requirements.txt. ([`0fe5a6c`](https://github.com/ocadotechnology/codeforlife-portal/commit/0fe5a6c6cadb90be35bb1fb68f13d1a82e13d3dc))

* Revert &34;Revert &34;Zipping contents of lib directory to lib.zip to use zipimport.&34;&34;

This reverts commit 4ba39cc355b27d30744ee1e6b486732a16f4063f. ([`076c085`](https://github.com/ocadotechnology/codeforlife-portal/commit/076c0857d5312cacdb8644c680fd21787b4394bb))

* Revert &34;Zipping contents of lib directory to lib.zip to use zipimport.&34;

This reverts commit f000e3983c357c47461b545febe384c1949e3171. ([`4ba39cc`](https://github.com/ocadotechnology/codeforlife-portal/commit/4ba39cc355b27d30744ee1e6b486732a16f4063f))

* Zipping contents of lib directory to lib.zip to use zipimport. ([`f000e39`](https://github.com/ocadotechnology/codeforlife-portal/commit/f000e3983c357c47461b545febe384c1949e3171))

* Revert &34;Depending on app-engine provided django and PIL.&34;

This reverts commit d66aa94adbf775d650095c12829c1a915de47c54. ([`5bd0262`](https://github.com/ocadotechnology/codeforlife-portal/commit/5bd0262065bbefa362ca78d257f0f2a7d964e8ee))

* Revert &34;Splitting deploy.sh into deploy.sh and migrate.sh.&34;

This reverts commit ac00bb9b54e9e1b0b047b69499821f6502a46850. ([`3b50e1a`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b50e1a2687d92cbcfaebd404c01c4a27f6c7c23))

* Splitting deploy.sh into deploy.sh and migrate.sh. ([`ac00bb9`](https://github.com/ocadotechnology/codeforlife-portal/commit/ac00bb9b54e9e1b0b047b69499821f6502a46850))

* Revert &34;Comment out cms tag&34;

This reverts commit 67cc65b94337f3bff36c809d9e3d43bdcda0b4e5. ([`a282043`](https://github.com/ocadotechnology/codeforlife-portal/commit/a282043426c2583e9276808a24d5144886601d4b))

* Revert &34;Commented out middleware in settings.py, urls.py, settings.py&34;

This reverts commit 69001248953fcf03482c75b26c0d545bef7c26eb. ([`43b248a`](https://github.com/ocadotechnology/codeforlife-portal/commit/43b248ab474b5770d78410b835455f915c2b3916))

* Commented out middleware in settings.py, urls.py, settings.py ([`6900124`](https://github.com/ocadotechnology/codeforlife-portal/commit/69001248953fcf03482c75b26c0d545bef7c26eb))

* Comment out cms tag ([`67cc65b`](https://github.com/ocadotechnology/codeforlife-portal/commit/67cc65b94337f3bff36c809d9e3d43bdcda0b4e5))

* Depending on app-engine provided django and PIL. ([`d66aa94`](https://github.com/ocadotechnology/codeforlife-portal/commit/d66aa94adbf775d650095c12829c1a915de47c54))

* Commenting out the dependencies we&39;re not using yet. ([`b4fdc7f`](https://github.com/ocadotechnology/codeforlife-portal/commit/b4fdc7f1887178452b8edf44ae7ff10baa045317))

* Commenting out djangocms_text_ckeditor from migrations. ([`54a05a8`](https://github.com/ocadotechnology/codeforlife-portal/commit/54a05a8814f47bb1fea261b86576d1cf003771bc))

* fixed template settings ([`77af028`](https://github.com/ocadotechnology/codeforlife-portal/commit/77af028c52cbc95656bd9f5066c4dc1168e25e95))

* merged ([`2e80fb5`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e80fb504b554c33b4c5896ffd4b73f7d7d87b85))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`6fcd0c1`](https://github.com/ocadotechnology/codeforlife-portal/commit/6fcd0c123d74d2f1ded4ab3094a27cc5237f4525))

* merged requirements files, fixed settings ([`89eeeb4`](https://github.com/ocadotechnology/codeforlife-portal/commit/89eeeb48daa54fd893faaf5e431d8470042cfa66))

* 574 Making deploy.sh executable again. ([`ac7aabf`](https://github.com/ocadotechnology/codeforlife-portal/commit/ac7aabf9959f8e4dc4e45167f9feeef1549ba34e))

* 574 Removing redundant operations from run-tests.sh ([`a5c8644`](https://github.com/ocadotechnology/codeforlife-portal/commit/a5c86442040be7bd47e1fc503e7eff043a8b4bae))

* 574 Restoring deploy.sh. ([`db62281`](https://github.com/ocadotechnology/codeforlife-portal/commit/db62281f26ef134b75a2a7713a88fec6f407bdc2))

* 574 Restoring deploy.sh. ([`b8bc197`](https://github.com/ocadotechnology/codeforlife-portal/commit/b8bc197159b9052dc338e9992d4542b0e255a5f9))

* 574 Created creating-distrubution.sh (moving logic from build to repo). Moved package creation related logic there from Dockerfile. ([`773af35`](https://github.com/ocadotechnology/codeforlife-portal/commit/773af357019d48e4e762b96267dbd2a107d5debc))

* Merge remote-tracking branch &39;origin/master&39; ([`0db38c6`](https://github.com/ocadotechnology/codeforlife-portal/commit/0db38c649f665b3fd346d5145c3a51c14f2d8e80))

* 574 Removing redundant files and related settings. ([`655eada`](https://github.com/ocadotechnology/codeforlife-portal/commit/655eadae9bd2a6f0091a23a1a3da603a44f74497))

* 574 Removing redundant files. ([`73df7ae`](https://github.com/ocadotechnology/codeforlife-portal/commit/73df7ae64d7e0d6f5142a054354d1394a06d03dc))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-deploy ([`34c91e3`](https://github.com/ocadotechnology/codeforlife-portal/commit/34c91e3459ccc0ed90291830952e4e080ddce23d))

* Remove authentication in api ([`13dd47a`](https://github.com/ocadotechnology/codeforlife-portal/commit/13dd47a895aef10684abb69381a359fe69a161b4))

* 574 Setting prod module name to default. ([`5df42d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/5df42d9f23a6b4de9bccb9b1ef92bbb882a2425c))

* 574 Adding module name to app-prod.yaml (required if the file is not named app.yaml). ([`e69812a`](https://github.com/ocadotechnology/codeforlife-portal/commit/e69812a16896b606409f86ab30edbebb92556acd))

* 574 Adding module name to app-prod.yaml (required if the file is not named app.yaml). ([`f444db9`](https://github.com/ocadotechnology/codeforlife-portal/commit/f444db98c720f6f98ccc86a49499b3a5a6dd994b))

* Revert &34;574 Testing prod settings in staging.&34;

This reverts commit be9d0a58eea0c9eade91d72f1000b0a08b493fda. ([`32a6730`](https://github.com/ocadotechnology/codeforlife-portal/commit/32a67300caa86b7984c635148eba48e5a9087623))

* 574 Testing prod settings in staging. ([`be9d0a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/be9d0a58eea0c9eade91d72f1000b0a08b493fda))

* 574 Bringing the files specific to staging and production branches into master. Adding settings specific to prod to settings.py. ([`e47e86b`](https://github.com/ocadotechnology/codeforlife-portal/commit/e47e86b7ddb5b53174063c2d4fd47a841ee2ac59))

* Merge remote-tracking branch &39;origin/master&39; ([`cd5bef7`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd5bef7fbc5eae28d6a236540745491b60381e03))

* Switching test database to file (default is memory) in order to be able to use --keepdb switch (does not rebuild database with each test run) to make tests run faster. ([`0f7e00e`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f7e00eae0f5b72330c682565494a32f58ef3727))

* Switching test database to file (default is memory) in order to be able to use --keepdb switch (does not rebuild database with each test run) to make tests run faster. ([`bf61748`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf61748ce7afe8b4d9f61801f2ebc511d167f52e))

* Added hashing to students passwords ([`f32b6b3`](https://github.com/ocadotechnology/codeforlife-portal/commit/f32b6b3d4556cf5ed62fa1071cdda6650d5a0ce1))

* Hashed password for Albert ([`855468b`](https://github.com/ocadotechnology/codeforlife-portal/commit/855468b0d5ce969e7a40035688f2a05a2108a04b))

* Changed the dependency in 0042 to using squashed_migrations ([`99eefc7`](https://github.com/ocadotechnology/codeforlife-portal/commit/99eefc74bb7f56e5f570d781e2f5c7a9e5f0cdb1))

* Merge remote-tracking branch &39;origin/master&39; ([`b096641`](https://github.com/ocadotechnology/codeforlife-portal/commit/b0966419fc846a1b67a600704fe87a0bba7d55a4))

* 569 Passing test for scoreboard with single student in a class. Added pyHamcrest dependency (fluent assertions, nice assertion fail messages). ([`42d36b9`](https://github.com/ocadotechnology/codeforlife-portal/commit/42d36b9b1b5d2e5cf53e38ae8c8aa38ceee04c4a))

* Merge pull request 128 from ocadotechnology/squash_migrations_portal

Squashed migrations 0001 to 0041 ([`a8ee8b8`](https://github.com/ocadotechnology/codeforlife-portal/commit/a8ee8b886af3def3eb66ec11442be928107d6091))

* Squashed migrations 0001 to 0041 ([`0de1cb7`](https://github.com/ocadotechnology/codeforlife-portal/commit/0de1cb754ec4b03ee89038b1d7e181a67125d0d6))

* 568 Cleaning up portal tests. Getting rid of code that appends to sys.path. ([`e73116d`](https://github.com/ocadotechnology/codeforlife-portal/commit/e73116db4a920839e9f845a7d43975d1f03118fb))

* Adding collectstatic to run-tests. ([`6045fa3`](https://github.com/ocadotechnology/codeforlife-portal/commit/6045fa36ec91611fd9aceeeb6b4a1a1e298648df))

* Adjusting styling. ([`798ec80`](https://github.com/ocadotechnology/codeforlife-portal/commit/798ec80d0c2ae4c9150e10a2d74ac6bd721d30b1))

* Removing command from Dockerfile
Removing unused test Dockerfile. ([`e4aaca7`](https://github.com/ocadotechnology/codeforlife-portal/commit/e4aaca7199b6e82332e345d3e409b856100981f9))

* Adding prints to tests to indicate Selenium vs local Chrome ([`1d19a84`](https://github.com/ocadotechnology/codeforlife-portal/commit/1d19a84a7e27f71aeb67ece10b4c9f6813fab610))

* Adding more overrides to BaseTest. ([`4119043`](https://github.com/ocadotechnology/codeforlife-portal/commit/411904385e50a375d651cbac87134833dd36a4b1))

* Adding more overrides to BaseTest. ([`b6eb162`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6eb1624b31791d771ddff5bc1c2edf647482ac8))

* 556 TestTeacherStudent passing. Refactoring. ([`ff90013`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff9001341056162cdac74078415a39e18ac06e5d))

* 556 TestTeacher passing. Refactoring. ([`a9d136a`](https://github.com/ocadotechnology/codeforlife-portal/commit/a9d136a11418057c45349e6dcd6e7ff6b28bcaf4))

* 556 TestSchoolStudent passing. Refactoring. ([`9275ff4`](https://github.com/ocadotechnology/codeforlife-portal/commit/9275ff48d6c5a73c6ada747a7957a5a64fb24fd3))

* 556 Refactoring navigation tests. ([`2e342ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e342ba3b6e0e36b18c2e1fda5bf7b21130daac1))

* 556 Navigation tests passing. Tweaking and fixing the play page. ([`c2a68ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/c2a68bab63000173d6010bc13ef104306a2bc2d0))

* 556 Passing of chromedriver&39;s path in CHROMEDRIVER_PATH environment variable added to selenium tests. ([`727e327`](https://github.com/ocadotechnology/codeforlife-portal/commit/727e3279a2752e735a17a59cca3ee18f08991eac))

* 556 Fixing school / organisation-related tests. ([`6691546`](https://github.com/ocadotechnology/codeforlife-portal/commit/66915461eb9fcc6576031b1fe277748e17bf82ad))

* Fix for locating chromedriver file to run selenium tests locally. ([`478df00`](https://github.com/ocadotechnology/codeforlife-portal/commit/478df00ae8221ab72cff920c7329c021ca2a0fcc))

* Refactoring. Putting view code for teacher screens into separate files. ([`f4561ae`](https://github.com/ocadotechnology/codeforlife-portal/commit/f4561ae4e5253ae8f297c04601c7ce685fc28b00))

* Removed invisble white space ([`aadc552`](https://github.com/ocadotechnology/codeforlife-portal/commit/aadc552bb0b4343fc3a082f1d58d5124033859f8))

* Updating django to 1.8.2. Updating other libraries to latest versions. ([`0f7f36d`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f7f36d17b667d9c01b781b89ac0817db8b4a424))

* Updating django to 1.8.2. Updating other libraries to latest versions. ([`7768b7d`](https://github.com/ocadotechnology/codeforlife-portal/commit/7768b7df09da3ff4c8382588b1835dfb97284c3b))

* Parameterizing run-tests.sh. ([`afb5851`](https://github.com/ocadotechnology/codeforlife-portal/commit/afb5851f9b980f45448050b060e03bf9461ddf44))

* Changed tests that are run ([`8180c18`](https://github.com/ocadotechnology/codeforlife-portal/commit/8180c18d11610b111fc308a4328bc368e28fad55))

* Changed pip freeze to ls because not relevant anymore ([`1839b0c`](https://github.com/ocadotechnology/codeforlife-portal/commit/1839b0c68424e9c3d347ffa4c76804a6f4d35c89))

* Making run-tests.sh executable ([`723d9a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/723d9a5d3496d7ce88328b4aa81a6bfdc785a1cb))

* Added PIL and *info files to skip files in dev.yaml ([`7c45a47`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c45a47eef29d5c056493d9cd282617ff36ce539))

* Changed requirements submodule folder ([`619f52a`](https://github.com/ocadotechnology/codeforlife-portal/commit/619f52a8407fa7bce4415aac3781fb2b22c4d07e))

* Changed submodule folder for portal ([`06c427b`](https://github.com/ocadotechnology/codeforlife-portal/commit/06c427ba52de8792c67a7e1228bc3219b4d651db))

* Attempt at using lib folder and submodules folder instead of copying ([`c467d22`](https://github.com/ocadotechnology/codeforlife-portal/commit/c467d22e00d3aead5ffac02010bfa086462f3720))

* Added site packages trick to main.py for app engine ([`8ba3c4e`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ba3c4ecf240d84289a5167ad9a0cd0b7f51afdb))

* Added ability to use locally install dependencies ([`a4026fa`](https://github.com/ocadotechnology/codeforlife-portal/commit/a4026fa3be82abc6fe1c82203fab75666b719cd4))

* 538 Visual tweaks to scoreboard screen. ([`cf4ce1d`](https://github.com/ocadotechnology/codeforlife-portal/commit/cf4ce1d374e5aca1c4516df245905b7c16cc49de))

* Rolling back security change because it doesn&39;t work on app engine ([`9e9d964`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e9d964abbf82a5567adda2b2b9bf6005d9f0a5f))

* Changed code to be a volume of the docker image and added some more packages to get rid of the insecure platform errors ([`f16d321`](https://github.com/ocadotechnology/codeforlife-portal/commit/f16d321a8627701385f58136cdef1cd1fd432ca7))

* Remove exact directories from build.sh ([`f03d332`](https://github.com/ocadotechnology/codeforlife-portal/commit/f03d3328b47140c1d1e0abd3018432dbbb954c14))

* Added working folder to docker file ([`de69981`](https://github.com/ocadotechnology/codeforlife-portal/commit/de69981d4baa913fe76aeb1ad49f7a2a483b3c35))

* Docker deploy directory updated for the tests. ([`aa8f4c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa8f4c74670337b043ca441a1018b254c5f093ec))

* Docker file and script for running the tests. ([`0f4c250`](https://github.com/ocadotechnology/codeforlife-portal/commit/0f4c250c52518fd82a9adfb5d61bad6a80f34c79))

* Revert &34;Break the build.&34;

This reverts commit 85950fc8db37128f90b3434b34b189876d252909. ([`aba2981`](https://github.com/ocadotechnology/codeforlife-portal/commit/aba2981a0b9877e57b59c508f61565c85a1d7763))

* Break the build. ([`85950fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/85950fc8db37128f90b3434b34b189876d252909))

* Commenting out toolbar. ([`5c5bdfe`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c5bdfe76f19a9c77bf6d1db82dc84e634dbbdf0))

* Making the tests pass. ([`cd5e4d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd5e4d7533566f92b7f92cf978a87aa9695d3514))

* 552 Added import for Http404 ([`440e862`](https://github.com/ocadotechnology/codeforlife-portal/commit/440e862a4380cf3b4d22c23653c99a010eb50d4b))

* Disabling pre-push hooks for now. ([`86ed83a`](https://github.com/ocadotechnology/codeforlife-portal/commit/86ed83ad79e4e93b1509cf23dee1bb50e096b819))

* The app should now load without the panda ([`addc772`](https://github.com/ocadotechnology/codeforlife-portal/commit/addc772a15b9a1951ea500ff335d954b6277ab41))

* added requirements and settings for cms ([`91e3732`](https://github.com/ocadotechnology/codeforlife-portal/commit/91e3732fe1cbff0eddd772751ded59950304ca0f))

* merged ([`8f18699`](https://github.com/ocadotechnology/codeforlife-portal/commit/8f1869915e386502c3a3711923a07986c9cb800b))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`10fd2cc`](https://github.com/ocadotechnology/codeforlife-portal/commit/10fd2cc919df1be13db6a87ffb0bc58ed5e609e0))

* re-added 2fa count ([`7c9373b`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c9373bfa0f8f7ec680788a58c5f42869f2ad0f7))

* added support for cms ([`456b499`](https://github.com/ocadotechnology/codeforlife-portal/commit/456b499a2e3ca0a00027a9d9e2add5246676579b))

* added template support for cms ([`ccb1d17`](https://github.com/ocadotechnology/codeforlife-portal/commit/ccb1d1720d05c91116ba77f8b3f0a6bd39c1b5fb))

* Collect static files form django_countries ([`67e1d1f`](https://github.com/ocadotechnology/codeforlife-portal/commit/67e1d1f48b4392880056ef599675ec4613fc1186))

* Made Ocado.com in text an actual link ([`5f3d15e`](https://github.com/ocadotechnology/codeforlife-portal/commit/5f3d15ec62f70dfcdac5f987f6ce72172fda5107))

* Added social auth to install applications ([`0826e47`](https://github.com/ocadotechnology/codeforlife-portal/commit/0826e477e2e4da1f4573a99ea25c9db5565b5e6d))

* Fixed missing version change ([`2082631`](https://github.com/ocadotechnology/codeforlife-portal/commit/2082631728c66a9a63857e5e86c5c349745cd353))

* Upgraded version of pandasso ([`1387429`](https://github.com/ocadotechnology/codeforlife-portal/commit/138742966338a4c0449c49ce3ee705a35061e731))

* Change way pip is installed and change url for appengine sdk ([`6a13990`](https://github.com/ocadotechnology/codeforlife-portal/commit/6a1399077fc76d22f3f5355b1ead2314b07920d9))

* Removed bold from css table first child ([`26a3224`](https://github.com/ocadotechnology/codeforlife-portal/commit/26a32241a55dbce9216e26c37794419ef006ab60))

* 508 - Updated the unpacking of returned values when calling lookup_coord() to include country ([`9c1e65f`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c1e65f91fd83f83b36fa44ca42f2981ffe4bb4f))

* 508 - Returning after errors are caught instead of individual except clauses ([`1c4518f`](https://github.com/ocadotechnology/codeforlife-portal/commit/1c4518f4e1ce025b7a7fbf04e2784d45bcdf5291))

* 508 - Errors are now caught in one try/except clause ([`7e35d0f`](https://github.com/ocadotechnology/codeforlife-portal/commit/7e35d0fa053fe3c1bf2f7b7e9fb65f103cf8cefd))

* 508 - Refactored location.py ([`76061a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/76061a365097b731e6d499e4f3612e5fcf46e478))

* 508 - Refactored test_location.py ([`6338cf9`](https://github.com/ocadotechnology/codeforlife-portal/commit/6338cf992f5a872c176c550da049658d69329f6f))

* 508 - Added requests and responses to requirement.txt ([`6898040`](https://github.com/ocadotechnology/codeforlife-portal/commit/68980405374f8280a8a4f2024ba047c90b1f6a5d))

* 508 - Wrote tests for testing lookup_coord and lookup_country, jsons are stored in data/ ([`dce4bb9`](https://github.com/ocadotechnology/codeforlife-portal/commit/dce4bb95c14c80050e70b0e4f0923089a80ec05f))

* 508 - Refactored location.py and used mock in test_migration_country
- Removed extract_country() from location.py
- Added default values in lookup_country()
- Added limit to zoom levels on GoogleMap on map.html
- Used mock in test_migration_country for mocking lookup_country() in order not to use actual google api in testnig ([`25d862b`](https://github.com/ocadotechnology/codeforlife-portal/commit/25d862b73542dd3b4d26f97ea0b35188f322a185))

* 508 - Password field will now only appear on the Organisationform when creating a School ([`2bc74dc`](https://github.com/ocadotechnology/codeforlife-portal/commit/2bc74dcc43fcf954f413b6e3f1cf1ce94149af50))

* 508 - Added HTTPError handling in location.py
- Removed OrganisationEditForm and OrganisationCreateForm
- Rearranged organisation_manage so order of the blocks is same as organisation_create
- Removed unused imports ([`fbe9e4a`](https://github.com/ocadotechnology/codeforlife-portal/commit/fbe9e4af04c3ad7e9a429441d7003233fff84353))

* 508 - Added OrganisationForm which is the combination of OrganisationEditForm and OrganisationCreateForm ([`226551f`](https://github.com/ocadotechnology/codeforlife-portal/commit/226551f76f9bfe20ca98d5c19eb2a4bef2a8a71c))

* 508 - missed out one variable when replacing data.get() ([`6b6c224`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b6c224a1dd8c57ffece0dd9a8aa7633bc8f6b3f))

* 508 - Used variables to store value obtained from JSON instead of calling get multiple times ([`9f3ebd9`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f3ebd9a2b2bd8a070811fcccb1f84470f5bdd3f))

* 508 - changed from using % to str() ([`28c03aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/28c03aa13b4212d149bf6103324a9d8a413bfbd9))

* 508 - changed limit for API call ([`2507081`](https://github.com/ocadotechnology/codeforlife-portal/commit/2507081e0653079bde238601837f5da97de5e791))

* 508 - Added testcase to test the migration for creating country and populating it
- base_test_migration sets up the testing db
- test_migration_country creates data, perform migration and check results
- import email is commented out on teacher.py as it is giving error that stops the test from running
- generate_details() in utils/teacher.py and utils/organisation.py are changed to take in **kwargs for customised test objects ([`d2a6cd2`](https://github.com/ocadotechnology/codeforlife-portal/commit/d2a6cd29f0bf03865227614426d523dd880f764d))

* 508 - added sleep to populate_country to limit usage under 5 requests/sec ([`bc9172c`](https://github.com/ocadotechnology/codeforlife-portal/commit/bc9172c96a1f6861d0bacdf0800bf145c7602492))

* 508 - Removed print statements ([`9c92dc8`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c92dc839a71fff2f7d616b0b07e7cfef8ae6138))

* 508 - Created migration for chaning country to using CountryField and populating it, also added drop amination to markers ([`28ee467`](https://github.com/ocadotechnology/codeforlife-portal/commit/28ee46714d21f22ea45ed6b899f3f0b3786d640b))

* 508 - Renamed lookup_postcode to lookup_coord
- added a condition check in map.html to make sure markers are only created if coordinates exist ([`0caa49b`](https://github.com/ocadotechnology/codeforlife-portal/commit/0caa49b5f5c5257a31120d2a2ffd26802981c0fb))

* 508 - Added functions for converting sortcode to country, will be used for determining countries of existing user ([`0fad964`](https://github.com/ocadotechnology/codeforlife-portal/commit/0fad964250ccca9859f4b364a8aaac513733ee31))

* 508 - Added lookup_postcode() to form/organisation_create ([`59037a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/59037a18a1bae789f063eca62e9d23902cb0edd8))

* 508 - Lookup coordinates using postcode and country
- country is now passed into lookup_postcode() to filter results
- town and being in UK are not conditions for looking up postcode
- map.html will pin locations of all schools instead of schools with town name
- lookup_postcode() is now called in view/organisation.py instead of forms/organisation.py ([`e193859`](https://github.com/ocadotechnology/codeforlife-portal/commit/e193859ee211275fd162f0a4a55e5a956d743b8b))

* 508 - Added flags and fixed a typo
- Flags will be displayed next to the label when a country is selected
- selector is set to wide so as to keep error message in a new line
- Typo in organisaion_manage.html ([`52a0cbd`](https://github.com/ocadotechnology/codeforlife-portal/commit/52a0cbdb8c0b2e05cf9e77178ef6a49821308d62))

* 508 - Using CountryField and CountrySelector
- Changed from CharField to CountryField for country in models.py
- Changed OrganisationEditForm to using ModelForm for now, depends on whether country is optional ([`b8e2a8b`](https://github.com/ocadotechnology/codeforlife-portal/commit/b8e2a8b9c21283b53a403fa32d2c54b9efe9dbcc))

* 508 - setup django_countries&39; ([`b3e89cf`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3e89cfae0d80c1cbacc938aa9eae1e9eae050dd))

* 508 - Added textField to organisation_create form ([`7909a6a`](https://github.com/ocadotechnology/codeforlife-portal/commit/7909a6a2d6d203462def6d3e50096eec7999832c))

* 508 - EditForm will save country to database ([`089f2eb`](https://github.com/ocadotechnology/codeforlife-portal/commit/089f2eb968ee52c73daa6005f624846afcd3671f))

* 508 - Added text field for country in the OrganisationEditForm ([`ea219e4`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea219e4ad1738a767f4cb0871850e99464d37beb))

* 508 - Added CharField country to School in portal/models.py ([`ca385dd`](https://github.com/ocadotechnology/codeforlife-portal/commit/ca385ddbef4eab23cc4025c0395a0cd34d7c76a2))

* Merge remote-tracking branch &39;origin/master&39; ([`fb9075b`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb9075bcc7076a4ad438606c41bef29ccd35a898))

* Fixed 2FA to not do JS redirect nonsense and to not be a beta version ([`f6cf0ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/f6cf0fffcf9abb859b000737a65706d91d800228))

* Passing panda environment variables into app engine ([`b6d5aa2`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6d5aa2e766862d0fdd277dd84ed55ef8e1f8796))

* Made app engine panda redirects secure ([`0b031c8`](https://github.com/ocadotechnology/codeforlife-portal/commit/0b031c857fe7fc9e0f2bb4dee3e2974cad69a71a))

* Added panda test url ([`635a968`](https://github.com/ocadotechnology/codeforlife-portal/commit/635a96872ddf51946a6b6e3e20251539ac1f1f52))

* Added panda environment variables for app engine ([`807305c`](https://github.com/ocadotechnology/codeforlife-portal/commit/807305c58d6d5719c2da128df1921d9f2cbe0da4))

* Attempt to fix panda url ([`94fe3e8`](https://github.com/ocadotechnology/codeforlife-portal/commit/94fe3e8509d3efe9eb5c7ba6104240560b7fd443))

* Only adding panda urls if panda installed ([`162e626`](https://github.com/ocadotechnology/codeforlife-portal/commit/162e6265db385ceb2c567ef280ee04fed539b9f5))

* Only adding panda to installed apps if on app engine ([`ec12349`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec12349dbc245aa9743fadd7512e444e7a2bbf2a))

* Added sass installation with correct version ([`4742b94`](https://github.com/ocadotechnology/codeforlife-portal/commit/4742b9452e99fcddeffe8efb09a3b1d54b27e602))

* Added reportlab to setup.py ([`71af4d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/71af4d0429bf65963960297e4db89fe6e089a364))

* Removed manual install of reportlab ([`8bd6c88`](https://github.com/ocadotechnology/codeforlife-portal/commit/8bd6c88b6657cd420dd0959208f9d9a6489ab6f1))

* Fixed version of reportlab to 3.1.44 ([`f79d008`](https://github.com/ocadotechnology/codeforlife-portal/commit/f79d0087caf873702815321dae93c309b86d65ef))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`b66aafc`](https://github.com/ocadotechnology/codeforlife-portal/commit/b66aafc7d13144cfce638b086b18f95a4fd1952c))

* Specify specific version in 3.1.47 ([`4d84477`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d844770ed77133ff3567e33836e9252937f4d35))

* Added pandasso to the autoconfig ([`c817529`](https://github.com/ocadotechnology/codeforlife-portal/commit/c817529d424d1f9d55abf51e571fe25eaaaac72c))

* Added local settings for panda ([`af11937`](https://github.com/ocadotechnology/codeforlife-portal/commit/af1193716154b0f3ecd4717ad371c1942f9c18fb))

* Made user type default to teacher in registration.py ([`f6b3263`](https://github.com/ocadotechnology/codeforlife-portal/commit/f6b3263ecffb8ea88b95c57991c520a1378f1b24))

* Removed duplicate PASSWORD_RESET_EMAIL from registration.py ([`b2a8ea8`](https://github.com/ocadotechnology/codeforlife-portal/commit/b2a8ea8855cf1c251150277932b1f785635bda6f))

* Added hits per level per day table ([`3fa935b`](https://github.com/ocadotechnology/codeforlife-portal/commit/3fa935b163522ba50c744dc8ae5ed29973a25131))

* Download django-pandasso if on GCE ([`5c269bc`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c269bcd0bc4c79d030e88a025a401fcf6dcc88f))

* Added jq to docker environment requirements ([`896653e`](https://github.com/ocadotechnology/codeforlife-portal/commit/896653edb4b32a818862fa4ba576b8feffb4e076))

* Improved fuzzy search for organisations

The initial search now uses QuerySets and filters, meaning only one query
is actually executed. Also, it now uses icontains instead of iregex, since
it was only doing a contains check anyway. Finally, if a school with no
admin exists, this school is not returned (as no email can be sent to its
admin anyway). ([`fccadb6`](https://github.com/ocadotechnology/codeforlife-portal/commit/fccadb651c1894b271329589ef10596f928344e1))

* Made ratelimit encode strings correctly.

Fixes 521. ([`472b858`](https://github.com/ocadotechnology/codeforlife-portal/commit/472b8585d6a1b8472bea04cb51ee96334b51c243))

* Adding a page ID customisable by template ([`11dadc8`](https://github.com/ocadotechnology/codeforlife-portal/commit/11dadc882240a6c0e77d60c1b1644513c5adb9ff))

* Fixed some URLs to have trailing slashes

Part of fixes for ocadotechnology/ocargo515 ([`ee2a57c`](https://github.com/ocadotechnology/codeforlife-portal/commit/ee2a57c1e1b8e6bb3fbcd88060d1ffd5e0139e81))

* Merge https://github.com/paulheideman/codeforlife-portal ([`292fe92`](https://github.com/ocadotechnology/codeforlife-portal/commit/292fe92f3c29ef2ee47a2dad64cfb5738247d435))

* Started fixing selenium tests ([`0ab61b5`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ab61b58fdb0038f9063cec3293f0c625186332b))

* Moved some chmods out of Dockerfile ([`ad9652e`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad9652e5c83d4aa81a2f09c1b059285e83b27465))

* Moved cd ([`3227098`](https://github.com/ocadotechnology/codeforlife-portal/commit/32270980c2228a64ec1197a3bbaceeda1135f84f))

* Made build and deploy scripts runnable ([`0becd2a`](https://github.com/ocadotechnology/codeforlife-portal/commit/0becd2a2b2ee98a276929ddcb9c96247ffc7584f))

* Moved building part of deploy.sh into separate file ([`9e7c24e`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e7c24eff38d6fe91dd0060ea9ba69765b02a9c2))

* Made deploy script exit if migrations fail ([`bd1a50c`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd1a50cfd4208e49edae6a517221f4ae72c72e9d))

* Upgraded app engine version ([`0fc838e`](https://github.com/ocadotechnology/codeforlife-portal/commit/0fc838e9b140caee4abc0cb98a478d267d85fa88))

* Added missing reports links ([`9ae4efd`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ae4efd931c44ee49d70ec22a7c343721011f7a7))

* Added reports module to settings ([`d279aba`](https://github.com/ocadotechnology/codeforlife-portal/commit/d279aba3708f712d58e9fa2a8908d0cbbf414525))

* Added report module and basic event capturing ([`c26c726`](https://github.com/ocadotechnology/codeforlife-portal/commit/c26c726ae65148df4ed81385158a7a0f90ecfa8b))

* 449 Removing label hack from stylesheet ([`dcdc7c3`](https://github.com/ocadotechnology/codeforlife-portal/commit/dcdc7c3b6fbed4a4c04977e71a2328a6cfe94918))

* 449 Fixing labels on &34;move student&34; form ([`ba73a63`](https://github.com/ocadotechnology/codeforlife-portal/commit/ba73a63a646e84ed353f49b3ef3d221a889da6f5))

* 449 Fixing labels on &34;add external student&34; form ([`3b06f12`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b06f12a0b7eb1f2f11cad327e89bd79b1ebb2ff))

* 449 Fixing labels on &34;edit a class&34; form ([`aa30a11`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa30a1184795eb62014f31bf423578a1d8ba0c4b))

* 449 Fixing labels on &34;add a class&34; form, requiring presentation rejig ([`70fc57a`](https://github.com/ocadotechnology/codeforlife-portal/commit/70fc57a007473de30ca49dcbd61821367d4f29f5))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`d5baf66`](https://github.com/ocadotechnology/codeforlife-portal/commit/d5baf66e9cbc7e4e8fc5acb65b069b7fb19f56b1))

* Updating GA tag to the recommended format ([`221ac17`](https://github.com/ocadotechnology/codeforlife-portal/commit/221ac17098120526a56fd431f8bf8977dfa6fb9b))

* Python Launch updates ([`f95be3e`](https://github.com/ocadotechnology/codeforlife-portal/commit/f95be3e33dbfaea60aaafd153f257b4bfc1aa2f9))

* 449 Fixing labels on &34;solo student reset password&34; form, removing duplicate class, updating test which is presumed to run against changed code. ([`19b7e8c`](https://github.com/ocadotechnology/codeforlife-portal/commit/19b7e8c58ced94752db7a33ffa87145ecc85a1cc))

* 449 Fixing labels on &34;solo student join class&34; form ([`7ca9c4c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ca9c4cf283b67cf71b2654f8188eb32db0d2d10))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`21ea6e0`](https://github.com/ocadotechnology/codeforlife-portal/commit/21ea6e05759ff323f0c6adea4edd9f11d827c26b))

* 449 Fixing labels on &34;solo student login&34; form ([`8a5f950`](https://github.com/ocadotechnology/codeforlife-portal/commit/8a5f950257b9d79e8962e9866fc112e537f1c16c))

* 449 Fixing labels on &34;solo student login&34; form ([`b630d04`](https://github.com/ocadotechnology/codeforlife-portal/commit/b630d0494a20f553315647a81834a909e8a52991))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`362870d`](https://github.com/ocadotechnology/codeforlife-portal/commit/362870d15adbeddaf073a4c0aaa3af0557b7d18b))

* Added joe and james to about page ([`0dd7240`](https://github.com/ocadotechnology/codeforlife-portal/commit/0dd72407642dd82e608ecf9853682e2854da232e))

* 449 Fixing labels on &34;edit organisation&34; form ([`33c5fdb`](https://github.com/ocadotechnology/codeforlife-portal/commit/33c5fdbea1286be16c8f8dec5b90cad7cc573f85))

* 449 fixing labels on another form ([`e5cb052`](https://github.com/ocadotechnology/codeforlife-portal/commit/e5cb052e7adb8452b08139d523becf28520c6afb))

* fixed beta access ([`eb93519`](https://github.com/ocadotechnology/codeforlife-portal/commit/eb93519dc367c5e43cb48c19ea7c47486e3d4538))

* Store sessions in the cache, not the database.

While this risks losing sessions, the session timeout is currently quite
short anyway, and writing sessions to the database is very slow (see 472). ([`a960834`](https://github.com/ocadotechnology/codeforlife-portal/commit/a9608343286891a88a65f4355f40f12dba01d46b))

* merging in changes ([`91b23de`](https://github.com/ocadotechnology/codeforlife-portal/commit/91b23de0d23fed936802180c4b94b192bca19b11))

* 449: fixing the password reset form ([`f810f9f`](https://github.com/ocadotechnology/codeforlife-portal/commit/f810f9fca6ce1f072f9899d0393160836470e2ed))

* added install-win.bat and run.bat, which can (sort of) be used in place of local-setup.sh for windows ([`1760f1b`](https://github.com/ocadotechnology/codeforlife-portal/commit/1760f1bc5c6cee2e8cb22e5f40a25d89cc0971b8))

* added windows-requirements.txt which is same as requirements.txt but without dodgy reportlab dependency - need to figure out how this should be installed - it is in pypi but possibly not the right version? ([`9211958`](https://github.com/ocadotechnology/codeforlife-portal/commit/92119583aa4056c1c47e45b2f47e379801a306e8))

* Minor captcha limit changes on student login ([`4b14b89`](https://github.com/ocadotechnology/codeforlife-portal/commit/4b14b899ae7a6a73ebef0dd917becfd5770d50c0))

* Added appstats config to dev.yaml ([`0bc3fa9`](https://github.com/ocadotechnology/codeforlife-portal/commit/0bc3fa93ccd3911e109f809a51c54d3b15ae353a))

* Explicitly added appstats URL pattern to app.yaml so requests do not fall through to Django ([`20382ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/20382ffbd0b37f8a53dee7760b4d4ed74bb12a88))

* Enabled appstats when running on App Engine ([`7cc8981`](https://github.com/ocadotechnology/codeforlife-portal/commit/7cc898124d61814e3868f2090f08d0fea09ed0ca))

* Disabled the debug toolbar again, as it breaks dev ([`ba5600a`](https://github.com/ocadotechnology/codeforlife-portal/commit/ba5600a967a85e605ad55a2308dcd1abda14ffb6))

* Enabled the debug toolbar ([`f6ef367`](https://github.com/ocadotechnology/codeforlife-portal/commit/f6ef367254aba689487ee92e5bc341ec60cc8288))

* Updated links between videos and packs ([`0223486`](https://github.com/ocadotechnology/codeforlife-portal/commit/022348617c64957701de4046d51cc006f65b165b))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`11a1a0a`](https://github.com/ocadotechnology/codeforlife-portal/commit/11a1a0aaa14c6b66acf79f166d84b8623b577e3d))

* Removed 0 and l from student password generator ([`0e487bd`](https://github.com/ocadotechnology/codeforlife-portal/commit/0e487bdcf932dc116aec5c9e85144032281af136))

* Added more padding at the bottom of the news ticker ([`912dc09`](https://github.com/ocadotechnology/codeforlife-portal/commit/912dc09d89396c373fe9add4cdef1a2c08e1c04c))

* Added padding to the right of the news ticker ([`908899c`](https://github.com/ocadotechnology/codeforlife-portal/commit/908899c724dcefb3387fc8afe86298d1123181e4))

* Added some new news ([`7dd9e9c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7dd9e9c0f052e9e339eeeee07e40a65887d87bf3))

* added admin interface ([`e6f140e`](https://github.com/ocadotechnology/codeforlife-portal/commit/e6f140ef5ba3d5ae3f3dcfc23824799dfd3b08bc))

* removed django admin interface (moved to deploy) ([`dfe5414`](https://github.com/ocadotechnology/codeforlife-portal/commit/dfe54146fcdfbec0d4f806453d90c6c7d4ba677c))

* Made link column buffer on front page news table ([`13f9d0a`](https://github.com/ocadotechnology/codeforlife-portal/commit/13f9d0a0272c3be66ab8c0bd98a2d15e2278685b))

* Added some caching for front page news ([`7be8fb3`](https://github.com/ocadotechnology/codeforlife-portal/commit/7be8fb341d0246ec9b0c566d95ae35d9dc3b9b8b))

* Moved news into the database for the first part of 462 ([`3ab0c6c`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ab0c6c6b6149db5f4c435d31e5d498bdb4f92b2))

* Changing all the email fields to type=email to take advantage of browser-native verification ([`ec6a157`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec6a157bb54ba2c69af02dbdf15350b870a71875))

* Fixing the labels on the reset form ([`b4cfddd`](https://github.com/ocadotechnology/codeforlife-portal/commit/b4cfddd07ceefe0f92f861f5c579c92e8dc04b60))

* adding line breaks ([`6dc437b`](https://github.com/ocadotechnology/codeforlife-portal/commit/6dc437b9dba243b62ddccdd048d828fa0998a079))

* adding line breaks ([`69b9ca5`](https://github.com/ocadotechnology/codeforlife-portal/commit/69b9ca5de09a8ace6f71541397b443b6153eca30))

* adding placeholders ([`bdee613`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdee61365f38844214e269b64b399156311a95f2))

* adding line breaks ([`8592f03`](https://github.com/ocadotechnology/codeforlife-portal/commit/8592f0342fb6d4c19686a5cae91cde091fbce45e))

* Fixing the labels for the organisation add form ([`2b0d740`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b0d7403551b5267046c71cf3f6d2d5a54f79a36))

* Removing pointless class from forms that have had their labels fixed ([`a4fc3c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/a4fc3c056d299b204183abe2d9506af6cd0cd246))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`20927ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/20927ad1b24414b679a6070cc5e81cee89091b8c))

* Removed injection library ([`3a6fdd8`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a6fdd8481cdd1f46336de0aab2ab7a608b5630d))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`a40f4d4`](https://github.com/ocadotechnology/codeforlife-portal/commit/a40f4d45ee9b9e1ff3fd4ebbbef9667c42619131))

* Cleaning up form ids for the benefit of autocomplete ([`85da872`](https://github.com/ocadotechnology/codeforlife-portal/commit/85da872af085a8a5ca2bdd01871f2e4742be8ec3))

* Made settings.py not remove all middleware classes when trying to add BasicAuthMiddleware on app engine ([`a91752b`](https://github.com/ocadotechnology/codeforlife-portal/commit/a91752b63186018fa3b2bc6362576b0bdaa77df4))

* Cleaning up labels on independent student signup ([`d1c7e10`](https://github.com/ocadotechnology/codeforlife-portal/commit/d1c7e1078050e9243f02e079282bdc2e0f33ebd3))

* Cleaning up labels on teacher login ([`3ff2eab`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ff2eab66aaba2d1333c34055f8b883ae009bdeb))

* Added temporary debugging injection ([`d4dee41`](https://github.com/ocadotechnology/codeforlife-portal/commit/d4dee4111e99261b65fd68870d8af06b1c3c1c79))

* Cleaning up labels on student login ([`060067a`](https://github.com/ocadotechnology/codeforlife-portal/commit/060067aabfe17b2fcd5dbf3f3123832235a90c3d))

* Added ExceptionLoggingMiddleware to log unhandled exceptions to the console or App Engine logs ([`60a40f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/60a40f099f028735d561707c79efc565746933c6))

* adding IDs ([`6fb280d`](https://github.com/ocadotechnology/codeforlife-portal/commit/6fb280d14cba718f14dd8a79c9a41e9e3bd64c7e))

* showing labels ([`9a3e824`](https://github.com/ocadotechnology/codeforlife-portal/commit/9a3e824d03a226675b84a5b7a55a7324f3833784))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`72111de`](https://github.com/ocadotechnology/codeforlife-portal/commit/72111deac2ae8c1fad6e8dd1bb5b06588de179ea))

* externalising the titles array ([`2fd11d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/2fd11d05a8a1c0f24a4c7a0d9d471c0f422d945e))

* reordering the titles ([`472ac8c`](https://github.com/ocadotechnology/codeforlife-portal/commit/472ac8cf5047305f30f4884954a66b8f3f4bf8ec))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`1e02e60`](https://github.com/ocadotechnology/codeforlife-portal/commit/1e02e607a343a6787ebb517238203f7e77fa596e))

* Corrected &39;National Museum of Computer Science&39; to &39;National Museum of Computing&39; ([`aeb527f`](https://github.com/ocadotechnology/codeforlife-portal/commit/aeb527f8b719a07690592d9830ba4f5441fd8790))

* 449 Adding labels, removing placeholders, disabling autocomplete, to prevent accidents ([`92c991b`](https://github.com/ocadotechnology/codeforlife-portal/commit/92c991bd761a139b103ecbf5a1665c14b68e8ae9))

* 449 Ooops, haven&39;t got the hang of this Django business ([`1b1dee9`](https://github.com/ocadotechnology/codeforlife-portal/commit/1b1dee9b10503521951e1f0e22cbe31d81cf69e2))

* 449 Ditching placeholders in favour of labels ([`d8ccad1`](https://github.com/ocadotechnology/codeforlife-portal/commit/d8ccad1a0fd3c6b90d194724c11a6f924a58c5d8))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`39d2469`](https://github.com/ocadotechnology/codeforlife-portal/commit/39d24698af38fb420eb8e72b94e7cce0d2ab9a90))

* Updating readme ([`cd1120a`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd1120ac88ad065baac758aaefae13d1353bca3f))

* Removed maximum pending latency to see if it improves autoscaling ([`f93ba4c`](https://github.com/ocadotechnology/codeforlife-portal/commit/f93ba4c5e09e851b51d2a17d65822e2a59ccb280))

* Adding meta to discourage Windows ([`e3a8c95`](https://github.com/ocadotechnology/codeforlife-portal/commit/e3a8c958d4c2fa686be5181ad8d2e75159f3b0f7))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`911a471`](https://github.com/ocadotechnology/codeforlife-portal/commit/911a471ae6f3147b5fd416de0f22aff86129f954))

* Removing link to no-js css ([`f5dcbdf`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5dcbdfb61e17899c9447d17e287b09c23674fbb))

* Delete workspaces when logging in or out ([`0ebd37e`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ebd37eae89cdce4ff46b40591615f07b41796ff))

* Adding paths for images for apple devices ([`bdc6fb7`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdc6fb7b24e7c77bafeb1fa45c14ac9534a68618))

* Adding paths for images for apple devices ([`2d34ff0`](https://github.com/ocadotechnology/codeforlife-portal/commit/2d34ff06ec3a398ecd8dd54b11615d4cb6ee1059))

* Adding images for apple devices ([`a0e3564`](https://github.com/ocadotechnology/codeforlife-portal/commit/a0e3564ca54e3bbc036d9dd388c15c704e33c245))

* Updating the howto ([`46a8d96`](https://github.com/ocadotechnology/codeforlife-portal/commit/46a8d96edaf0d32854b70b72fc702bd1b118dae2))

* Changed some copy and made print reminder cards open in new windows ([`9a9727c`](https://github.com/ocadotechnology/codeforlife-portal/commit/9a9727c58dc5c5ee1314fac37abf98741ba2c596))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`ebb4ce3`](https://github.com/ocadotechnology/codeforlife-portal/commit/ebb4ce38a024dfa4346116d2a3c98784a16df5c4))

* Added mass password reset for students ([`79f8958`](https://github.com/ocadotechnology/codeforlife-portal/commit/79f895808f96126adf2fb30d4191fbf846953d6a))

* Make warning about printing passwords more obvious ([`9ada0d4`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ada0d4c1a3325f2d8fa5c94cc20ab0e26189e8b))

* Changed basic auth to only kick in if on app engine servers ([`31a0609`](https://github.com/ocadotechnology/codeforlife-portal/commit/31a060951827e87f640a7db90461481b8291f322))

* added login link to make it more obvious when the user is not ([`f8c0173`](https://github.com/ocadotechnology/codeforlife-portal/commit/f8c01730fcc0bfbb37a91b3493e3311ca15b286f))

* Change the key. ([`9cbc128`](https://github.com/ocadotechnology/codeforlife-portal/commit/9cbc1286816aa2d35bf4b71b448a03de478ace43))

* Uploaded program solutions to the portal. ([`cc25f16`](https://github.com/ocadotechnology/codeforlife-portal/commit/cc25f16778bc9f1e40279d0df6390ab573753f68))

* Replace Findel with Hope Education on About page. ([`707220f`](https://github.com/ocadotechnology/codeforlife-portal/commit/707220fb7bf8a4f2f7fd0551bfd5deb7a07c595b))

* Changes following the refactoring of views in game. ([`570710e`](https://github.com/ocadotechnology/codeforlife-portal/commit/570710e52b511b7930661de82693ceb5b0183231))

* Added link to Imperial College London. ([`9c21855`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c218552ca361d71a0a3a26432a6299706541e1c))

* Adding GAL Education and Findel Education Resources to About Us page. ([`d1056a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/d1056a5b6d24a5b85c7508e95d05cf55410c02ea))

* Filter out the schools with invalid postcodes (town equal 0) from the map. Fixes 87. ([`c1bb05f`](https://github.com/ocadotechnology/codeforlife-portal/commit/c1bb05f48e04145789358d9140e8d0f15ce2e336))

* Move the auth_forms into forms directory as per 85. ([`dfaa2f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/dfaa2f2692eb14c161772e6c656a6a5573a92949))

* Hopefully fixed login urls post refactor ([`b395790`](https://github.com/ocadotechnology/codeforlife-portal/commit/b39579091ece967a141031d09dc7fc9c6df9dd63))

* Added another missing import ([`885228e`](https://github.com/ocadotechnology/codeforlife-portal/commit/885228e3b3efcfb6b58e1e2d71494ccac8ded430))

* Added missing import ([`47ceedb`](https://github.com/ocadotechnology/codeforlife-portal/commit/47ceedb94e70963213577e7128914efd816fa24e))

* Added name to url. Hopefully fixes 411 ([`2d92047`](https://github.com/ocadotechnology/codeforlife-portal/commit/2d92047710ddc92efa1cfac97c240c8fe16e73be))

* Update README.md ([`1723047`](https://github.com/ocadotechnology/codeforlife-portal/commit/1723047e6065b274b7d48f01d436921dd22d2743))

* Update README.md ([`62528f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/62528f27937902acd5b134c5ab6a4f27226864a7))

* Being *even less* strict on &39;postcode&39; validation ([`4fd7904`](https://github.com/ocadotechnology/codeforlife-portal/commit/4fd7904efc348903b438eaf03b7c9933d460d4d8))

* Added link to RR level moderation from teacher&39;s dashboard ([`32f4351`](https://github.com/ocadotechnology/codeforlife-portal/commit/32f4351e89f28b84672068b5cfadcb4c080889be))

* Added tests for signing up and logging in as a solo student. ([`49a815c`](https://github.com/ocadotechnology/codeforlife-portal/commit/49a815c40a93bf595ffa7d4e19bd0d29cf729298))

* Fixed bug where students couldn&39;t change their details and added tests for it. ([`0ce421f`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ce421f43c92fa1a67604e598ed9f31268a44d55))

* Fixed invalid characters in cache item name ([`60ffa42`](https://github.com/ocadotechnology/codeforlife-portal/commit/60ffa4258bbac3e9ae97fa41617ec64105ccd3c9))

* Added missed import for students changing their passwords ([`08b2586`](https://github.com/ocadotechnology/codeforlife-portal/commit/08b25866ca71a8b3d32923f0e20cd7ba004af6d8))

* Added test for logging in as a school student ([`688cce2`](https://github.com/ocadotechnology/codeforlife-portal/commit/688cce21a5401049ee332da69a387c6887685921))

* Now saving postcode location details. ([`6f097a8`](https://github.com/ocadotechnology/codeforlife-portal/commit/6f097a8f55cd8d6b66fa414c768cc055392c88f3))

* Added tests for releasing students. ([`76758ac`](https://github.com/ocadotechnology/codeforlife-portal/commit/76758acb7cf7f096f54833f3c19ae85592c6b60e))

* Added tests for moving students between classes. ([`224a461`](https://github.com/ocadotechnology/codeforlife-portal/commit/224a4611c99b7f95853d5581034a3d366ac18add))

* Renamed school_student test ([`3eca6e0`](https://github.com/ocadotechnology/codeforlife-portal/commit/3eca6e02eba5dcb8370e1e93a201e05d9be94735))

* import fixes. ([`8a8bf83`](https://github.com/ocadotechnology/codeforlife-portal/commit/8a8bf83893dff317690075d9bc69273049908d1c))

* Added test for deleting a student. ([`bd7ae80`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd7ae808b54cf7f8080c5678682e9eca3f74678d))

* Added tests for dulicate student errors ([`b797586`](https://github.com/ocadotechnology/codeforlife-portal/commit/b797586e6ac4b61206f2ff0ceb634cf654a75855))

* Added tests for creating school students. ([`d353362`](https://github.com/ocadotechnology/codeforlife-portal/commit/d353362f9d67c2ba2a6840ace6ad47b6e82bc26b))

* Restricting map to people who can view aggregated data ([`45f0dfc`](https://github.com/ocadotechnology/codeforlife-portal/commit/45f0dfcc6731b06029936eca50fb75cf6c7be17c))

* Refactored data aggregate permissions check into deploy.permissions ([`a9209f4`](https://github.com/ocadotechnology/codeforlife-portal/commit/a9209f46dca5cc539dbee5b835dfd7cc0aaa2994))

* Fixes post-refactor and cycling characters on reminder cards for extra fun to close 82 ([`c19904f`](https://github.com/ocadotechnology/codeforlife-portal/commit/c19904f59fa9ad34b24d38661931b612d6e0b276))

* Now using hi res pngs on portal to close 80 ([`eead9b4`](https://github.com/ocadotechnology/codeforlife-portal/commit/eead9b466cdac68596271271e8fb51442a333eb1))

* Added new pngs for use in reminder cards with all characters, and better quality pngs for use in portal ([`b0a6e83`](https://github.com/ocadotechnology/codeforlife-portal/commit/b0a6e83105b60353bfb2af75fc4378fe0ea99f63))

* Standardised method names to using underscores. ([`19d9b85`](https://github.com/ocadotechnology/codeforlife-portal/commit/19d9b8523cac3a80258052dd4faa2408dc2e615d))

* Added helper functions for tests to wait for elements to exist, etc... ([`e0b9c8b`](https://github.com/ocadotechnology/codeforlife-portal/commit/e0b9c8be2aa243baae0751c322b71dab5b1d5b47))

* Better handling of any CSRF errors that may occur with custom view and try again link to reload page fully without post and thus refresh the CSRF token ([`4e44648`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e44648e9583c242b84f21f5803329d8f46521ba))

* Added tests for tranfering classes between teachers. ([`5a46e67`](https://github.com/ocadotechnology/codeforlife-portal/commit/5a46e677daea4d6b6dc74fd13b79947a9731889f))

* Added tests for deleting classes. ([`a95db89`](https://github.com/ocadotechnology/codeforlife-portal/commit/a95db89bc05b450f6e66af585ef90dd7f40003d1))

* Adjust tabs... and ratelimit ALL access to admin login page to 5 requests per IP per minute ([`ed5390d`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed5390de26d5d37d0e379781fb2f14ebfb02b863))

* Commenting out most of student progress stats for now as the episode lookup doesn&39;t work, but should do in a much more friendly and workable manner once the Episode Restructuring happens on ocargo... ([`087ae4b`](https://github.com/ocadotechnology/codeforlife-portal/commit/087ae4bf6f2fdc772a514db5ead59f94db8e97ce))

* Modified pre-push to work on linux. ([`f607d9a`](https://github.com/ocadotechnology/codeforlife-portal/commit/f607d9aea09bd2fe336051de44448f3cea9454dc))

* Added a test for editing a class. ([`e2412f5`](https://github.com/ocadotechnology/codeforlife-portal/commit/e2412f5fb5daa2248db5fc36eb6fa6e70070873a))

* Further cleanup in portal. ([`337989b`](https://github.com/ocadotechnology/codeforlife-portal/commit/337989b015a92876a0f5a1784a6b866aa5970c80))

* Merge. ([`da68a81`](https://github.com/ocadotechnology/codeforlife-portal/commit/da68a813348a732a5dfbd7cbdf0271bd54ac45c2))

* Cleaning up in portal a bit. ([`a4664c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/a4664c79086b78a30b68700ca0d94e513ba42c2e))

* Fixed styling of organisation create page. ([`0e55540`](https://github.com/ocadotechnology/codeforlife-portal/commit/0e55540711184bf69cb6947aa978dbefa2598020))

* Found out requests doesn&39;t support appengine, using urllib3 instead. ([`add7169`](https://github.com/ocadotechnology/codeforlife-portal/commit/add71692addd9a722d6e0d9996e7e25d70fbf7de))

* Moved installation of requests to local install only as it&39;s already there for the deployed versions. ([`252a501`](https://github.com/ocadotechnology/codeforlife-portal/commit/252a501fbad36d5d1dfcd05d918e3f5b03cab3de))

* Trying another version of requests ([`737fa6f`](https://github.com/ocadotechnology/codeforlife-portal/commit/737fa6ff2fd2aa40c99abaa7152b73836437630c))

* Ooops, newline. ([`493ed92`](https://github.com/ocadotechnology/codeforlife-portal/commit/493ed92fd3becdd7824c88ce04cfe8a5e1edd6a1))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-deploy ([`8c3635f`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c3635f9324b756d19c81ce14924d761a280f53f))

* Adding a pre-push script. If want to setup running tests before pushing run install-requirements.sh after updating all your repos. If you have a chrome driver and want to run the portal tests on push as well, uncomment the commented out lines in portal/pre-push and codeforlife-deploy/pre-push. ([`4d40ea5`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d40ea543162ac5ce9f20406b3ba9a29428841c9))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`8f7de14`](https://github.com/ocadotechnology/codeforlife-portal/commit/8f7de14a09c2923cd5915d1310007dd2ea7e1b0f))

* Added the placement for the pre-push hook. If you have a chrome driver, this will work just fine provided you pulled deploy and run either local setup or install requirements. Just uncomment all the lines in the pre-push script et voila. ([`75d72f5`](https://github.com/ocadotechnology/codeforlife-portal/commit/75d72f55cb4d9ee629ef1217aa1851e022f2eb8a))

* Don&39;t look! No! Really! ([`733fb36`](https://github.com/ocadotechnology/codeforlife-portal/commit/733fb368eb38697abc784d4476875eb290b7d1f5))

* ... ([`e078a26`](https://github.com/ocadotechnology/codeforlife-portal/commit/e078a26be79eda651d1a5c6b310e573ab616be24))

* More logging when checking postcodes. ([`76ece50`](https://github.com/ocadotechnology/codeforlife-portal/commit/76ece50c5920b45f8ce256b497277cb52a780bd0))

* First attempt at Google Maps API for postcode lookup. ([`697949e`](https://github.com/ocadotechnology/codeforlife-portal/commit/697949e819f96da063bc809cdf5f71e1bfc2d64b))

* Added table formatting template tag ([`e15ce1e`](https://github.com/ocadotechnology/codeforlife-portal/commit/e15ce1eb73f1653950dbdaece957bdb4bcc0f2d4))

* Added friendly formatting to aggregate data ([`461143c`](https://github.com/ocadotechnology/codeforlife-portal/commit/461143c9330903ceeca50dafadd34c823217c232))

* Test for adding a class. ([`bfbe6f3`](https://github.com/ocadotechnology/codeforlife-portal/commit/bfbe6f35867a9487eb0d59155cd6822a905a7347))

* Added the option to use PhantomJS for selenium tests ([`6e2738a`](https://github.com/ocadotechnology/codeforlife-portal/commit/6e2738a8e34c6498b38dd52068b9440bb5e37c4a))

* Updated row descriptions and added table description option in data aggregation for 6 ([`bf784fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf784fe607acdf95d7053d9025e585aaa0806f0a))

* Movement towards prettier data aggregation for 6 ([`6e46c26`](https://github.com/ocadotechnology/codeforlife-portal/commit/6e46c2681ab8797cfa8ad78f70d937ad08b7dff1))

* Removed interesting extra IE warning message... ([`5e48291`](https://github.com/ocadotechnology/codeforlife-portal/commit/5e48291cc59098c1a3e16ddbc015e1032b8013a4))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`84cc511`](https://github.com/ocadotechnology/codeforlife-portal/commit/84cc511554a070070ab81f6611a2a407af9185db))

* Developer status
- User profiles can now be flagged as developers
- The base template now has a global boolean variable DEVELOPER for testing this ([`5ec381d`](https://github.com/ocadotechnology/codeforlife-portal/commit/5ec381d12d09024854635bdb596de1531c3f1bec))

* Dramatically sped up tests by not using the web interface to signup up teachers, etc... when that&39;s not what we&39;re testing. ([`1fa64e6`](https://github.com/ocadotechnology/codeforlife-portal/commit/1fa64e66d32ceb81c478aaccb7ffb7449fb0917f))

* Added password problems faq ([`a883fb0`](https://github.com/ocadotechnology/codeforlife-portal/commit/a883fb0542fb9d4e57d5b9b69c5139a03ee5603e))

* Refactor of portal backend. Views and forms files split up and helper functions factored out. ([`dd14aa4`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd14aa44046e0463aaca23d308799d6d1b757450))

* Towards 6, more data aggregated ([`dc998de`](https://github.com/ocadotechnology/codeforlife-portal/commit/dc998decc5678ad5225f998bec84abf5b526ce5a))

* Hopefully a final fixing migration for using env variables for setting DATA_AGGREGATE_PASSWORD ([`9c69e99`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c69e9936030e1aaefc3a447981cf369cc509b91))

* Removed unrequired DATA_AGGREGATE_PASSWORD env var setup in deploy.sh - not needed in app engine, so not needed here ([`bfc0af7`](https://github.com/ocadotechnology/codeforlife-portal/commit/bfc0af73b4394c047ec35a74acbe85084e32020e))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`63658f6`](https://github.com/ocadotechnology/codeforlife-portal/commit/63658f6971ce6e9a6dc7fbaaa614a1d54edea58d))

* Tweaked get_user_name app tag to behave better for erroneous inputs ([`98360e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/98360e5784d2d255028964ba7f34e7b2c17cb29f))

* Added password directly (will need to get this working with an env variable though) ([`69b4cab`](https://github.com/ocadotechnology/codeforlife-portal/commit/69b4cabacca33f808cd7ad6851dd6574b36748a3))

* Added migration to reset password using env variable ([`df2e93d`](https://github.com/ocadotechnology/codeforlife-portal/commit/df2e93da7f34f570cf2adea21b137f311b5a88b3))

* Updated browser warning copy post-Bree check ([`bd7a79e`](https://github.com/ocadotechnology/codeforlife-portal/commit/bd7a79e0508d1e671f84cdc366df2b114b0ee9e0))

* Added browser warning for sub IE10 browsers ([`8961846`](https://github.com/ocadotechnology/codeforlife-portal/commit/89618461bf19134ddcd988f11415b42edf7912d2))

* adding email_media folder - MEDIA_ROOT has to be different from STATIC_ROOT ([`583097e`](https://github.com/ocadotechnology/codeforlife-portal/commit/583097e877aea8c66d1da1ee53a3310d5f6c781b))

* Changed how we assert which page we&39;re on in tests. ([`e93842f`](https://github.com/ocadotechnology/codeforlife-portal/commit/e93842f5b92c6c135cf4995e6c617732e9d98cf5))

* Added env variable for data aggregation user password setting to deploy.sh for Docker ([`8150376`](https://github.com/ocadotechnology/codeforlife-portal/commit/815037658988383513f258e8a8766c6124c97844))

* Added test for more than 10 schools. ([`c0b8ccf`](https://github.com/ocadotechnology/codeforlife-portal/commit/c0b8ccf3c3277eaf3fa146c99aa9e0e913fdf81b))

* Added more organisation tests ([`5c160c8`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c160c89bc34de24f80da29171e49d6660fe2ff5))

* Removing email images (again) for now so we can merge fully and deploy ([`e5cc355`](https://github.com/ocadotechnology/codeforlife-portal/commit/e5cc3550b84fbf4dda309241afe5c8a9d1c42557))

* Some data aggregation ([`8dcc6a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/8dcc6a37f492882dfeb3154dc7909accd4ae280e))

* Missing newlines at the end of the line. ([`cfb7074`](https://github.com/ocadotechnology/codeforlife-portal/commit/cfb70742558dc43c14592283815b0e67dea5b870))

* Added tests for creating an organisation and creating a class. ([`021c8d4`](https://github.com/ocadotechnology/codeforlife-portal/commit/021c8d4c157a33a5b6979eb928ce769f4ed79660))

* Fixed initial temporary style for data aggregation table (don&39;t look..) ([`a0453a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/a0453a5e34259452d88ff2f6eaf483f7adeaee00))

* Fixed urls and views for the data aggregation page ([`3ea5489`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ea5489f068ec47e9dba608bf4f96d55a124e25b))

* Removed bad location of template for data aggregation ([`9f99bc7`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f99bc7798e38362a85d9e672513ea3755aceda6))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-deploy
and make some fixes so data aggregation page works...

Conflicts:
deploy/urls.py ([`cb8fa54`](https://github.com/ocadotechnology/codeforlife-portal/commit/cb8fa54cc2972816bf9bccbdff2d40258135f0eb))

* Added data aggregate user. ([`7f5ce30`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f5ce30fc6a9769aa79ea239e2b91c0e6f37e664))

* Ammended admin login template. ([`321f57a`](https://github.com/ocadotechnology/codeforlife-portal/commit/321f57a02183a2846bfde4f5c3e13f13cef19978))

* Added view, template and url for aggregated datapage ([`85c5fe5`](https://github.com/ocadotechnology/codeforlife-portal/commit/85c5fe5e85033bade4e333512e0ce89a54af7cfd))

* Added data_aggregate user ([`8cc5d7b`](https://github.com/ocadotechnology/codeforlife-portal/commit/8cc5d7b8a13f15fa473c09d6a18855d680879148))

* Added can_view_aggregated_data field ([`97ee2d1`](https://github.com/ocadotechnology/codeforlife-portal/commit/97ee2d16238ec45541b266c3a711adeffe3fd40a))

* Added admin login page. ([`658cb66`](https://github.com/ocadotechnology/codeforlife-portal/commit/658cb66e05287f134020f50daa311942719cf789))

* Disable suggestions in videos. Related to 385. ([`81adb51`](https://github.com/ocadotechnology/codeforlife-portal/commit/81adb51b95515ea22b9ae6ef5e812beac6d322de))

* MAJOR BUG fix for joining schools. For immediate cherry pick to staging ([`8e55a32`](https://github.com/ocadotechnology/codeforlife-portal/commit/8e55a3224cd427cd56623bcfb0266600322e7dce))

* Finished teacher tests. Maybe ([`b8c3882`](https://github.com/ocadotechnology/codeforlife-portal/commit/b8c3882c9f3dce0a98eafc3f70b9bc6d52a070c4))

* Added test for changing a teachers email. ([`41ba1e6`](https://github.com/ocadotechnology/codeforlife-portal/commit/41ba1e6eb07c7df1464be9869c15609ca7372383))

* Fixed tests. Turns out you can&39;t have empty tests which just call pass. ([`64c4c8d`](https://github.com/ocadotechnology/codeforlife-portal/commit/64c4c8d96247764aaf152e7a376e5ac32373c375))

* Fixed an invalid character on 500 page ([`62b8a83`](https://github.com/ocadotechnology/codeforlife-portal/commit/62b8a83d162bc7d77f45411ec8034f83eae268ef))

* Fixed typo in portal ([`8197a58`](https://github.com/ocadotechnology/codeforlife-portal/commit/8197a58cb2993b4029aa4f84ae82c51521286c35))

* Merge branch &39;testing&39;

Conflicts:
setup.py ([`c45e14e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c45e14edae9abd3cff1a2e46cb946c3e3513cc86))

* Added tests for changing the details of a teacher. ([`cc7aaeb`](https://github.com/ocadotechnology/codeforlife-portal/commit/cc7aaebd4a7bdee9500955dfeb3c7677c8233aa9))

* Added migration to sort where Django 1.7 now sets related_name in the migrations ([`a039e23`](https://github.com/ocadotechnology/codeforlife-portal/commit/a039e23ab33da1aee9adc5b350a19f1b75efcb51))

* Migrating to Django 1.7 ([`2c0fcbe`](https://github.com/ocadotechnology/codeforlife-portal/commit/2c0fcbe0acf8ac5fd664ee313a0664ac1a13b20f))

* Migrating to Django 1.7 ([`3a1005b`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a1005b9b3593e7343037a0133cf4651bb573582))

* Renamed pageObject files and added test for teacher login. ([`3b6b5e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b6b5e5aa03d9557bba269bcc78945ee46c2b41f))

* Added the ability to use Chrome instead of Firefox. Fixed chrome bug. ([`a3c6f75`](https://github.com/ocadotechnology/codeforlife-portal/commit/a3c6f75072bd2ee8919391cbeb32c14ab11eb502))

* Added test which signs up a teacher. ([`899e8ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/899e8eff474c626fa985b74db7711cfd1bf9c0a4))

* Tests now start their own server and use a test database rather than the normal local one. ([`e93d8d4`](https://github.com/ocadotechnology/codeforlife-portal/commit/e93d8d45253bcdcd1b9757a7d38029c39088d8d2))

* Full tests of logged out section. ([`769e235`](https://github.com/ocadotechnology/codeforlife-portal/commit/769e235b3ac7c260f15cf23f17646e3c807c46a5))

* This probably won&39;t work, but let&39;s test it anyway ([`c69dd89`](https://github.com/ocadotechnology/codeforlife-portal/commit/c69dd8933b4aa47fffe607b3ae533ccb616a2062))

* Updated browser warning copy post-Bree check ([`43ae431`](https://github.com/ocadotechnology/codeforlife-portal/commit/43ae4314c723f88d0214eb615de6a303b807f7f4))

* Added browser warning for sub IE10 browsers ([`a234f52`](https://github.com/ocadotechnology/codeforlife-portal/commit/a234f5222e1cc1f78384da3fbd76b32fd07ad7d3))

* Another commit for email images ([`7c65d73`](https://github.com/ocadotechnology/codeforlife-portal/commit/7c65d734f17a152ed30aecb31c9bd7c9215234ab))

* Adding a .png extn to things ([`946c9d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/946c9d01498cc37809d1202f990a9afe90713b7d))

* Switching what to use as filename ([`a247923`](https://github.com/ocadotechnology/codeforlife-portal/commit/a24792395f4461b126637850e854715091ceb2b9))

* Removing dashes from cids to hopefully get the image embedding..... ([`7cba05c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7cba05cd56c80adc6cfe4ebd2c3985ce98bf6d25))

* Adding in filename using content-disposition for appengine emails... ([`998c66e`](https://github.com/ocadotechnology/codeforlife-portal/commit/998c66e5a51d3697c83207fec57d918fef2ebf70))

* Remove header to see what app engine&39;s up to... ([`66c6b08`](https://github.com/ocadotechnology/codeforlife-portal/commit/66c6b08290d270aac230ed4aa4dfed36b92ffea2))

* Trying to get appengine to do simple images - not allowing certain headers, switching to using attachments... ([`3d43da1`](https://github.com/ocadotechnology/codeforlife-portal/commit/3d43da113e058cb7c5bec4c6731f24e8cb03f973))

* First basic but real tests of navigation. ([`7d42f1c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7d42f1ccd0675d0055dd48888687101bb3a13f25))

* Selenium added to project with a basic test. ([`4eddf41`](https://github.com/ocadotechnology/codeforlife-portal/commit/4eddf414e832b196f847a5c1e6b9e5b8523d3ec3))

* Added what hopefully will give us support for images in emails... ([`b6b9704`](https://github.com/ocadotechnology/codeforlife-portal/commit/b6b970454d0aebbded092da0607c013790d7ee05))

* adding email_media folder - MEDIA_ROOT has to be different from STATIC_ROOT ([`4f05328`](https://github.com/ocadotechnology/codeforlife-portal/commit/4f05328cca27ff8319be75a409e86379c8564003))

* added MEDIA_ROOT to enable the start of prettifying emails! ([`690432e`](https://github.com/ocadotechnology/codeforlife-portal/commit/690432ea70ad1d0a3e2afe05e5e77d0fbdbba352))

* Added collection of UserAgent in Contact Us form to enable identifying browser in order to help with diagnosing issues ([`050c87f`](https://github.com/ocadotechnology/codeforlife-portal/commit/050c87f86001def7b2a2c1832662bf51773034d5))

* Removing image from html email template for now, it&39;s being annoying. ([`3356a5a`](https://github.com/ocadotechnology/codeforlife-portal/commit/3356a5aede5727ef2871907d6182bfe1d94e3eba))

* Final chance to get this image showing correctly! ([`0b0760c`](https://github.com/ocadotechnology/codeforlife-portal/commit/0b0760c4234102d44d2272fef99aba95c5bf81fd))

* Contact us typo ([`914e569`](https://github.com/ocadotechnology/codeforlife-portal/commit/914e569f3228daaafabc7e38459e9635ad143789))

* Add missing import ([`1528848`](https://github.com/ocadotechnology/codeforlife-portal/commit/152884898bf9e8c89167cd1f5c09120098ffc335))

* Postcodes, Email Templates, Administrator Check:
- Moved away from using PostCoder service as has been causing a handful of issues. Doing v basic check for now
- Updated email templates so url to image is hopefully ok
- Added a check that the teacher is an admin when receiving post for organisation manage view ([`e324bc3`](https://github.com/ocadotechnology/codeforlife-portal/commit/e324bc346a1fc73ca571dd1e5b61dfc190cc874b))

* Migrated to using new email_sender which wraps around django&39;s things to make things neat but with HTML ([`62c3eb7`](https://github.com/ocadotechnology/codeforlife-portal/commit/62c3eb71111da59297b46c157f85d72e5de600be))

* Updated email html template ([`38074c4`](https://github.com/ocadotechnology/codeforlife-portal/commit/38074c413d27990507fe32c7d514806ab2dd64ad))

* Fixed broken teacher edit email to close 79 ([`9440a03`](https://github.com/ocadotechnology/codeforlife-portal/commit/9440a03433bd93f67760a92fe0f7a34047214b0a))

* Updated templates for email messages ([`ec880f6`](https://github.com/ocadotechnology/codeforlife-portal/commit/ec880f6857b7b3954fe1aa90e240518ae784d544))

* Added cfl logo with blue background files ([`30a721a`](https://github.com/ocadotechnology/codeforlife-portal/commit/30a721ae593df949f5c1f2496ac6841b94007623))

* Moving towards using templates for emails and sending plaintext and html options. Initial commit to test just for sign up email verification on dev ([`96bca36`](https://github.com/ocadotechnology/codeforlife-portal/commit/96bca36ed95acda2d3c591cc0397a9ae8bf1707a))

* Added to volunteers list ([`4c9fa1a`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c9fa1ae0d145e218c82e0dd504de0a9feb53c84))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`6a78f86`](https://github.com/ocadotechnology/codeforlife-portal/commit/6a78f86fe3a47b100c86f9ca59c427bd3add4118))

* Adjusted the video size to not hide under the forms. ([`6ad7723`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ad7723d13749ece142bb12d8decad445198b7eb))

* Added recaptcha to &39;contact us&39; form. Closing 366 from ocargo. ([`ed66ba1`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed66ba1262efce726dd9c88977b2767b8174a0af))

* Removed domain hardcoding. Closing 319. ([`2246316`](https://github.com/ocadotechnology/codeforlife-portal/commit/2246316ba3694c6772b6cfe7ac6f704892194c76))

* Added VERSION override to deploy.sh ([`1b8249e`](https://github.com/ocadotechnology/codeforlife-portal/commit/1b8249eeec46184d95480ea3817c5e81a047767c))

* Added CACHE_PREFIX to override app engine variables ([`9ccf71f`](https://github.com/ocadotechnology/codeforlife-portal/commit/9ccf71f06cc8e9a9ea4cd38a1c24c847324fa465))

* Changed to single email address config ([`f90819f`](https://github.com/ocadotechnology/codeforlife-portal/commit/f90819fb13449fc9c064353fff635f3d80c5b0ec))

* Changed all email addresses to be the same ([`84fa8a0`](https://github.com/ocadotechnology/codeforlife-portal/commit/84fa8a09a4f5a243cdb8143553de70beba0fa522))

* Reverted email domain change ([`7080e4d`](https://github.com/ocadotechnology/codeforlife-portal/commit/7080e4dadcc1aebac7615ec4d45e3f02b0039df9))

* Changed email domain ([`34ac471`](https://github.com/ocadotechnology/codeforlife-portal/commit/34ac4714378021505feb68e16dff129d7b224183))

* Removed old secret ([`2c36103`](https://github.com/ocadotechnology/codeforlife-portal/commit/2c3610351b1929e0b05d3ed5976f46c6513fc645))

* Added recaptcha keys are environment variables ([`6af86c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/6af86c03e634a95855ebfe8a7f1ee8a1735d4860))

* Made recaptcha keys environment variables ([`c47b568`](https://github.com/ocadotechnology/codeforlife-portal/commit/c47b5683774aec20734dd0c0ebf7c410aacca25d))

* Passing django secret into app engine in deployment script ([`f5781b9`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5781b92908b9a0214accbc7c12dca262bb063c6))

* Made secret key an environment variable ([`d26e994`](https://github.com/ocadotechnology/codeforlife-portal/commit/d26e994a65d1ab6e1a61037cd470bd3be7587892))

* Added ssl to mysql deployment connections ([`7d81592`](https://github.com/ocadotechnology/codeforlife-portal/commit/7d815922c660ca44072cda42d30350d497f36e31))

* Actually using proper cloud_storage tag now ([`d459332`](https://github.com/ocadotechnology/codeforlife-portal/commit/d459332057775322b3032722c8b5ec3619b1ecd4))

* Hopefully fixed non-link on teach page for 76

- awaiting confirmation from Bree/Rachel that I&39;ve got the right one! ([`9fe2dd9`](https://github.com/ocadotechnology/codeforlife-portal/commit/9fe2dd9b4107b48d62e14ee4959ff3fe47d93d89))

* More updates for new builds ([`60c4cdc`](https://github.com/ocadotechnology/codeforlife-portal/commit/60c4cdca8adfb1d88c3da3da38cf8951c4c30a72))

* updated dev.yaml to point at decent-digit-629 ([`e46e5b8`](https://github.com/ocadotechnology/codeforlife-portal/commit/e46e5b8b40d129bb23ed6bea422c61831c1e41b8))

* Removed brackets from CfL emails. Will look to template-ify and prettify emails ([`b17af6d`](https://github.com/ocadotechnology/codeforlife-portal/commit/b17af6d5958a5f1b7ba13da6f157e3ea1f70bee1))

* Alterations to resources page. ([`821e22c`](https://github.com/ocadotechnology/codeforlife-portal/commit/821e22c88ff96732a32618aeb6f9ef239d845c86))

* Changes to resources page. ([`fc6f4e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc6f4e5f8d010a92327f53b8ab683b1d797511e5))

* Added foolproof play-teach teach-play links on log in boxes... ([`eaa79c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/eaa79c70f99455f11060f053dfa302932dd69b4d))

* Moved google analytics to portal base (where it should be) ([`292c657`](https://github.com/ocadotechnology/codeforlife-portal/commit/292c657e3480de48672cc3e1f65e8f1cfa0072e1))

* Removed scoreboard from indy student details page ([`3187210`](https://github.com/ocadotechnology/codeforlife-portal/commit/31872103276120a1a9f3ab4c50ccf76e7a9204d7))

* Updated browser support message ([`59efa7a`](https://github.com/ocadotechnology/codeforlife-portal/commit/59efa7a253d17fd992f048ba6ac49054d85a2851))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`3cc8030`](https://github.com/ocadotechnology/codeforlife-portal/commit/3cc803066422129b2b18ea0c9df9c4b3ffa32e9a))

* Added &39;teaches&39; method to teacher ([`1bc4f18`](https://github.com/ocadotechnology/codeforlife-portal/commit/1bc4f1836e5127872728a37b8878cf5c192e1093))

* Updated terms with correct company name ([`824275d`](https://github.com/ocadotechnology/codeforlife-portal/commit/824275d1d4452a81d66a48cb3f6cab95fad75704))

* Corrected Ollie&39;s name ([`d5efae1`](https://github.com/ocadotechnology/codeforlife-portal/commit/d5efae15cf036727d3eed284e4cc5481e99fd48f))

* Merged with other about page changes ([`c4b4c68`](https://github.com/ocadotechnology/codeforlife-portal/commit/c4b4c68d3b871b4754f108ecdad0d00ceba5dd14))

* Added some links and pressure cooker studios ([`d1c1fc9`](https://github.com/ocadotechnology/codeforlife-portal/commit/d1c1fc9a3e578bda45ac5911a8faa0d663fa079b))

* Populated links in &39;About Us&39; page. Closing 74. ([`a543f60`](https://github.com/ocadotechnology/codeforlife-portal/commit/a543f609649aca233967e78c4a5d182c2923477a))

* Added users for mock class ([`3282c4d`](https://github.com/ocadotechnology/codeforlife-portal/commit/3282c4d4445ce1d3c305326b4febc553e406d08d))

* Added teaching resources ([`56e192d`](https://github.com/ocadotechnology/codeforlife-portal/commit/56e192da8af16da7f62f381da3f55f730ff67e43))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`4e09677`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e0967767fd2427778d7565d2cc858344d353d8e))

* Added terms and conditions ([`dabc11d`](https://github.com/ocadotechnology/codeforlife-portal/commit/dabc11d6d6bfe8943c713f1775820de8c4a66708))

* merge ([`ded3834`](https://github.com/ocadotechnology/codeforlife-portal/commit/ded38347ddb5e02678f96be8f7633f130d70bbb7))

* 128: video 1 added ([`4a536f9`](https://github.com/ocadotechnology/codeforlife-portal/commit/4a536f9d355e45262c55142fdcb0700b68e24aba))

* Fix recaptcha css ([`e7850e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/e7850e5c702ac5777516d0e01726f5207cb74613))

* Stopped jquery.js asking for a sourcemap file. ([`e158c30`](https://github.com/ocadotechnology/codeforlife-portal/commit/e158c30831c72a9c694161b75a2a45018e346cc5))

* Increased instance size in app.yaml ([`ae12d3e`](https://github.com/ocadotechnology/codeforlife-portal/commit/ae12d3e8edecb58ffe893ccc30e8dda1adc45051))

* Added robots.txt - hopefully fixes 301 ([`35615bf`](https://github.com/ocadotechnology/codeforlife-portal/commit/35615bf2953566a8687826266eac9ce2218cc9a1))

* Replacing game/ with rapidrouter. ([`931625a`](https://github.com/ocadotechnology/codeforlife-portal/commit/931625ad39535989802e059eb1ff0a7abcdcc926))

* Added indy student ([`93e5712`](https://github.com/ocadotechnology/codeforlife-portal/commit/93e5712038d2bc7c12d58e149fe2b49c5e8dddf8))

* Demoted Max Planck ([`81de71a`](https://github.com/ocadotechnology/codeforlife-portal/commit/81de71aca6c72f0afad0513b0bb358d5abba7998))

* Added EMAIL_DOMAIN to settings.py ([`03814db`](https://github.com/ocadotechnology/codeforlife-portal/commit/03814dbeb303713538315528a3231ae74e3ecc8e))

* Made email domain configurable --- should fix 63 ([`b5c5691`](https://github.com/ocadotechnology/codeforlife-portal/commit/b5c56918043aca3c1e30eb9fbea248c39781f96f))

* Reverting url change because it broke everything ([`e2fcc8d`](https://github.com/ocadotechnology/codeforlife-portal/commit/e2fcc8dcc3c91a1e83c536f33cbefb81d97f41fc))

* Changed &39;game&39; urls to be &39;rapidrouter&39; ([`bf758a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf758a364ea081d993c7a704da09fd1f5010e040))

* This should fix ocadotechnology/ocargo302 ([`d062c71`](https://github.com/ocadotechnology/codeforlife-portal/commit/d062c71768507db3dbda688fb57b26750013bce3))

* To finish 72 for now, IE8 compatibility things ([`91d5a82`](https://github.com/ocadotechnology/codeforlife-portal/commit/91d5a826da693055da9e1d2b23bd435795fd706a))

* Added polyfill for placeholder text in old browsers ([`8fb01e6`](https://github.com/ocadotechnology/codeforlife-portal/commit/8fb01e655afe35c0f48a4d5d4711eba99b812b54))

* IE9 fix towards 72 ([`05a9c65`](https://github.com/ocadotechnology/codeforlife-portal/commit/05a9c65727b98c5dad6ba405ba9cb9d31e476bb9))

* IE10 portal compatibility issues, towards 72 ([`52d149f`](https://github.com/ocadotechnology/codeforlife-portal/commit/52d149f084a09c28d5fdc7cf97abd27237e4dd5a))

* Removed prints... ([`41029ab`](https://github.com/ocadotechnology/codeforlife-portal/commit/41029ab37c32ea7e351f009198978c7c450a5960))

* Updated FAQs post-Rachel review of wording ([`2f25cc2`](https://github.com/ocadotechnology/codeforlife-portal/commit/2f25cc247f681b514df8e99868d577fb68e61e8a))

* Minor amends, some FAQs, etc. ([`9831164`](https://github.com/ocadotechnology/codeforlife-portal/commit/983116465cadbf89e116247f5bc306d8cb8e425b))

* Changed round teaching packs page to suit new agreed layout ([`75a2329`](https://github.com/ocadotechnology/codeforlife-portal/commit/75a23297972fd0210bd4d2a3e7cfae65b0ade545))

* Added USER_STATUS to base so we can track all round and easily in js whether a user is a TEACHER, SCHOOL_STUDENT, SOLO_STUDENT or UNTRACKED ([`3464255`](https://github.com/ocadotechnology/codeforlife-portal/commit/346425520bd054cdc6ee7af85fa1633205ecfaf8))

* Added make_title_caps template tag ([`0052732`](https://github.com/ocadotechnology/codeforlife-portal/commit/0052732d7b73cf4126b8ddc87c04860731ccd41f))

* Added an app tag to filter out school users and others ([`698696a`](https://github.com/ocadotechnology/codeforlife-portal/commit/698696adf45e6f2e9c3a3cf9d7b972fa468bc437))

* Removed HttpResponseNotFound import, now using raise Http404 correctly! ([`7599dc3`](https://github.com/ocadotechnology/codeforlife-portal/commit/7599dc3d87ca30e9d963d76d9d7c76f30881c19f))

* Changed safe tags for recaptcha forms so they&39;re only on the necessary form fields (i.e. the recaptcha field if it&39;s present) ([`af318fb`](https://github.com/ocadotechnology/codeforlife-portal/commit/af318fb239a7336314f595c1caced4aaddaf77e1))

* Can&39;t cache navBars, they update with highlighting! ([`70927c9`](https://github.com/ocadotechnology/codeforlife-portal/commit/70927c9c784b649044845337a8358fdc809c6399))

* Made messages not safe by default to stop XSS, but added tag to explicitly make messages safe so we can add hyperlinks on messages we know to be okay! ([`4c6302f`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c6302f9ad6434fa411c5d204a431ce07051a93d))

* Changed to Http404 rather than HttpResponseNotFound in views ([`6ac8fda`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ac8fdaabd2d964f5a5fe0d25ba16ff04b295191))

* Added caching to the base ([`987149a`](https://github.com/ocadotechnology/codeforlife-portal/commit/987149aea5ad91fc2db887694b3b7f9d7d03d712))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`f270fe0`](https://github.com/ocadotechnology/codeforlife-portal/commit/f270fe02cf32c9711a9f86efe72425acc8876189))

* 500 needs to be flat HTML ([`8c25615`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c25615b2d592fb3c87917576c0f9d81b739b84b))

* Added caching to the about page ([`3b0a70b`](https://github.com/ocadotechnology/codeforlife-portal/commit/3b0a70b789552f7327bff169d24f6b7be41603b0))

* 297 Added basic templates for 402 and 500. Don&39;t know if they work ([`1c732e2`](https://github.com/ocadotechnology/codeforlife-portal/commit/1c732e20376e2c6486ef6f2ec05e756f6ce96004))

* Adding a default 404 69 ([`71481fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/71481fe6371107ea7befe14893f2f3302780a9cf))

* Merge branch &39;master&39; of https://Spychogithub.com/ocadotechnology/codeforlife-portal ([`2174aff`](https://github.com/ocadotechnology/codeforlife-portal/commit/2174aff37e5b80c21a4b9ccd3b58fc09936e00ad))

* altered game link text ([`209d436`](https://github.com/ocadotechnology/codeforlife-portal/commit/209d436d98dc9035e7637fbc89098c632016c871))

* Updating readme ([`1017aa4`](https://github.com/ocadotechnology/codeforlife-portal/commit/1017aa42d36e2c1e090aad641319a4049ab2b357))

* Updated class copy ([`0bd1df4`](https://github.com/ocadotechnology/codeforlife-portal/commit/0bd1df45255b3e9a7244c6f11e0a4e11cd9f0cde))

* Deleted file with carriage return in the name ([`e9e55ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/e9e55ca37da2c6e68751d5e5d2b55927a2eb0eef))

* Added sentence explaining logged in blobs ([`e9c6553`](https://github.com/ocadotechnology/codeforlife-portal/commit/e9c6553b11e769443f45abe190bab327245d31f6))

* Updated no tokens warning message ([`ea0d252`](https://github.com/ocadotechnology/codeforlife-portal/commit/ea0d2523da7cb38d4d2efcad7624b12b602041da))

* Removing map from urls so feature is inaccessible until this is ready for launch ([`ad5743a`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad5743acdfbf8855291417e6fd17835bc5e07b47))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`e13571c`](https://github.com/ocadotechnology/codeforlife-portal/commit/e13571c2260166f7c5bcefa77e4fe2e6fec3053e))

* Added more trial users to use with level sharing testing.
Passwords/class access codes etc can be found in migration field. ([`f2b3c04`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2b3c042d3b395af8f909cbad618fd1e8916a13f))

* Changed padlock image for 2FA screen ([`961d85f`](https://github.com/ocadotechnology/codeforlife-portal/commit/961d85f5496e62355ba26db510d1fe5ae2ef973f))

* Logged in status blobs added to class lists, tables all set to left align, pending imminent review ([`51b09c2`](https://github.com/ocadotechnology/codeforlife-portal/commit/51b09c2fbbe2f31e2d9603e050adc7a3d21f41cd))

* Updated logged in dashboards ([`3ceabad`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ceabada48438cfb332c7353043e8252141849c4))

* Copy updates to play, teach, about 2FA, made 2FA context aware of whether 2FA is set up, and made logged in appearance of logged out pages more appropriate ([`832fad6`](https://github.com/ocadotechnology/codeforlife-portal/commit/832fad6d0c5774d3df0c6e20a0ecdada92888b63))

* News ticker update - headline spacing, prev and next btns, colouring ([`155fb54`](https://github.com/ocadotechnology/codeforlife-portal/commit/155fb5420ba292fbbde19c30aed94106381dfd75))

* Added to the list of friends/volunteers. ([`e89a946`](https://github.com/ocadotechnology/codeforlife-portal/commit/e89a946a98dedd0952d5977cc259277dabc01848))

* Updated 2FA info screen with slightly amended text, and some illustrative graphics ([`7663826`](https://github.com/ocadotechnology/codeforlife-portal/commit/766382606638de99bc844a7eebf0479f8c929313))

* Added Y and N label against students in classes to show if they&39;re logged in or not ([`425e3a3`](https://github.com/ocadotechnology/codeforlife-portal/commit/425e3a37ba9b6f8fea9beb4d45a5e205e9bfe441))

* Reviewed form validation messages ([`b783edf`](https://github.com/ocadotechnology/codeforlife-portal/commit/b783edf0cf1ab3d4e69ffe22d84ba095c8e03a31))

* Ammended install-requirements ([`c7b23e4`](https://github.com/ocadotechnology/codeforlife-portal/commit/c7b23e4fe0eed480e33b9fc69ac18fa154ae74d8))

* Added to readme FAQ ([`3dc7c74`](https://github.com/ocadotechnology/codeforlife-portal/commit/3dc7c74daf72a2afe50d39ee7371f86b70fac414))

* Updated some confirmation messages ([`2970a9f`](https://github.com/ocadotechnology/codeforlife-portal/commit/2970a9fae367cb746a21f1ca8138f2a7d7c827f8))

* Must confirm student&39;s new email address when dismissing. Closing 70. ([`70a3317`](https://github.com/ocadotechnology/codeforlife-portal/commit/70a33175e4c1a951a9d075d088e0aa918011b1e5))

* Added favicon of Dee&39;s head. Closing 64 ([`781d320`](https://github.com/ocadotechnology/codeforlife-portal/commit/781d32032defd83086dc66f938592ac164b9c8b5))

* Added video still into portal ([`35dae53`](https://github.com/ocadotechnology/codeforlife-portal/commit/35dae53c06acc7e16ba4387faad775503fc51d88))

* Minor amends ([`6b924d2`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b924d2cabe5f21197d1c3f9f366e49f248de448))

* Minor copy update, and update base template ready to remove nuit in ocargo ([`f54f246`](https://github.com/ocadotechnology/codeforlife-portal/commit/f54f246e5f92c34bcd1a0d1ecb80fa0c284a694b))

* Removing nuit from settings ([`c8fbf52`](https://github.com/ocadotechnology/codeforlife-portal/commit/c8fbf529f5bc93b23d57eb598fed195c10f9ba67))

* Styled jquery-ui dialogs to look more like the rest of the site. ([`da86a41`](https://github.com/ocadotechnology/codeforlife-portal/commit/da86a411b0fbd542da3940bdb0644b0585c62b7b))

* Changed admin to administrator ([`3dc9a1d`](https://github.com/ocadotechnology/codeforlife-portal/commit/3dc9a1da6c27666e648521d8adc5732c5723eb93))

* Now using new RR logo ([`a24bebf`](https://github.com/ocadotechnology/codeforlife-portal/commit/a24bebfe990bf048303d154928ef8d16f34d4e1d))

* Now using new images, and added RR play box plus character details to student logged in page ([`04a1001`](https://github.com/ocadotechnology/codeforlife-portal/commit/04a1001aefca75c7b2ec680dcb8d8560a3b3923e))

* Added RR plain logos on green to portal ([`47bdf83`](https://github.com/ocadotechnology/codeforlife-portal/commit/47bdf839216fb9aacc4316b12f1cc675ed282c13))

* Added RHS scroll bar to stop page content jumping ([`cd515da`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd515da6b57de893e90e90d7161eca49fd77a2bc))

* Damn you browser caching! ([`f68d651`](https://github.com/ocadotechnology/codeforlife-portal/commit/f68d65100f25c6fd1295f44ad21e182c769b1950))

* Added more confirmation boxes.
Added when deleting a class and on the organisation manage page to remove a teacher / make admin / disable 2FA. ([`e84cb8a`](https://github.com/ocadotechnology/codeforlife-portal/commit/e84cb8ae524baf64ccfcbe33e2c818ff0244734f))

* Sorted news ticker styling ([`9f8539d`](https://github.com/ocadotechnology/codeforlife-portal/commit/9f8539da2e0738055dfe8edeb008efdc01a21b0f))

* Changed two-factor to two factor ([`3a5f365`](https://github.com/ocadotechnology/codeforlife-portal/commit/3a5f365d929bbc365726122ce2cee390925e0060))

* Added second administrator suggestions to org manage and at end of 2FA setup ([`17fd26e`](https://github.com/ocadotechnology/codeforlife-portal/commit/17fd26ecd120613b80689c296542fdc79432fce1))

* Student logged in page mach 1 ([`3989128`](https://github.com/ocadotechnology/codeforlife-portal/commit/3989128d72e581f659835237a1fb33e3a4f4ffb0))

* Missed 2FA updates from last commit ([`598f10b`](https://github.com/ocadotechnology/codeforlife-portal/commit/598f10bd6c0d3fe842ece8446394419aeeba71c1))

* 2FA:
- Removed 2FA management from Account Security profile page, now lives in teacher account page
- Added info and instructions for 2FA, including QR codes for downloading Google Authenticator
- Added some warning messages about being the only admin and having 2FA
- Removed SMS/Phone call things from various pages, and made good the wording and explanations ([`4aa242a`](https://github.com/ocadotechnology/codeforlife-portal/commit/4aa242aa5a12f53404c3ba9df813f3c5c543bf91))

* Removed teacher&39;s initial from make_into_username ([`5649cc9`](https://github.com/ocadotechnology/codeforlife-portal/commit/5649cc9af1fd243c038d7ac6dde714e613ab35b0))

* Adjusted messages padding ([`a859017`](https://github.com/ocadotechnology/codeforlife-portal/commit/a859017858fc3bddf6d54e194e35138d963e9fd8))

* Factored confirmation box code in separate file, ready to use in multiple places. ([`33e7323`](https://github.com/ocadotechnology/codeforlife-portal/commit/33e7323721598d6e12043c888dd211a060ab4d97))

* And removing a console log... ([`942b783`](https://github.com/ocadotechnology/codeforlife-portal/commit/942b783f6d421ff55c48a8226a6163dfe11ef212))

* Added pointer so FAQs look more clickable ([`8eee2d3`](https://github.com/ocadotechnology/codeforlife-portal/commit/8eee2d3dfccd844aca3a01f3a995d85b91e7d57a))

* First part of 2FA re-styling and re-organisation ([`4583cab`](https://github.com/ocadotechnology/codeforlife-portal/commit/4583cabc58e242417e2f57343d7df3ec1627d776))

* Updated news headlines to not be BLOCK CAPS ([`63f526f`](https://github.com/ocadotechnology/codeforlife-portal/commit/63f526fe1e3fe0fb6770af0999a3d3e919eb62a7))

* Help and support and FAQs ([`6dd9736`](https://github.com/ocadotechnology/codeforlife-portal/commit/6dd97361d567a308b763e6c78b04cc73abb36538))

* Added a confirmation dialog when deleting a student. First step of 66. ([`eff23b9`](https://github.com/ocadotechnology/codeforlife-portal/commit/eff23b958475fde14e42cccf4010faeb481a1f10))

* Improved styling and line wrapping of reminder cards. ([`d7863fb`](https://github.com/ocadotechnology/codeforlife-portal/commit/d7863fb73c236221cfe621af6cd539c003b00049))

* Added &39;next&39; url functionality. ([`25a91c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/25a91c7809b028c54115772231d69e3ef3b61b72))

* Fixed js error when password fields don&39;t show on teach and play pages because user is already logged in ([`516c68e`](https://github.com/ocadotechnology/codeforlife-portal/commit/516c68eab984eadd1d6a4dcadcdced3ba5133196))

* Browser support text added ([`bbd5c00`](https://github.com/ocadotechnology/codeforlife-portal/commit/bbd5c00e3cd86c487cf3e81ae3493ee63599a618))

* Some amendments to copy ([`4aaf2d0`](https://github.com/ocadotechnology/codeforlife-portal/commit/4aaf2d0e47692eacca151c2c0d2ced35940f82fb))

* Changed school/club to school|club ([`95a485f`](https://github.com/ocadotechnology/codeforlife-portal/commit/95a485fbe4b157db9562a20babc3e123dd9fa627))

* Reviewed all email messages and added links and footer ([`3011980`](https://github.com/ocadotechnology/codeforlife-portal/commit/30119806d43e61c18358966b2a542d0ad60f1d17))

* Changed wrong check for logged in -ness on teach page ([`7e6507f`](https://github.com/ocadotechnology/codeforlife-portal/commit/7e6507fb7fe672354280006e19f5f53c54b68349))

* Reviewed messages copy, also redirect student to account page from join organisation page ([`1ab58da`](https://github.com/ocadotechnology/codeforlife-portal/commit/1ab58dadb9c2e34659a61ba2e7af54d89f1da017))

* Minor amends, plus pushed student join school into student account page ([`cd59923`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd59923b0af4ab540f997a0e62665b03e508a09d))

* News ticket content ([`eb2627e`](https://github.com/ocadotechnology/codeforlife-portal/commit/eb2627ed30a10db82fc9553fcfc4826845f39464))

* Lots and lots of copy! ([`d0209f9`](https://github.com/ocadotechnology/codeforlife-portal/commit/d0209f974af34e5b992d480f9030ad9252f65f64))

* Removed old unused style sheet. ([`bf439dd`](https://github.com/ocadotechnology/codeforlife-portal/commit/bf439dd8b513025a424f548641e18e35be7105d6))

* Animated the news ticker. ([`b97a776`](https://github.com/ocadotechnology/codeforlife-portal/commit/b97a776c469c6cab1ed46effc1639c9370fb2402))

* Apologies, I forgot the new Dee image. ([`40826d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/40826d97f106ac4e1191dc87195322e1a748bf40))

* Snazzier reminder cards. ([`51b0227`](https://github.com/ocadotechnology/codeforlife-portal/commit/51b02279e382b24e78bf606ba88056789a4b4c85))

* Added a style for tables with less padding. ([`069ee1a`](https://github.com/ocadotechnology/codeforlife-portal/commit/069ee1a30c5ac2342de834c3d0ccccb507916d6b))

* Changed &39;you are already logged in&39; text to refer to dashboard and not homepage ([`4e3dda5`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e3dda5483a9c831aaa1c558fea5b5dbc397a44f))

* Fixed info box styles so hyperlinks actually are visible! ([`4e9c049`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e9c04915844fe8fdd32367be0f4d8c697aeb5f2))

* Initial lot of copy updates ([`f121e43`](https://github.com/ocadotechnology/codeforlife-portal/commit/f121e43ffcb5671008dca448197c9be89becde6a))

* Minor amends ([`bb6d201`](https://github.com/ocadotechnology/codeforlife-portal/commit/bb6d201eb083e8ff9a3e04bee57882f102a8c350))

* Content update ([`69e0f32`](https://github.com/ocadotechnology/codeforlife-portal/commit/69e0f321e732f0afdd8a0eb421e79bd809928979))

* Added school name to welcome text on teacher dashboard ([`07b1431`](https://github.com/ocadotechnology/codeforlife-portal/commit/07b143144af91f34f1024520bfe1814cf5bdfc6f))

* Updated page layouts for all except 2FA ([`598711c`](https://github.com/ocadotechnology/codeforlife-portal/commit/598711cf0d0760a0cc0b49ee780f839e98df4983))

* Reviewed all except 2FA and registration templates button widths and positions ([`9cf49fd`](https://github.com/ocadotechnology/codeforlife-portal/commit/9cf49fd9799cf505f0ef4e97fec6fa84500013f6))

* Minor tweaks to styling - colours and attempt to fix ipad input button weirdness ([`c6f5f92`](https://github.com/ocadotechnology/codeforlife-portal/commit/c6f5f9269bb19fa47355d983aadcf0368cc4323b))

* Two minor fixes ([`b118302`](https://github.com/ocadotechnology/codeforlife-portal/commit/b118302583114fc53a82586badfd0f96fecc0d84))

* Added more checkbox features to make class page more usable ([`46c296d`](https://github.com/ocadotechnology/codeforlife-portal/commit/46c296d1025ca57a68738c305239e76693d179a1))

* Merged tables styles (taking my ones...) ([`80ace5e`](https://github.com/ocadotechnology/codeforlife-portal/commit/80ace5e805eacc4f8209cae4a2f21ac615664fc2))

* Lots and lots of styling updates, plus added new content for teaching packs page ([`f5ce7c6`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5ce7c6c5bfecccf24f92a5c0b28935f4100f114))

* Some 2FA button sorting ([`8ddcf60`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ddcf607f1de6f73c25c6a3ce6ed42a2d4beeb03))

* Lots of work to styling of navbar, tables, added in more button class tags, minor copy corrections, etc. ([`4d4ed69`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d4ed69b0abed2a6be4b28ada76daacf463b1971))

* New table styling. ([`243eaf2`](https://github.com/ocadotechnology/codeforlife-portal/commit/243eaf27c5fae33ddba2de8c71a865f84367bcde))

* Improved performance of rate limiter hopefully. ([`71ecdb6`](https://github.com/ocadotechnology/codeforlife-portal/commit/71ecdb68c8ce5d179de4fcd2edc7bed1634cf41d))

* Added captcha to organisation join forms. ([`aad088b`](https://github.com/ocadotechnology/codeforlife-portal/commit/aad088be2630fcd341f46544fdcf4ddf7ae0e8b3))

* Form error message styling ([`2a6603a`](https://github.com/ocadotechnology/codeforlife-portal/commit/2a6603ae3c5fa77a43a8714c0ad3db01e6bcf30a))

* Initial restyling: links, nav bar, nav bar highlighting, logged in ([`6dd039c`](https://github.com/ocadotechnology/codeforlife-portal/commit/6dd039cf72986985409d4fbf0b78db823f8034b7))

* Added warning if no backup tokens setup for 2FA user ([`6bb7176`](https://github.com/ocadotechnology/codeforlife-portal/commit/6bb71764bb8c301ee2ce83c680a283f4351976dd))

* Modified local-setup install-requirements because of new ratelimit app. Run ./install-requirements to get everything working. ([`b79b6ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/b79b6eecec9e0044ab2b0721a375e3a2cb215d83))

* Finalised rate limiting. Removed logging. ([`695db0d`](https://github.com/ocadotechnology/codeforlife-portal/commit/695db0d5fc27a0fc4b2aad3b2c57b46dbacc23b3))

* Improved rate limiter to handle multiple periods and limiting criterion. ([`ad037fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad037fc11d4e8efe8fb74a3b6fb0212930b98d9e))

* First attempt at a rate limiter. ([`647e4b1`](https://github.com/ocadotechnology/codeforlife-portal/commit/647e4b1cd1a0592acdf983d355bddbcfa687b86b))

* A number of copy updates ([`84ee4ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/84ee4ca2b86720ffbd582c84ce8c52eb9a82a71b))

* Fixed trial user&39;s passwords. ([`04b0cf2`](https://github.com/ocadotechnology/codeforlife-portal/commit/04b0cf21c604cc40531557821f3c14a5fa184841))

* Added test users. ([`6726211`](https://github.com/ocadotechnology/codeforlife-portal/commit/672621128e41da2661334e09362dcda5e6b6b7c3))

* Added select all feature to student list ([`b32435f`](https://github.com/ocadotechnology/codeforlife-portal/commit/b32435f9e8c9446d13d340fa0c1f8fc1c3ba637c))

* Made original name fields hidden and show values instead to make moving student and dismissing student tables easier to use ([`91628ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/91628adc68f86a83f42830582ab8e59189d6aa37))

* Made password strengthometer only show if password is non-empty and made strength bar border not black ([`662410b`](https://github.com/ocadotechnology/codeforlife-portal/commit/662410b97cc0f0e827df6a7f5a467f7b42916c47))

* Added requests pending messages to teacher logged in homepage, and added reminder cards option to teacher resetting student passwords ([`284a2b3`](https://github.com/ocadotechnology/codeforlife-portal/commit/284a2b321d2b9a5a99d2c562405d9ad23c3e5b93))

* Minor changes to select widths and typo ([`56ca1ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/56ca1ff46dc05d34be17b4019a4999a7c4a2acc9))

* Added sending of contact us message to sender, and upgraded html to djangofied form ([`3618d0a`](https://github.com/ocadotechnology/codeforlife-portal/commit/3618d0a3fe6a0cc8c2c5602b65f7d2ed4af93f4e))

* Updated ContactForm on forms.py ([`a2ab708`](https://github.com/ocadotechnology/codeforlife-portal/commit/a2ab7089b64fac5fef092f02fb6b624eb0b74219))

* Updated email messages to include telephone on contact us email ([`aec95ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/aec95eee256e292482ffa3bb74e480168c0685be))

* Changed default to actual cfl contact email codeforlifeocado.com ([`389b531`](https://github.com/ocadotechnology/codeforlife-portal/commit/389b5313de64e2328c799adee9b989720a1cd05a))

* Fixed a huge issue where 2FA could be circumvented and turned off. ([`addbd47`](https://github.com/ocadotechnology/codeforlife-portal/commit/addbd47a15c3e693fe57bf5a95782376270e3f20))

* Added in lesson plans and styling to make content sit lower on the page ([`52ba38a`](https://github.com/ocadotechnology/codeforlife-portal/commit/52ba38a9cbffa52cdffbbd95ee6e0160780f6410))

* Aligned teacher logged in page with current plan ([`fe80e17`](https://github.com/ocadotechnology/codeforlife-portal/commit/fe80e1774a06caadd3779458373aaf5c51a4bb52))

* Adjusted trucate templatetag. ([`621f91d`](https://github.com/ocadotechnology/codeforlife-portal/commit/621f91d072129c7af43b3241803471ced613034e))

* Fixed is_logged_in template tag on 2FA login screen. ([`eeb0f04`](https://github.com/ocadotechnology/codeforlife-portal/commit/eeb0f049dd0689a0762efe11a67e5bd426592967))

* Updated readme ([`c6f2c8c`](https://github.com/ocadotechnology/codeforlife-portal/commit/c6f2c8c654807c602398e2efbb5572dae310abe6))

* Migrated to using new template tags ([`118b8ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/118b8ff28bedab20a529d9fdb60729b1ad4b196e))

* Split new tag into make_into_username and truncate (parameterised with max_allowed characters ([`569f21b`](https://github.com/ocadotechnology/codeforlife-portal/commit/569f21b460b07692d96d21e805ac242523a339dd))

* Corrected url lookups post changes to some urls last night ([`e202d18`](https://github.com/ocadotechnology/codeforlife-portal/commit/e202d1894b9b6902b82105874d6b07cd152f6807))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`28061ea`](https://github.com/ocadotechnology/codeforlife-portal/commit/28061ea3c7b87ea1e828c94cfb35858c778efd62))

* Changed conflicting template context name of user for email verifications to userprofile ([`833c6ac`](https://github.com/ocadotechnology/codeforlife-portal/commit/833c6acc8712dd72d4e73a34ff2d9263fa696989))

* Added template tags for testing if logged in and for making user&39;s name into appropriate string (depends on if teacher or student, and limits to 20 chars total before truncating with ... ([`753244b`](https://github.com/ocadotechnology/codeforlife-portal/commit/753244b4a06f4fbdde1354255a9868c2eed996b1))

* Updated teach page ([`1e30eb0`](https://github.com/ocadotechnology/codeforlife-portal/commit/1e30eb038dba38cda3b8dc9ba965a782fb5d36c6))

* Changed to using subnav and added logged in box ([`be7d8de`](https://github.com/ocadotechnology/codeforlife-portal/commit/be7d8de1bb191a7fc2ba499a98c13be7eb885e04))

* Added styling from Chris, and for logged in and subnav ([`bbb39c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/bbb39c0e1b5ca1e8f8282f48df2efc7481b4f5d1))

* Corrected imports and day to hours in indep. student joining ([`8182f0a`](https://github.com/ocadotechnology/codeforlife-portal/commit/8182f0a48227858a789e795bd5a0a1d69ed12c2f))

* Readding footer link ([`88d6b9f`](https://github.com/ocadotechnology/codeforlife-portal/commit/88d6b9f45b20da0aa38f40f494b8d8f78a252363))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal

Conflicts:
portal/templates/portal/base.html ([`db2a126`](https://github.com/ocadotechnology/codeforlife-portal/commit/db2a126c687e47a00b08b814bff993269068bdb6))

* Adding footer link and CSS refactor ([`8bb8331`](https://github.com/ocadotechnology/codeforlife-portal/commit/8bb8331a531b1cf81627628e43e00d9330c6c003))

* merged ([`a3e5067`](https://github.com/ocadotechnology/codeforlife-portal/commit/a3e5067a21b83a2efa8d1ea28e5ec7d51a8c9426))

* corrected name ([`0424e06`](https://github.com/ocadotechnology/codeforlife-portal/commit/0424e06657385f8eabda20649d50758091077cf7))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`1998f58`](https://github.com/ocadotechnology/codeforlife-portal/commit/1998f580d83595091bd7c42d8af53a236b65b3fb))

* Added a &39;d&39; ([`fc74582`](https://github.com/ocadotechnology/codeforlife-portal/commit/fc7458260de832befaa05c80db8b2792d27cd706))

* fixed duplicate URL name ([`5ed5888`](https://github.com/ocadotechnology/codeforlife-portal/commit/5ed58881a73588dd4a2a0aa4fb3df4898ac8a5da))

* Removed ssl module from dev.yaml ([`52998e5`](https://github.com/ocadotechnology/codeforlife-portal/commit/52998e5df4918f1cc7f52b91e693201de413737a))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`addab13`](https://github.com/ocadotechnology/codeforlife-portal/commit/addab1337747d2a7c8ff8d1bdf0907c25ca5aa8f))

* tidied views ([`25df503`](https://github.com/ocadotechnology/codeforlife-portal/commit/25df5034b2bb806a4546aea91475cd35b23cb4e2))

* Added checking that class is accepting requests ([`b7569e0`](https://github.com/ocadotechnology/codeforlife-portal/commit/b7569e07e855ac3a70f471b004dbec24c3e772a8))

* Added recaptcha keys for numeric-incline-..... ([`4e61c48`](https://github.com/ocadotechnology/codeforlife-portal/commit/4e61c4889544ddbb260565ab0d0b9c4953ec18c7))

* added VIRTUALENV to gitignore ([`d9134e2`](https://github.com/ocadotechnology/codeforlife-portal/commit/d9134e2ac550257b4b464594ea39ea10700513e7))

* Removed references to django-recaptcha ([`eface96`](https://github.com/ocadotechnology/codeforlife-portal/commit/eface96aec265146c30cee314ccca0909977587e))

* Done the setup of restricting external join requests to a limited time ([`e24b24a`](https://github.com/ocadotechnology/codeforlife-portal/commit/e24b24a6a0893529eea78af388588b01811ce1a5))

* Made the &39;already logged in&39; message 2FA aware ([`1749be5`](https://github.com/ocadotechnology/codeforlife-portal/commit/1749be53e1a467cc9ea518fa1de7e7eca07da168))

* Added rate limiting to 2FA login. ([`dcb3939`](https://github.com/ocadotechnology/codeforlife-portal/commit/dcb3939d2452acfe340494287acd692d8ab4b113))

* Added captcha to student login forms. ([`4368bee`](https://github.com/ocadotechnology/codeforlife-portal/commit/4368beeb3637e548377fe44d060d6515c6916a29))

* Forgot to change autoconfig as well. ([`f8ba919`](https://github.com/ocadotechnology/codeforlife-portal/commit/f8ba9192683704ebe1e0697ad701d24d9cc6201b))

* Forgot to change setup.py ([`cd92954`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd929543dd9a321cd14661fc013e3680e4776629))

* Fixed styling of captcha. ([`8e6a854`](https://github.com/ocadotechnology/codeforlife-portal/commit/8e6a8546d3668a9991ab6054eba52e022ec6366d))

* Changed to a different reCaptcha client and have captcha working. ([`ba27a8d`](https://github.com/ocadotechnology/codeforlife-portal/commit/ba27a8d5602d7408523756805074e59244cae31d))

* Added rate limiting of teacher login view. ([`54229e3`](https://github.com/ocadotechnology/codeforlife-portal/commit/54229e37040972421fcb3a5f04b266543b620b1c))

* Added setting of classmate sharing to new class box ([`70cf60a`](https://github.com/ocadotechnology/codeforlife-portal/commit/70cf60a6698011e76f5368cede3bf2cb67a03f38))

* Fixed updating classmate_data_viewable flag ([`ad5c98f`](https://github.com/ocadotechnology/codeforlife-portal/commit/ad5c98f90b18bfa870cc8c87f6403d10f0407a82))

* Migration to add extra field to Class: classmates_data_viewable boolean flag ([`a9f30c2`](https://github.com/ocadotechnology/codeforlife-portal/commit/a9f30c25e1927bd3b9d02e4f18a1a293a68e394a))

* Added portal side of configuring whether students can see progress of their classmates ([`2090767`](https://github.com/ocadotechnology/codeforlife-portal/commit/2090767f556e6b4ae35d272369e76e22731ea1b2))

* Updated README a little to test webhook ([`dddaf12`](https://github.com/ocadotechnology/codeforlife-portal/commit/dddaf12d04d9af9db7d3f764109725776f0106cd))

* Improved local-setup, added install-requirements scripts. ([`eacb51f`](https://github.com/ocadotechnology/codeforlife-portal/commit/eacb51f68527448b10ce9f5ba66b72f071b4003f))

* Fixed teacher edit account cancel redirect ([`5eb80d8`](https://github.com/ocadotechnology/codeforlife-portal/commit/5eb80d84ec0cc769a915328537b830a47c6cae6f))

* Added in from email param to password reset so it will send reset emails in deployment! ([`8bd8940`](https://github.com/ocadotechnology/codeforlife-portal/commit/8bd8940db9be82f53a86e52bcc4d073833edf73b))

* Admins can disable 2FA of other teachers. ([`98d3d52`](https://github.com/ocadotechnology/codeforlife-portal/commit/98d3d5256fb1905075b4904a1126d55c2c7d8702))

* Added password strength checker to reset password forms by extending django&39;s standard auth forms we were using ([`168dcbb`](https://github.com/ocadotechnology/codeforlife-portal/commit/168dcbb924015baa9e038ddb49f600a3311d9d84))

* Merged ocargo integrate branch into master. ([`4d6ea27`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d6ea27e8a17be5d0b487f259c4782bef5cc2ee5))

* Sessions expire after 1 hour of inactivity. ([`fd1dd2d`](https://github.com/ocadotechnology/codeforlife-portal/commit/fd1dd2df2b86259051cfaa0925a5806c38329507))

* Fixed template for external joining disambiguation to show username of student joining ([`89699c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/89699c55a71f96b6dd4c91cf58982266fc40bcb0))

* Fixed teacher edit account title bug, plus first steps to sorting password reset strength checking ([`f848506`](https://github.com/ocadotechnology/codeforlife-portal/commit/f848506b0c9c2c5a502f888da9b847f17847aae0))

* Another update to email messages ([`6d1bc10`](https://github.com/ocadotechnology/codeforlife-portal/commit/6d1bc10ec663851bdfb2ae971766e329894cb978))

* Changed some of the email messages ([`5b0f2c5`](https://github.com/ocadotechnology/codeforlife-portal/commit/5b0f2c5364d251bbbdb3d4f24ebf4841b28a0712))

* Added a local-setup.sh file which clones the other git repositories (ocargo/portal), creates virtualenv&39;s, installs requirements and then sets up the workspace for fast paced development. ([`6860afc`](https://github.com/ocadotechnology/codeforlife-portal/commit/6860afc8bfbbce775ee9a55ed8688830a356e555))

* Added emails for student joining process ([`07b2d2f`](https://github.com/ocadotechnology/codeforlife-portal/commit/07b2d2fb5d68fb460c80f633f55fa438250d5f5b))

* Sorted student join organisation minor tweaks ([`fcb80a9`](https://github.com/ocadotechnology/codeforlife-portal/commit/fcb80a981f7b03f922af9d05140c5ad19fc8dce0))

* Made email change similarly optional on Student update details form and stopped it populating with current email address ([`c73cdb2`](https://github.com/ocadotechnology/codeforlife-portal/commit/c73cdb24d977f816cf9e012cad6e4f160ce44c77))

* Changed email to an optional field on Teacher Edit Account and made it not populate with current email ([`ff7220b`](https://github.com/ocadotechnology/codeforlife-portal/commit/ff7220b388ed3fe672bf475d790b5ebeabdd68bb))

* Added an admin&39;s domain to the fuzzy lookup when joining a school ([`eb842ee`](https://github.com/ocadotechnology/codeforlife-portal/commit/eb842ee90c0b34db41b3446d290ee5ee4e9a7c28))

* Sorted organisation manage page with new email revealing policy ([`8e475bb`](https://github.com/ocadotechnology/codeforlife-portal/commit/8e475bb18c4c4fead2c54252f9188e12c4b3442d))

* Added template tag for email domain hiding and hidden emails in organisation manage except for admin&39;s domain ([`4c98745`](https://github.com/ocadotechnology/codeforlife-portal/commit/4c987456c87bb0bab531a770b280cb0f43a2cec7))

* Sorted video on homepage, including moving colorbox images to their own folder ([`7405fdc`](https://github.com/ocadotechnology/codeforlife-portal/commit/7405fdc4d356e4008bf94c44c96e121fbca8299d))

* Height not width... :( ([`b3f0cb7`](https://github.com/ocadotechnology/codeforlife-portal/commit/b3f0cb743356903f6480f89493680d7883062dae))

* Fixed settings for 2FA. ([`36ba176`](https://github.com/ocadotechnology/codeforlife-portal/commit/36ba1763f8a61822accd50b728d0dd6bd4d37822))

* Added settings for 2FA ([`27bc795`](https://github.com/ocadotechnology/codeforlife-portal/commit/27bc7955e780154d2886a7f6d99b74762e301f35))

* Hacked map css so we can see some of it ([`c45bcc2`](https://github.com/ocadotechnology/codeforlife-portal/commit/c45bcc2e739249c41fb14c4079fa424fbe3d1ce8))

* Added fix from Chris for play button on play ([`04e13fc`](https://github.com/ocadotechnology/codeforlife-portal/commit/04e13fc80c76df67a78284c90597df7d3710aecc))

* Added success message to school/club details update ([`6b8a1d5`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b8a1d58788aca0702c89ecb344e1bc44b5705c1))

* Fixed name todo on resources page. ([`979af71`](https://github.com/ocadotechnology/codeforlife-portal/commit/979af717ccf1ea0b308da4269360318501957c9d))

* Fixed middleware causing problems when running locally. ([`e1e0c41`](https://github.com/ocadotechnology/codeforlife-portal/commit/e1e0c4182005ff21101fc8a85fb7d2764cc3a7f4))

* Added separated contact us page, and sorted urls for 2FA ([`03f7c1d`](https://github.com/ocadotechnology/codeforlife-portal/commit/03f7c1dedd21875b81a1ee98357c86ea652a3025))

* Sorted dodgy urls.py ([`c07ff3e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c07ff3ebae72f6cc09c39c4b0e477c0fae0442a2))

* Removed width from form buttons CSS ([`3d76a02`](https://github.com/ocadotechnology/codeforlife-portal/commit/3d76a0297b4269ea9b54040a1685256494f6b847))

* added in temporary link to scoreboard for now ([`67e1b05`](https://github.com/ocadotechnology/codeforlife-portal/commit/67e1b05cc26bab188028c9aa878fcdb838345f7a))

* Added in navbar selected class, to be integrated once we&39;ve worked out what&39;s going on with the navbar ([`cd6105f`](https://github.com/ocadotechnology/codeforlife-portal/commit/cd6105f0195bfe7243bf6d14ee17726b307662f7))

* hopefully sorted Dee character url ([`b8ce394`](https://github.com/ocadotechnology/codeforlife-portal/commit/b8ce394070de024a17a59ebd6b6a4fd2fc5e0cac))

* Updated styles to removed login-card select width thing ([`da5093a`](https://github.com/ocadotechnology/codeforlife-portal/commit/da5093a6a90909932f9cda24f797586008b4bef4))

* Updated all the pages from Chris! ([`79af546`](https://github.com/ocadotechnology/codeforlife-portal/commit/79af54662a98ffcdf598002979e4fcd0d95bd627))

* Added help and support page ([`1f00068`](https://github.com/ocadotechnology/codeforlife-portal/commit/1f0006881c5ce3f7c234d92e204f4e1c3cd0ad53))

* Added new images ([`2200ce9`](https://github.com/ocadotechnology/codeforlife-portal/commit/2200ce934bb0bb1c4b899adefee125cceb633f1f))

* Added more styling from Chris - manually merged across from email! ([`7254ef1`](https://github.com/ocadotechnology/codeforlife-portal/commit/7254ef11ca394a08fe89f26e1845930b8f4f4115))

* Corrected missed import and added &39;no classes&39; message to classes page ([`363bed9`](https://github.com/ocadotechnology/codeforlife-portal/commit/363bed9fa0cfb5bfcd32124c373c837889ee1275))

* Lots of words ([`f2456ac`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2456aced42f032857fe1761a9bc95a8ea104272))

* More cleverer words and layout... ([`624cda0`](https://github.com/ocadotechnology/codeforlife-portal/commit/624cda0490de546e9ec974851c2136b0419dc1a4))

* Corrected email address used checking for teacher - now only checks teachers with a particular email address ([`71905cd`](https://github.com/ocadotechnology/codeforlife-portal/commit/71905cd53254c439f6ec6021152239fafcd8a17c))

* Reorganised and put some wording into class page ([`994dc04`](https://github.com/ocadotechnology/codeforlife-portal/commit/994dc04a4df4c80febb7ec924ac3c9ff8464a9a2))

* Updated some copy relating to different types of students ([`f5216cc`](https://github.com/ocadotechnology/codeforlife-portal/commit/f5216cc3e9f96155a1ce0f0a892601f6c7e13379))

* Changed more school and club references ([`0e3119b`](https://github.com/ocadotechnology/codeforlife-portal/commit/0e3119b2512036cfe87f1d9e3e54874c9f3b284a))

* Changed from organisation to school/club ([`afe08e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/afe08e969f11db69bfdd572999296ca702ce9ae1))

* Added password strength checking to teacher settting password ([`907c88b`](https://github.com/ocadotechnology/codeforlife-portal/commit/907c88ba685ebe62c7ec40a1e10f84fe18daea4b))

* Made class view more usable - with number of students repositioned, and hiding options until there are students in tthe class to manage ([`257b1f7`](https://github.com/ocadotechnology/codeforlife-portal/commit/257b1f74e7f262a51c4f8ea590e72646ceea85da))

* Made teach and play pages context aware so you can&39;t log in or register if you&39;re already logged in ([`64a231f`](https://github.com/ocadotechnology/codeforlife-portal/commit/64a231f75aaa66200fc950c08cc7fffa59f422f0))

* Changed redirects to reflect new teacher logged in homepage instead of classes page ([`6bab740`](https://github.com/ocadotechnology/codeforlife-portal/commit/6bab740be5e64d2721d6a5fed36e2f045e21f4b9))

* Added cancel button on move class page ([`09ab6aa`](https://github.com/ocadotechnology/codeforlife-portal/commit/09ab6aab9cfb9544c79da1bb61f2a63092ca7dfc))

* Sorted play page issue on refresh so it shows the relevant context if errors occurs, and not the default. Removed last name from external requests table, and removed organisation name from student requesting to join school form ([`aaeb546`](https://github.com/ocadotechnology/codeforlife-portal/commit/aaeb546c81578021cd6d6d83ff9a38592d33ec35))

* Updated login and logout urls in settings.py ([`a9fa5e9`](https://github.com/ocadotechnology/codeforlife-portal/commit/a9fa5e9ce9fb6d1af37a48ce543a5c31525d9d3e))

* Fixed typo ([`dca047d`](https://github.com/ocadotechnology/codeforlife-portal/commit/dca047d8c9178bb1a59b7396518f30bb3ff3396b))

* fixed play login requiring two attempts ([`942c21f`](https://github.com/ocadotechnology/codeforlife-portal/commit/942c21f9224103d34df27d8da6b7ddd0c1999acb))

* typo ([`f3469c6`](https://github.com/ocadotechnology/codeforlife-portal/commit/f3469c6639b1bd89566dd9b2a10f8b1929b4bd00))

* Added play links thru to RR ([`4502b92`](https://github.com/ocadotechnology/codeforlife-portal/commit/4502b926646139768269c66dfbf2011eac5ce497))

* Added a &39;return&39; to all the unauthed() in basic auth :( ([`d96495e`](https://github.com/ocadotechnology/codeforlife-portal/commit/d96495eafb7be776bdf7316708cca1eceb31e1aa))

* Added compress to deploy.sh ([`f9de084`](https://github.com/ocadotechnology/codeforlife-portal/commit/f9de0845b6c92b25515f96d8326a080fa19774ca))

* Changd basic auth to use APPLICATION_ID env instead of phantom django config ([`da9baeb`](https://github.com/ocadotechnology/codeforlife-portal/commit/da9baeb9f4c89886e600ad75981403afe97b5b1c))

* Added some compress things to settings.py so Ocargo nuit is happier ([`24351c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/24351c0c842baf864e996a20b584666df9d0a936))

* Changed mimetype to content_type in basic auth middleware ([`801b0f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/801b0f24adfc02e10afb7bf56408e7c07f71534c))

* Added basic auth middleware ([`7730189`](https://github.com/ocadotechnology/codeforlife-portal/commit/77301890e778bb4f7363546295f403942bcddaec))

* Removing integrate subdomain from email... ([`7a0d45e`](https://github.com/ocadotechnology/codeforlife-portal/commit/7a0d45e89d6df43b2bded65134fe0029af7610da))

* Not appspot, but appspot mail for email.... ([`d967f44`](https://github.com/ocadotechnology/codeforlife-portal/commit/d967f4466f900f5edec08b158387f508cf7dbb81))

* And some more... ([`52fba7a`](https://github.com/ocadotechnology/codeforlife-portal/commit/52fba7a5a5b54121b9889119a918e9d45b672803))

* Trying appspot email everywhere ([`c7da16b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c7da16bfb832072669281eeed882124f46e92332))

* Trying appspot email ([`bce49c3`](https://github.com/ocadotechnology/codeforlife-portal/commit/bce49c3763b0cc12e9f36013d852baf9ff70d7c3))

* Changing to app engine service a/c email... ([`0cee091`](https://github.com/ocadotechnology/codeforlife-portal/commit/0cee09177a1ac9512569ab2be8d7df0deb623857))

* Changed email to be synchronous ([`2bce1f0`](https://github.com/ocadotechnology/codeforlife-portal/commit/2bce1f07624f4ccc0b33e1e088a013080e5d2ad3))

* Added app engine mail hack ([`f116850`](https://github.com/ocadotechnology/codeforlife-portal/commit/f116850fa833e4cfa068c809e7cb5ac6167a76d9))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-deploy ([`fdc4446`](https://github.com/ocadotechnology/codeforlife-portal/commit/fdc4446e42ba042afeb168b37baa1db2509017c5))

* Added some more installed apps ([`4f95d02`](https://github.com/ocadotechnology/codeforlife-portal/commit/4f95d02c8afa59ffa580cdab39b1fdd94770c675))

* Getting closer to sending emails... ([`7cbb619`](https://github.com/ocadotechnology/codeforlife-portal/commit/7cbb619743a4f0929d5f3d074a318f0d52953a92))

* Added memcache app engine hack ([`906f9a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/906f9a5fa61a9b9679af8f6133c066f29a87d571))

* Added pip freeze output to the deploy.sh ([`18d0973`](https://github.com/ocadotechnology/codeforlife-portal/commit/18d0973515ce4096fcd71aa13d7109bc40b54cb9))

* Trying to get reportlab installed before portal directly in deploy ([`5b86a4e`](https://github.com/ocadotechnology/codeforlife-portal/commit/5b86a4e258ff299ea1172e8316799d98bad0cc0c))

* Removing reportlab dependency from portal and trying in order to attempt running directly in deploy... ([`b61810f`](https://github.com/ocadotechnology/codeforlife-portal/commit/b61810fb35f200867806196a7f4630eb2de23e12))

* Setup.py should be like this, but doesn&39;t seem to work... ([`21d66a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/21d66a5cec5b02a5aa422aa7ed4a31dbfc44a16a))

* Added jQuery to requirements.txt, adapted dep_links to hopefully work... ([`dfc0f3e`](https://github.com/ocadotechnology/codeforlife-portal/commit/dfc0f3e0052a9e4036c3f8f0db3e734ec7d4df8d))

* Updated setup.py to use specific versions of django and reportlab ([`f94d88f`](https://github.com/ocadotechnology/codeforlife-portal/commit/f94d88f07d5fa4aa403e11874e013050d372e28b))

* Added reportlab to setup.py ([`097a4df`](https://github.com/ocadotechnology/codeforlife-portal/commit/097a4df58a00b6e041cb52cd6dfaa5dc79c68ab9))

* Upgraded version of reportlab ([`29f13ff`](https://github.com/ocadotechnology/codeforlife-portal/commit/29f13ff7486f19f439aa67137a9a5b26de9d9677))

* Removed login required middleware, and now pointing at the right settings.py ([`23e3a99`](https://github.com/ocadotechnology/codeforlife-portal/commit/23e3a991bc82970b845c6fb712a15d98e1c7f6da))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`43f4dd2`](https://github.com/ocadotechnology/codeforlife-portal/commit/43f4dd2c201d2de7d5bf4be97d3f97540fdf2c06))

* Removed login required middleware ([`22f86c7`](https://github.com/ocadotechnology/codeforlife-portal/commit/22f86c7060260b77ac3f4b0bdd6bf63e2f4a4a9f))

* Styled 2FA pages. ([`196233f`](https://github.com/ocadotechnology/codeforlife-portal/commit/196233fc74384adc56b9c2ed0ca20805fd31b695))

* Enabled phone calls and SMS for 2FA. Currently using fake gateways which print to the console. ([`def4d4a`](https://github.com/ocadotechnology/codeforlife-portal/commit/def4d4af78e3aeb7dffafa3d972b77ac70e122f5))

* Added password strength checking for students. Second part of 39. ([`5f2fe3d`](https://github.com/ocadotechnology/codeforlife-portal/commit/5f2fe3d503f1c235d8b8fdc66f0ed3906b0cfa39))

* Added password strength checking for teacher passwords, including an interactive strength gauge. Completing some of 39. ([`ab70558`](https://github.com/ocadotechnology/codeforlife-portal/commit/ab70558cde898ad80d002cb31fd32043f294c379))

* Implemented deleting of classes, will only allow you to delete an empty class. ([`43356ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/43356ef0e5c054f68e96a5d6e68eff26b8396beb))

* Upgraded removal from class so you can choose the new name and it does correct validation. ([`6fd8338`](https://github.com/ocadotechnology/codeforlife-portal/commit/6fd833807e269e721b90fed3371a95c620cc9601))

* Implemented removing a student from a class and making them an orphan. At the same time removed the name field from Student model. ([`004769d`](https://github.com/ocadotechnology/codeforlife-portal/commit/004769d06c11040ed56ed268225de7aedd60a1fd))

* Implemented deleting of students. ([`63b19a1`](https://github.com/ocadotechnology/codeforlife-portal/commit/63b19a19f36c417d6aff9d55080384ab48bfcfea))

* Moved fuzzy lookup to separate js file. ([`d5d57ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/d5d57ba769fdf80e5ede4d586fbf62f1935115fa))

* Corrected capitals ([`af292e7`](https://github.com/ocadotechnology/codeforlife-portal/commit/af292e78a3356e7d134d6d42f0d7ce31041d2ef9))

* Upgraded new students screen ([`906c84a`](https://github.com/ocadotechnology/codeforlife-portal/commit/906c84a944e7198ab7aaeba296570d4a71ec9121))

* Password reset upgraded too! ([`974f33e`](https://github.com/ocadotechnology/codeforlife-portal/commit/974f33e556d6f7e3036d4fd46a8575bfc9a50cb2))

* Styled manual move class page. ([`23eac35`](https://github.com/ocadotechnology/codeforlife-portal/commit/23eac35df549f22cff594344e6607bed971c0ffe))

* Student join upgraded ([`e54c211`](https://github.com/ocadotechnology/codeforlife-portal/commit/e54c2114bcc59901d4a14035a6a2214cb0a42160))

* Updated student details and student edit account pages ([`d729e6c`](https://github.com/ocadotechnology/codeforlife-portal/commit/d729e6cb7ec49dea7824fa65aa5c6b7afa2e97bd))

* Sorted move all classes page (for when teacher kicked) plus minor adjustments ([`5125ffb`](https://github.com/ocadotechnology/codeforlife-portal/commit/5125ffba5995aec204bd314bf72b58844c6545f1))

* Updated textarea font-family so it works! ([`e656cd7`](https://github.com/ocadotechnology/codeforlife-portal/commit/e656cd7efdd67bb59f25c6c2699990482338c16e))

* Fixed styling of form errors for teacher signup and edit details. ([`784b21e`](https://github.com/ocadotechnology/codeforlife-portal/commit/784b21eadc66788ad6934dce25fee70d0bc46511))

* Made django messages and form errors far prettier. ([`214a2f9`](https://github.com/ocadotechnology/codeforlife-portal/commit/214a2f9577c78278b8d40b27232017aaf85b49fc))

* MAde some enhancements to teach pages ([`cc74f1b`](https://github.com/ocadotechnology/codeforlife-portal/commit/cc74f1bda9c4ce410130ef610ba073228333e9c9))

* Removed some old lingering templates from pre-teach/play days ([`aa4c507`](https://github.com/ocadotechnology/codeforlife-portal/commit/aa4c507ae57d2f97975f4c3fc8a7fc3fd97840fd))

* Email verification templates upgraded ([`112d001`](https://github.com/ocadotechnology/codeforlife-portal/commit/112d0019d4678a62d3a4e760697353f260dfc112))

* Upgraded teacher student transfer pages ([`169f128`](https://github.com/ocadotechnology/codeforlife-portal/commit/169f1283545f678168d7017b7731e4b463d2f872))

* Upgraded style of teacher adding external students ([`26e5d68`](https://github.com/ocadotechnology/codeforlife-portal/commit/26e5d6891207f53eb32c6339419a3f2434949008))

* Styled the new students page. ([`19c9767`](https://github.com/ocadotechnology/codeforlife-portal/commit/19c9767756ec1f91289de3eb83550c40a5261bc9))

* Moved the setting / resetting of student passwords into the student management page. ([`0625a8c`](https://github.com/ocadotechnology/codeforlife-portal/commit/0625a8cc575226050175c7aeaa0bd9db0f803e7a))

* Edited early migrations because non sqlite backend didn&39;t like some of it. ([`bdb76f3`](https://github.com/ocadotechnology/codeforlife-portal/commit/bdb76f34c1e548fff983404ab9086f31cf058c51))

* Sorted teacher edit account page ([`30cf2dd`](https://github.com/ocadotechnology/codeforlife-portal/commit/30cf2dd81f34f082caef1df808c6f506d7eda6c2))

* Sorted select box widths on CSS (now have with-title class) ([`0ed0148`](https://github.com/ocadotechnology/codeforlife-portal/commit/0ed0148e6e436f529d0258a6087c1598cde5b4df))

* Sorted organisation creation/joining screen except select box width ([`377fb00`](https://github.com/ocadotechnology/codeforlife-portal/commit/377fb00cd0e67f547aad1d5f26dbe53a8a56e271))

* Missed one button ([`d6b354a`](https://github.com/ocadotechnology/codeforlife-portal/commit/d6b354ac2cb4fc86fae6d8e939baf6eac040a8a6))

* Prettified manage organisation page ([`a40ac44`](https://github.com/ocadotechnology/codeforlife-portal/commit/a40ac449e9e647d0b961b3dad96c250b01500e2c))

* Added dev.yaml ([`61cf0fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/61cf0fe22c2e838a956894b51de1f79076f780da))

* Added hiding/showing with v basic javascript, to be prettified ([`71407b7`](https://github.com/ocadotechnology/codeforlife-portal/commit/71407b71a1ed3181d028ea1806d6345db4bad475))

* Added recaptcha keys ([`be8d293`](https://github.com/ocadotechnology/codeforlife-portal/commit/be8d2937d8df48c3553dc315c9dda483f779b4fe))

* Got play page working with forms and student login and signup, removed old views and templates ([`5de840b`](https://github.com/ocadotechnology/codeforlife-portal/commit/5de840bd59dc9ffe6efdd4722a0c36b38fb3832e))

* Class editing moved within class page, closing 43. ([`ee6d8bb`](https://github.com/ocadotechnology/codeforlife-portal/commit/ee6d8bbb7a856fecb205f624dc82b6779c941d59))

* Small stylistic changes. ([`5816c90`](https://github.com/ocadotechnology/codeforlife-portal/commit/5816c90713d619bce59e68a79ec7ea891b0e6165))

* Added teacher resource page with dummy links to be reviewed when there&39;s content for this page! Closes 47 ([`8c5532c`](https://github.com/ocadotechnology/codeforlife-portal/commit/8c5532cba67b900bc759fa7153934e8d3766d349))

* Updated reminder cards so that (until we have fun pics) we can close 45 ([`e1e15df`](https://github.com/ocadotechnology/codeforlife-portal/commit/e1e15dfd4284a403475eb1e9de60dc3d63ca82ff))

* Should add space between first and last names.... ([`2567a68`](https://github.com/ocadotechnology/codeforlife-portal/commit/2567a685f601cb33b57e9ce9e1ccdd316aa09760))

* Sorted teacher move student bug to sort where Teachers don&39;t have a Name field ([`d158eae`](https://github.com/ocadotechnology/codeforlife-portal/commit/d158eaeaff029e9e6d666070a2a8712d3a73ee13))

* New css files. ([`154a206`](https://github.com/ocadotechnology/codeforlife-portal/commit/154a206b1b89ed73d3c6d877960626f429d1d5f7))

* Added forgot password links into new teach/play html ([`924b2ca`](https://github.com/ocadotechnology/codeforlife-portal/commit/924b2ca7bdfa30f5b31e064e61338fc5d17eae0b))

* Adapted autoconfig for better deploy with 2FA ([`5f24781`](https://github.com/ocadotechnology/codeforlife-portal/commit/5f247813d44274cf3caf5039526932d157e18d38))

* Added two factor to setup.py so it deploys correctly! ([`fae923f`](https://github.com/ocadotechnology/codeforlife-portal/commit/fae923fb8666f33d1211dfe217c7228750e8bbe7))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`d310a22`](https://github.com/ocadotechnology/codeforlife-portal/commit/d310a22f8a0e9e2a35f820cc418d4bb8a5251378))

* Changed to random passwords of length six ([`9e5e916`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e5e91628f32647f4bcd039577c485c311b0313c))

* Missed a migration merge. ([`7452b73`](https://github.com/ocadotechnology/codeforlife-portal/commit/7452b73f94ea346f49994244e31358b0f7238871))

* Merge branch &39;2FA&39; ([`10467f6`](https://github.com/ocadotechnology/codeforlife-portal/commit/10467f6c34960eb983838052d470ed38629cadfd))

* Two factor authentication fully implemented. ([`62a98f2`](https://github.com/ocadotechnology/codeforlife-portal/commit/62a98f22f7301f2974d200b94a57438404a5b383))

* Got everything pulling and building ([`46b3d26`](https://github.com/ocadotechnology/codeforlife-portal/commit/46b3d261848b883f29f01c5f42b4c748ade642b9))

* Moved pip install to docker file ([`678d5d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/678d5d72e59132ddb8ab79dd7e55dd1bcad494fc))

* Changed to ssh and updated dockerfile ([`6ee1de9`](https://github.com/ocadotechnology/codeforlife-portal/commit/6ee1de9794b1b4710faae25cdafc9988429bcbe4))

* Added django-two-factor-auth library, works out of the box. ([`3683a5d`](https://github.com/ocadotechnology/codeforlife-portal/commit/3683a5db09bb02cb061029b773cd90cfbeacbfbf))

* Removing nuit from local setup because it isn&39;t used. ([`3dccc48`](https://github.com/ocadotechnology/codeforlife-portal/commit/3dccc480dd8137f6587da1caeb2be626928b5280))

* Migrated classes page to new style. ([`8ff73ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/8ff73ef8b79eb2c27bda8e4f09c32db88713967f))

* Migration for moving avatar to portal ([`5685dc7`](https://github.com/ocadotechnology/codeforlife-portal/commit/5685dc7bbda40642baee743891e8f58c7b864462))

* Moved avatar image to portal ([`545238e`](https://github.com/ocadotechnology/codeforlife-portal/commit/545238e5a4ab59af36f9cc179bd52c6ccb7fc258))

* Can sign up and log in using new forms. ([`d31a914`](https://github.com/ocadotechnology/codeforlife-portal/commit/d31a9143b56ec5e1afd5300c17820d46e320b79b))

* Merged ([`c3b46d7`](https://github.com/ocadotechnology/codeforlife-portal/commit/c3b46d785c9199b3f23cb4e45ec3c264b624baab))

* Switched to using autoconfig to save having to collect INSTALLED_APPS manually, and added game/ocargo to deploy ([`d94f2ec`](https://github.com/ocadotechnology/codeforlife-portal/commit/d94f2ec8f71f7d4627eba6320e6cf90bc46e6152))

* Migrated play page. ([`7440683`](https://github.com/ocadotechnology/codeforlife-portal/commit/74406837e191e0722523e24e677141f9845824bf))

* Added autoconfig ([`63df0e1`](https://github.com/ocadotechnology/codeforlife-portal/commit/63df0e15e7dfcf19692f4fad05dd1d52c48b238b))

* Made footer stick to bottom of screen. ([`4fb05a5`](https://github.com/ocadotechnology/codeforlife-portal/commit/4fb05a563b9307166bcc798b46ae1e12f0bfab99))

* Migrated teach page. ([`bc3e762`](https://github.com/ocadotechnology/codeforlife-portal/commit/bc3e7621f3130c38af7328cd560779749f12c50f))

* Migrate about/contact/terms/cookie/browser pages. ([`b1aaedb`](https://github.com/ocadotechnology/codeforlife-portal/commit/b1aaedb31a1d7cd299c0b74a869f9f9460d369f1))

* Changed portal admin user to be portaladmin ([`da3967b`](https://github.com/ocadotechnology/codeforlife-portal/commit/da3967bbb29cdd2a2e7830a0aac57a87d6a2ad4c))

* Merged in Chris&39; changes regarding colorbox and the youtube video. ([`f587f3b`](https://github.com/ocadotechnology/codeforlife-portal/commit/f587f3b9cca27babd7484374a7dbae015791998c))

* Moved js libraries into a lib directory to keep them separate from our js. ([`f218940`](https://github.com/ocadotechnology/codeforlife-portal/commit/f2189400009a2339811c0bd0ae58d97cfabe0a76))

* Templates for home page in new style. ([`72bee02`](https://github.com/ocadotechnology/codeforlife-portal/commit/72bee0236ee29005b048d8cd7048713802ac71b6))

* And deleting dbfile too... ([`96973c8`](https://github.com/ocadotechnology/codeforlife-portal/commit/96973c84478270ea97b76c813c533690fedd84ec))

* Removed pycs and added gitignore ([`af35d89`](https://github.com/ocadotechnology/codeforlife-portal/commit/af35d892b9915a9bb573abf68beb7bd9a5dd897b))

* First steps to having deployable cfl project - currently just with portal as installed app ([`e564d6f`](https://github.com/ocadotechnology/codeforlife-portal/commit/e564d6f589bb8212cb5669887f56b33650831ffd))

* First commit with README ([`857fabe`](https://github.com/ocadotechnology/codeforlife-portal/commit/857fabe6773ba276ac1f9b6a04928bfe19ff4b0e))

* Added manifest so templates and static stuff gets installed ([`0b5735e`](https://github.com/ocadotechnology/codeforlife-portal/commit/0b5735e483bd0bef2a90c0137e284ea5c44b2636))

* Added package data to setup.py ([`528c63e`](https://github.com/ocadotechnology/codeforlife-portal/commit/528c63e80a4bb645ac8dd4de09f14c031612958e))

* Corrected install requires, sorry ([`d69f984`](https://github.com/ocadotechnology/codeforlife-portal/commit/d69f98492d12c4f5cd578806d214f7cc894be1cc))

* Revised setup.py with django url as dependency link ([`5b4e5ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/5b4e5ef1aafd3584a6f3a1e86e5ce1e9d884bac7))

* Revised setup.py without django url ([`2e12d51`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e12d51a88fbd3101f66914f17c14119d6e6e1b5))

* Revised setup.py to include install_requires ([`14f137c`](https://github.com/ocadotechnology/codeforlife-portal/commit/14f137c123b51d1fe43bacbd87e0ee5ab6a6d9e8))

* Revised setup.py ([`5c71d97`](https://github.com/ocadotechnology/codeforlife-portal/commit/5c71d97bb605b4f6153e997b96a287f504b117f7))

* Revised setup.py ([`65e2a69`](https://github.com/ocadotechnology/codeforlife-portal/commit/65e2a6909dd70c6ba2e9c4dec0e304bf0f57b908))

* Added setup.py towards deployment app... ([`9919c17`](https://github.com/ocadotechnology/codeforlife-portal/commit/9919c179396aa066b19d7128c17b19efa94e8944))

* Student email is now required but not unique, also they also have a first name. ([`058c1cc`](https://github.com/ocadotechnology/codeforlife-portal/commit/058c1cccc39fa779c40146269224de1fe72b933a))

* Student names are now treated (but not stored) case insensitively and leading/trailing/multiple whitespace is ignored. Also the lists are sorted alphabetically in the couple other places they appear. ([`6f42ada`](https://github.com/ocadotechnology/codeforlife-portal/commit/6f42ada92b7914943e3387de2c3e23dbecd2b196))

* Changed urls to make a little more sense? ([`ed07606`](https://github.com/ocadotechnology/codeforlife-portal/commit/ed0760659b9839183293299bd0a2f8b751a35343))

* Sorted individual user password resetting, and then corrected/customised teacher password resetting to deal with emails now not being unique across entire user base (individual users email addresses are not enforced unique) ([`5d225b0`](https://github.com/ocadotechnology/codeforlife-portal/commit/5d225b07658efb261d8e624cecb96ee6447e983c))

* Added back solo login form for now (Chris to front-endify so that there&39;s a dynamic login defaulting to school children login) ([`ba3169d`](https://github.com/ocadotechnology/codeforlife-portal/commit/ba3169d78e6d959be299ecb4a5f871e69dedcc20))

* Finally have the ability to transfer students! ([`527c9d5`](https://github.com/ocadotechnology/codeforlife-portal/commit/527c9d543db9b06e80ddc2e8b7f6e76af7098fad))

* Added a map screen showing schools using Google Maps. First attempt at 12. ([`c143278`](https://github.com/ocadotechnology/codeforlife-portal/commit/c143278f2ea65ef91e3b4b55170382a67ef6e38d))

* Students in a class are listed alphabetically and it displays a total. ([`dc455af`](https://github.com/ocadotechnology/codeforlife-portal/commit/dc455af3c711b7fb3eeeb849522a6904914033a6))

* Student adding splits on semi-colons, commas and newlines. ([`7363e74`](https://github.com/ocadotechnology/codeforlife-portal/commit/7363e742ef90095013cadb363e45ee617df05400))

* Removed css links from html files and corrected base templates. ([`ce4f814`](https://github.com/ocadotechnology/codeforlife-portal/commit/ce4f814fd5aa1d916fa82a8178fb8ea2a216f7c7))

* When a teacher leaves an organisation or is kicked, they must choose a teacher to send each class to. ([`6903396`](https://github.com/ocadotechnology/codeforlife-portal/commit/69033969efe0212d713d1b997fb5e70c312836f3))

* Added validation of postcodes, using a python library which is a thin wrapper around uk-postcodes.com ([`c75c2c2`](https://github.com/ocadotechnology/codeforlife-portal/commit/c75c2c23442c411e86df41f52b7e49d247e6969f))

* Added the notion of multiple admins. ([`49f70dc`](https://github.com/ocadotechnology/codeforlife-portal/commit/49f70dc66b69b2ce6791b313ddbcb8084dfa4409))

* Changed organisation fuzzy lookup to use jquery where appropriate. ([`45c03fa`](https://github.com/ocadotechnology/codeforlife-portal/commit/45c03fa315375ff29fe7e8d05c7dd7350ab21388))

* Added jquery back into project. Version 1.9.1 does support IE8. ([`b60eeb6`](https://github.com/ocadotechnology/codeforlife-portal/commit/b60eeb6aab872104fae5b1a5f453ff71553f0aa6))

* Finished merge and removed compress tags etc ([`75f2e00`](https://github.com/ocadotechnology/codeforlife-portal/commit/75f2e00c693756a8c2cfa7e1b3341ddc6b1bba30))

* Towards a successful merge into new system ([`a83af0d`](https://github.com/ocadotechnology/codeforlife-portal/commit/a83af0d6c571ccbad15f627fa71e067ea85187d4))

* Some work towards transferring students between classes ([`2bb141d`](https://github.com/ocadotechnology/codeforlife-portal/commit/2bb141df31fcfe240f02cd5d195378278335586a))

* Move class to another teacher in school feature added ([`8e128b5`](https://github.com/ocadotechnology/codeforlife-portal/commit/8e128b526332395164f69b4690ed4b050e4a07c0))

* Added a postcode field to organisations and fuzzy lookup based on name or postcode. ([`059255f`](https://github.com/ocadotechnology/codeforlife-portal/commit/059255f1bef03e0ecb7e879e6b97e1da6ae8afcd))

* Removed compress tags, duh ([`97bab15`](https://github.com/ocadotechnology/codeforlife-portal/commit/97bab159829e3c75b4b79961b25709ee385dd55c))

* Removed what nuit required ([`593dc86`](https://github.com/ocadotechnology/codeforlife-portal/commit/593dc86162aa938837ed561e350f2a9ccf29675d))

* Removing nuit.

Overkill for this project. Needs to support IE8 (for the portal at least),
and Chris can build anything we require relatively quickly. The bloat
outweighs the benefits.

Can always be added later if required...! ([`3ad5a77`](https://github.com/ocadotechnology/codeforlife-portal/commit/3ad5a773912722534fd4f21018e2e0baf6691f07))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`c15b24e`](https://github.com/ocadotechnology/codeforlife-portal/commit/c15b24e7d26d52d5d7c17af546cba6eece306f3a))

* Redirect after sending email to avoid refresh duplicate sending ([`2e25039`](https://github.com/ocadotechnology/codeforlife-portal/commit/2e2503956c14598aad3f0a8984d5d513d5cef355))

* Forgot the app_settings file ([`d60cdb0`](https://github.com/ocadotechnology/codeforlife-portal/commit/d60cdb01bb5e05e31f945beebdcdff887aec79a6))

* Added contact us form ([`575b508`](https://github.com/ocadotechnology/codeforlife-portal/commit/575b5081e8b580ec17c36b91c075b88b68f81869))

* Fixed timezone warning. ([`3fbc896`](https://github.com/ocadotechnology/codeforlife-portal/commit/3fbc896042621aaaeea01158036693273bfca13b))

* Missed the registration pages after deleting basenonav, fixed ([`7ff38fe`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ff38fe16454d53f66508a7be8b6077819de5828))

* Verification when changing email address now works. You can still log in with your old one until you verify the new one. ([`7b38634`](https://github.com/ocadotechnology/codeforlife-portal/commit/7b38634d0c0866356564b729714a466cdb734062))

* Removed all styling etc, ready for front-end styles ([`832f283`](https://github.com/ocadotechnology/codeforlife-portal/commit/832f28369c139d0284950ef29c2165a0ecb6fc0b))

* Changed views to use new template structure ([`3e27d46`](https://github.com/ocadotechnology/codeforlife-portal/commit/3e27d4641bbd7c1d81658e2f92ec271513f55055))

* Fixed merge conflict ([`6591978`](https://github.com/ocadotechnology/codeforlife-portal/commit/659197886d6e2ea909ce2042f82279c3e859f8dd))

* First rework of templatess for UI work later ([`a921ec3`](https://github.com/ocadotechnology/codeforlife-portal/commit/a921ec328469b61288893f6b4f6324dafc7871b4))

* Added/adapted settings/etc ready for potential deployment... ([`1503561`](https://github.com/ocadotechnology/codeforlife-portal/commit/15035611d21061e886a0169856b41c6c6585ffeb))

* Added slashes to urls. ([`6df5a90`](https://github.com/ocadotechnology/codeforlife-portal/commit/6df5a904f0212ea1f397ec0960d9063650e21831))

* Now the class access_code is used in the url rather than the class id. ([`f7a1cba`](https://github.com/ocadotechnology/codeforlife-portal/commit/f7a1cba2b9aa2acb90e85fac396c83a1baec9987))

* When a teacher leaves a school, for whatever reason, transfer their classes to the school admin. ([`0015a00`](https://github.com/ocadotechnology/codeforlife-portal/commit/0015a007dcb63107d5b854c30ade3504e95b4005))

* Added more explanation of independent people joining classes to teacher page... ([`5783351`](https://github.com/ocadotechnology/codeforlife-portal/commit/57833519d1db1d23bd8f5e697ffeef05287efde1))

* Made printing reminder cards with passwords use POST rather than GET so at least the passwords don&39;t appear in the url. ([`6cb868c`](https://github.com/ocadotechnology/codeforlife-portal/commit/6cb868c33aa94b0cc47861ada4e687939d042d48))

* Back buttons added on password resetting screens ([`ddc0d27`](https://github.com/ocadotechnology/codeforlife-portal/commit/ddc0d27fddc5024bd0661a98329e7759a17eedea))

* Wrong one ([`9c516fa`](https://github.com/ocadotechnology/codeforlife-portal/commit/9c516fae89fae195de44ee84205d2f95e6083b28))

* Changed a back buttom to a cancel ([`846a97b`](https://github.com/ocadotechnology/codeforlife-portal/commit/846a97bf03feae873ab4563f2b714c33fb0eb62c))

* Added a couple more cancel buttons and a missed logout header ([`1adb1c0`](https://github.com/ocadotechnology/codeforlife-portal/commit/1adb1c09410d60ff5557ecef85777675570e2a53))

* Added &39;My Classes&39; button to organisation management screen ([`433d5de`](https://github.com/ocadotechnology/codeforlife-portal/commit/433d5de22c4f2e85db2cb165dbf08f47d3dcbc45))

* Added the ability to print reminder cards with passwords for students just added. ([`376959c`](https://github.com/ocadotechnology/codeforlife-portal/commit/376959c8fca0fa29ff49b7798f0742f6808df63a))

* Added generation of pdf reminder cards. ([`b549070`](https://github.com/ocadotechnology/codeforlife-portal/commit/b549070047c05d77521476bd18cb6ded469e2120))

* Added classes button ([`34aef46`](https://github.com/ocadotechnology/codeforlife-portal/commit/34aef463e57ebac39a27b8ac7e6bb54972e10d4f))

* Added lots of back and cancel buttons ([`2b84c48`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b84c48dc2e317338693712b59a9e4c396a4f406))

* Added a couple of back buttons ([`d31a5e3`](https://github.com/ocadotechnology/codeforlife-portal/commit/d31a5e350043e450bc509277cd25063c000a69ce))

* Added full functionality for individual students to join organisation ([`c19305b`](https://github.com/ocadotechnology/codeforlife-portal/commit/c19305b871b81c6b33b966e9de90cbf95238687f))

* Moved email messages into a separate file and added more sendings of emails. ([`3c87415`](https://github.com/ocadotechnology/codeforlife-portal/commit/3c8741596aeec0f8dbc02efad9e56e0a7a291cd1))

* Corrections for admin checks and views ([`69aab23`](https://github.com/ocadotechnology/codeforlife-portal/commit/69aab2365b303222eec6a0854e652323c31e01ba))

* Added permissions checks for urls using pk etc ([`dd1776f`](https://github.com/ocadotechnology/codeforlife-portal/commit/dd1776f769018360080260bc63b3371fb6872dc5))

* Added verification of email address when teacher changes email ([`f090cc8`](https://github.com/ocadotechnology/codeforlife-portal/commit/f090cc8a120bbb9de4b75232e5362655a3917f14))

* Added ability for individual students to change and verify their email ([`722fbee`](https://github.com/ocadotechnology/codeforlife-portal/commit/722fbee13532b4d7e0c04d37e5df12675fd4fe7e))

* Missed files in previous commit! ([`8227a97`](https://github.com/ocadotechnology/codeforlife-portal/commit/8227a97dc9576783ffce1d81d4b25854a08848bc))

* Changed email verification to be usertype agnostic and added to individual students who provide email address. Model changed to keep awaiting verification flag in UserProfile (defaults to False) rather than the negation in Teacher ([`5a4fca6`](https://github.com/ocadotechnology/codeforlife-portal/commit/5a4fca6ab34a39c81770ba5c31fb7ff9acfbc33d))

* Moving towards integrating individual students into setup, allowing them to edit more account details, plus some redirects added to handle people going to unexpected urls they have no permissions for ([`8cc5797`](https://github.com/ocadotechnology/codeforlife-portal/commit/8cc5797384497a5bde9c32e4d6942397f273bce7))

* Corrected email check stub bug ([`cdae165`](https://github.com/ocadotechnology/codeforlife-portal/commit/cdae16532cb74bbbd168504b7179b8c6973bd297))

* Added individual student signup and login ([`c2ab16f`](https://github.com/ocadotechnology/codeforlife-portal/commit/c2ab16feea85d239b2c5513cfb33fbe7b0b090e2))

* Make Student class_field nullable to enable identification of individual students ([`55b3037`](https://github.com/ocadotechnology/codeforlife-portal/commit/55b3037478e54d84fbcc7dddc2fdd4b5efef3b94))

* Now using django messages to notify the user about whatever action they just performed. ([`6e8147a`](https://github.com/ocadotechnology/codeforlife-portal/commit/6e8147aeb339f93da9a6983afa84bfec690a2067))

* Corrected mis-redirect for teacher setting student password ([`2a33b2f`](https://github.com/ocadotechnology/codeforlife-portal/commit/2a33b2f7cec1a243cbf0a19389fe51b5fc546fe0))

* removed password reset view - handled thru django automatically ([`442a08e`](https://github.com/ocadotechnology/codeforlife-portal/commit/442a08ef7fdd99b2f330e8a66a3b76fb88b00487))

* Added ability for teacher to set password of students closing 34 ([`7fa28ba`](https://github.com/ocadotechnology/codeforlife-portal/commit/7fa28ba2d40c883354002431452ef8ef4fd90efe))

* Removed teachers from password reset - to be reused for orphaned students ([`823d107`](https://github.com/ocadotechnology/codeforlife-portal/commit/823d10784cde0e1cea189dd11372842a9901344b))

* Password reset implemented - some UI to tidy ([`17016d6`](https://github.com/ocadotechnology/codeforlife-portal/commit/17016d6fdaac70883e0260ceafca47d334e1b32f))

* Added functionality to kick/transfer/allow/deny buttons for organisation admin management. ([`13a8909`](https://github.com/ocadotechnology/codeforlife-portal/commit/13a8909b42121a29fabdcdfd575313cb3625ad88))

* Created organisation management page, with stubs for the actions. ([`6004797`](https://github.com/ocadotechnology/codeforlife-portal/commit/6004797b0aca327ebb320c4d0491e5d4ff1c7b21))

* Added student change password ability - use same page to allow orphaned students to change other details ([`1f38bc0`](https://github.com/ocadotechnology/codeforlife-portal/commit/1f38bc09ff52bf20b395e0542bf5be29aa146393))

* Changed from using filter to get_object_or_404 ([`4d13221`](https://github.com/ocadotechnology/codeforlife-portal/commit/4d13221f3642bbaad8ae5cecf73fd02dde4a9b6d))

* Added student editing (just name for now) from within teacher portal ([`2af78e2`](https://github.com/ocadotechnology/codeforlife-portal/commit/2af78e246efc1dde9c9e63e119df9df1aeae112c))

* Password resetting for students accounts from teachers class list ([`1352bab`](https://github.com/ocadotechnology/codeforlife-portal/commit/1352baba0b5ac17fcc3eb1b31e7683005d073ef5))

* Sorted no tokens for first logon for students and added class editing (just name to edit atm) ([`51d5137`](https://github.com/ocadotechnology/codeforlife-portal/commit/51d5137399762c11abffde667d543fb300d8c1be))

* Removed student temporary password tokens and expiries from model ([`06d7d25`](https://github.com/ocadotechnology/codeforlife-portal/commit/06d7d25cfdd704f2a1615e809cf1c8157b70d866))

* Migration merge ([`062f9ea`](https://github.com/ocadotechnology/codeforlife-portal/commit/062f9ea2f032589a93bffeb7d9c2c97e0ec61355))

* Redone class management stuff to suit new student model ([`fe8e1ef`](https://github.com/ocadotechnology/codeforlife-portal/commit/fe8e1ef297bc5890941b36e2cd6ae4933f219ad9))

* Added the ability to send off organisation join requests. ([`19a73e7`](https://github.com/ocadotechnology/codeforlife-portal/commit/19a73e74901a26d5237a630c8ee8b8609f948541))

* Added login decorators to only allow teachers or students onto the correct pages. ([`7ac2759`](https://github.com/ocadotechnology/codeforlife-portal/commit/7ac2759a87771f455042db8c2904748eb74e2e8e))

* Merge branch &39;master&39; of https://github.com/ocadotechnology/codeforlife-portal ([`0205faf`](https://github.com/ocadotechnology/codeforlife-portal/commit/0205fafae5e98ee89f898921ed2e92508d43f200))

* Organisation creation with admin assignment and a couple of changes from length checks to exists calls for QuerySets ([`30e6851`](https://github.com/ocadotechnology/codeforlife-portal/commit/30e685107641ae48f66d0328756be8731b73c377))

* Changed from length check to more efficient exists

See https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.exists ([`572d4de`](https://github.com/ocadotechnology/codeforlife-portal/commit/572d4de94ec40fcccbe28d7e3438a64ef66c624a))

* Merged! ([`15a8968`](https://github.com/ocadotechnology/codeforlife-portal/commit/15a8968336600c562e287e3f0daf3c78c3021377))

* First go of create organisation (some stubs) ([`6b812c6`](https://github.com/ocadotechnology/codeforlife-portal/commit/6b812c639e3468cb5d5d72aadc78169a15566926))

* Added verification of teacher email addreses. ([`860db3d`](https://github.com/ocadotechnology/codeforlife-portal/commit/860db3d1a5afa922e31ed1cbbc4f65459e5a4d9a))

* Added reCaptcha stuff, missing keys currently, so fields in the relevant forms we have so far are commented out. Towards 26 ([`b25065f`](https://github.com/ocadotechnology/codeforlife-portal/commit/b25065fea3a414d46e6152a7003553392139f93c))

* Merged! ([`c9612f5`](https://github.com/ocadotechnology/codeforlife-portal/commit/c9612f50e542d92ba9a43f6b326fed1fdce399c1))

* Added hyperlink to teacher account detail update page for now ([`3fb2120`](https://github.com/ocadotechnology/codeforlife-portal/commit/3fb21206c62c7e393f6e86ede4c268b3facd246f))

* Teacher editing added ([`69ddff4`](https://github.com/ocadotechnology/codeforlife-portal/commit/69ddff44d213eacfb2ff8f31dc4220315be905b7))

* Can now log in as a student. Closing 19. ([`64ed7a7`](https://github.com/ocadotechnology/codeforlife-portal/commit/64ed7a7c207b1c7eb9286c3ac5f74bd4b6ed863f))

* Teachers can now create and add students to their classes. Closing 4. ([`7a91763`](https://github.com/ocadotechnology/codeforlife-portal/commit/7a91763182a9ee1c527635368239b5f754d01296))

* Generated class access codes are now unique as per 14. ([`52b8e9a`](https://github.com/ocadotechnology/codeforlife-portal/commit/52b8e9ae2feff4c0e965d0714f4bdad3d36ab0e9))

* Added content to class page. ([`4929539`](https://github.com/ocadotechnology/codeforlife-portal/commit/4929539b5cf473f4a72bed58a777779499954178))

* Added a blank class details page with links to it from the classes table. ([`7f0964c`](https://github.com/ocadotechnology/codeforlife-portal/commit/7f0964c214a7063fd9e538347aa91a9e63f36dbf))

* Can now add and list all classes for a teacher. ([`c7cfc7f`](https://github.com/ocadotechnology/codeforlife-portal/commit/c7cfc7fa19928e5e955afc2b47020d53ffc285de))

* Renamed teacher_home to teacher_classes ([`e273e02`](https://github.com/ocadotechnology/codeforlife-portal/commit/e273e0253fa6f7cce85e084995ae8cb04aa23cfc))

* Changed relationship of models to classes >- teachers >- schools because mockups assume that a teacher only belongs to one school. ([`185e170`](https://github.com/ocadotechnology/codeforlife-portal/commit/185e1702d1561557e5c24333ded8a9bde15d9db1))

* Added logout button which involved changing header structure. ([`85461ad`](https://github.com/ocadotechnology/codeforlife-portal/commit/85461ad22602763bc5ca0e18ad763024f92665de))

* Removed hard-coded URLs - fixed 13 ([`2b3d958`](https://github.com/ocadotechnology/codeforlife-portal/commit/2b3d9589e8c5ee356e67b913aa77e5b97b0a43a3))

* Can log in and out as a teacher. ([`453b15c`](https://github.com/ocadotechnology/codeforlife-portal/commit/453b15c40c67d7177c02090b5e359520c8bb0108))

* Converted teacher signup form to be a django form and you can create teachers. ([`2bcd911`](https://github.com/ocadotechnology/codeforlife-portal/commit/2bcd9110fb3ad00ee2a88608f6011b9b669c41b4))

* Removed the background from the footer because it looked ugly. ([`fb11c3d`](https://github.com/ocadotechnology/codeforlife-portal/commit/fb11c3dbc77b965c7862590c94270ad5b6d2ebbc))

* Added HTML for the rest of the forms and a rather ugly landing page to direct you to the right one. ([`9e88c42`](https://github.com/ocadotechnology/codeforlife-portal/commit/9e88c420fee1409a6182d688aa40da0bff0b9c77))

* HTML for teacher login form. Following the style of the launch page. ([`39b923d`](https://github.com/ocadotechnology/codeforlife-portal/commit/39b923d129a017abd4ec6c0a9fd7c31bf001bf60))

* Setup database, models copied over from ocargo. ([`1d84122`](https://github.com/ocadotechnology/codeforlife-portal/commit/1d841229c564c0f5b8961b6056199ab26db42abf))

* Initial application, a single blank page. ([`9475853`](https://github.com/ocadotechnology/codeforlife-portal/commit/9475853944ba7c82add57d088aec0461d384f68c))

* Initial commit ([`21a51d9`](https://github.com/ocadotechnology/codeforlife-portal/commit/21a51d9e5685c0f20b5ff72046c579c23cd49de5))

Page 94 of 94

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.