rest_framework.fields.BuiltinSignatureError: Field source for `InstructorInfoSerializer.title` maps to a built-in function type and is invalid. Define a property or method on the `str` instance that wraps the call to the built-in function.
Co-authored-by: Muhammad Faraz Maqsood <faraz.maqsood@A006-01130.local>
There are two different views and entry points for components and containers, which have the same logic and filters. In this PR, a single view has been created that allows you to get all links or filter them by component or container.
* Rename `DownstreamComponentsListView` and mark it as deprecated.
* Mark `DownstreamContainerListView` as deprecated.
* Update `DownstreamSummaryView` to support container on the summary.
* Add `show` param in `get_course_outline_url`
Both 'provider' and 'provider_type' have been used for storing the discussion provider type in course 'discussions_settings' field, there are some places in the code checking for 'provider' and others checking for 'provider_type', in some cases this can cause a bug where it doesn't detect the correct provider which causes discussion settings not being copied correctly when a course is cloned.
This change prioritises the `provider_type` setting over `provider` and reads `provider` only as a fallback. The `provider` setting is now made read-only just for backwards-compatibility, to avoid confusion.
This adds a migration to turn on the new React-based Markdown editing option
for newly-created ProblemBlocks for all authors. The option is nested
under "Advanced settings", just like the Advanced (OLX) problem editor.
The migration is written such that it will *not* overwrite an existing global
"No" waffle flag. Furthermore, our waffle utilities are designed such that
org-level and course-level overrides will still take preference over the flag
that the migration creates. Therefore, this should only take effect in cases
where no existing waffle flag applies.
BREAKING CHANGE: Operators who do not want the new React-based Markdown editor
to be shown should create a flag contentstore.use_react_markdown_editor with
the value "No".
We plan to backport this to Teak.
Prior art for flipping waffles like this: 9b0024376a
Part of: https://github.com/openedx/platform-roadmap/issues/384
Co-authored-by: Muhammad Anas <muhammad.anas@arbisoft.com>
- Refactor of `test_containers.py` 8b9731dfa1
- Updates the `content_libraries/api/containers` and `content_libraries/rest_api` to support:
- Basic CRUD for sections and subsections as containers
- Basic CRUD support for section and subsection children
- Updates the `content/search` to support:
- Basic CRUD for sections and subsections as containers in the search index
- Basic CRUD support for section and subsection children in the search index
- Updates the `content_libraries/tests/test_containers.py` to test the new support
- Updates the `content/search/tests` to test the new support.
- I verified that the add/remove to collection works without major changes. Tests updated
Fixes an error that is triggered when trying to copy/pasting Drag-and-drop block into Courses.
When a block is pasted into a Course or Library, we perform a search/replace on block's data to replace any old static URLs with their new path. Ordinary blocks like HTML and Video have a simple string of data where static URLs may live, but DnDv2 blocks have a dict of data which can contain other dicts and lists of strings that need to be modified. Other XBlocks may have similarly complex structures, and so this fix will resolve them as well.
This fixes the issue by recursing into the data structure to locate all the strings where replacements may need to be made.
This fix helps Course Authors use content staging in their Courses.