* Change around POST code for demographics modal
CSRF tokens were not working on stage when the user does not have an
entry in the demographics db when using the modal. This restructures the
code a bit and hopefully fixes the problem.
* Remove logs
* Rework things into smaller digestable functions
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.
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
* A modal used to collect demographics information
Add checkmark to final page (#24957)
Remove themeing to get ready for staging
MICROBA-574 | Dismiss CTA after learner finishes answering modal questions (#24965)
[MICROBA-574]
- Dismiss CTA after learner finishes answering demographics questions
- Cleanup comments
* Various initial bugfixes
- fixes 2 issues with the multiselect dropdown erasing state
- prevents input higher than 255 characters in the self describe
- fixes 400 errors when the user selects a default option
- Removes additional page count section
- Re-adding deleted JS file. Can't clean this up until after we cutover to using the new Demographics modal
* Add translatable string to clear button
* Remove extra page counter from the header for the third time
* Remove unneeded template context
Co-authored-by: Matt Tuchfarber <mtuchfarber@edx.org>
Co-authored-by: Justin Hynes <jhynes@edx.org>
Instead of going up the stacktrace to find the module names of waffle
flags and switches, we manually pass the module __name__ whenever the
flag is created. This is similar to `logging.getLogger(__name__)`
standard behaviour.
As the waffle classes are used outside of edx-platform, we make the new
module_name argument an optional keyword argument. This will change once
we pull waffle_utils outside of edx-platform.
Note that the module name is normally only required to view the list of
existing waffle flags and switches. The module name should not be
necessary to verify if a flag is enabled. Thus, maybe it would make
sense to create a `add` class methor similar to:
class WaffleFlag:
@classmethod
def add(cls, namespace, flag, module):
instance = cls(namespace, flag)
cls._class_instances.add((instance, module))