* 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
* Add remote IP to logging config
Add a new filter to get the remote IP for the current
request and include it in log statements
SEG-34
* Added line for formatting
Added line for formatting
SEG-34
* 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))