- Rename escape_json_dumps to dump_js_escaped_json
- Rename escape_js_string to js_escaped_string
- Update js_escaped_string to output empty string for None
- Introduce dump_html_escaped_json
- Move dump_js_escaped_json after the pipe as new best practice
- Introduce additional uses of helpers
- Introduce new djangolib directory and move js_utils
Make escaping for json simpler and more consistent in Mako templates
- add escape_json_dumps to escape and json.dumps
- add escape_js_str to escape javascript string
- refactor Studio to use escape_json_dumps in Mako templates
TNL-2646: Escape json.dumps
Change third party auth login failure code to a 401, to detect authentication
success with no linked account.
If already authenticated, redirect immediately to the dashboard.
Use "Location" header correctly for 302 redirects from student views.
Add utility functions for simulating a running third-party auth pipeline.
Add a utility function for checking whether third party auth is enabled.
Respect default values sent by the server
The next step in the password reset process (confirmation) continues to be handled by student.views.password_reset_confirm_wrapper, a custom wrapper around Django's password reset confirmation view.
Add Python APIs for account/profile information to user_api
Updating profile page to have social linking
Authors: Renzo Lucioni, Alasdair Swan, Stephen Sanchez, Will Daly