This uses the new names introduced in edx-django-utils
3.8.0 (edx/edx-django-utils#59), which we're already using, as
well as updating a few other locations where we incorrectly refer
to New Relic custom metrics instead of custom attributes.
Includes a couple of unrelated lint fixes in a file I modified.
This is cherry-picked verbatim from
zafft/analytics-exporter-settings-hotfix (#18530). I'm fear that
without merging these changes upstream, a larger set of courses will be
consdiered for processing, and that would alter the behavior of the
analytics-email-optin-* jobs.
The test was only freezing time for the first two calls to password reset
which meant that sometimes the last call to reset password was far enough
in the future to not be affected by the rate limiting.
We move the freeze_time context manager to outside of all the password
reset calls to make things more reliable.
Previously, we'd been avoiding PLS due dates for ORA *sections*.
That is, if a section had only ORA content, we'd not set a PLS
due date for anything in that section.
If any content in that section had non-ORA graded content however,
we would set dates on all subsections, including the ORA one.
This resulted in some ORA-only subsections showing up twice on the
dates tab. So this patch simply brings down the ORA-only check
to a *subsection* level, not a section one.
* Add CSRF tokens to demographics modal PATCH
We have temporarilly copied over the CSRF code from frontend-platform to
use with the demographics modal. This code is most likely temporary and
is not maintained like frontend-platform.
Since code-annotations==0.7.0, incremental_release, launch_date,
monitored_rollout, graceful_degradation, beta_testing are all considered
as "temporary" use cases.
* Fix demographics wizard bug - pages not showing.
This bug was caused by uglifyjs in 2 ways:
- uglify strips out type information. This was mitigated by using the
React.Children tools to prevent the type information from being
striped out.
- uglify mangles names of components. We were searching for components
by a string of the name. This was solved by using the name property
directly off of the component, as opposed to a string.
* Clean up the children function