* Convert to using ExitStack instead of nested.
nested is not available in Python3.
* Use ExitStack from contextlib2.
ExitStack has not been backported to the Python 2.7 standard library and
contextlib.nested is no longer available in Python 3.5. We need to be
able to use something in both 2 and 3 as we transition so we'll pull in
contextlib2 which has backports of the full python3 contextlib.
Prior to this commit, it was possible for course authoring teams
to import and execute Mako templates using the obscure "customtag"
tag (CustomTagModule). Since Mako templates can run Python code
(e.g. imports, database queries, etc.), this would give a course
team the ability to execute arbitrary, unsandboxed code on the
server.
This commit converts CustomTagModule to use the Python library's
string.Template instead. This should be broadly compatible with
the most basic and common usage of customtag, which is simple
variable substitution in the style of ${var_name}.
Usernames containing unicode characters were
reportedly not showing up correctly in the
registration form when registered with MOE/SAML,
FB and Google.
This change fixes the issue by overriding the
django setting SOCIAL_AUTH_CLEAN_USERNAMES to
disable the default username check that wasn't
allowing non-ascii values.
The old Notes Django app is the only caller of this no longer
supported library. I have verified that this old app is no
longer functional and is already slated to be removed as part
of DEPR-18.
So this commit simply removes the call to firebase-token-generator
and leaves removal of the Notes app to DEPR-18.
The `DEFAULT_SHOW_RESET_BUTTON` is not actually referenced anywhere
other than in these two places where it's read. As far as I can tell,
nothing sets this value so it's always going to fallback to false.
Since this mixin is imported during startup, removing this unblocks
testing on python3 where it can fail to start up if the settings haven't
fully loaded before you try to access them.
This type of email is just a transactional message
and should not be crediting revenue to email. Removed
UTM parameters and added ?track=pwreset query param.
PROD-482