feat: add waffle flag for beta testing new problem editor parser (#35184)
* feat: add waffle flag for beta testing new problem editor parser * chore: remove commented out code * fix: failing test
This commit is contained in:
@@ -159,6 +159,18 @@ def use_new_problem_editor():
|
||||
return ENABLE_NEW_PROBLEM_EDITOR_FLAG.is_enabled()
|
||||
|
||||
|
||||
# .. toggle_name: new_core_editors.use_advanced_problem_editor
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: This flag enables the use of the new core problem xblock advanced editor as the default
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2024-07-25
|
||||
# .. toggle_target_removal_date: 2024-08-31
|
||||
# .. toggle_tickets: TNL-11694
|
||||
# .. toggle_warning:
|
||||
ENABLE_DEFAULT_ADVANCED_PROBLEM_EDITOR_FLAG = WaffleFlag('new_core_editors.use_advanced_problem_editor', __name__)
|
||||
|
||||
|
||||
# .. toggle_name: new_editors.add_game_block_button
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
|
||||
@@ -521,6 +521,7 @@ class GetItemTest(ItemTest):
|
||||
problem1 = self.create_xblock(
|
||||
parent_usage_key=vert_usage_key, display_name="problem1", category="problem"
|
||||
)
|
||||
print(problem1)
|
||||
problem_usage_key = self.response_usage_key(problem1)
|
||||
|
||||
def assert_xblock_info(xblock, xblock_info):
|
||||
@@ -556,7 +557,11 @@ class GetItemTest(ItemTest):
|
||||
xblock = parent_xblock
|
||||
else:
|
||||
self.assertNotIn("ancestors", response)
|
||||
self.assertEqual(get_block_info(xblock), response)
|
||||
xblock_info = get_block_info(xblock)
|
||||
# TODO: remove after beta testing for the new problem editor parser
|
||||
if xblock_info["category"] == "problem":
|
||||
xblock_info["metadata"]["default_to_advanced"] = False
|
||||
self.assertEqual(xblock_info, response)
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
|
||||
@@ -33,6 +33,7 @@ from xblock.core import XBlock
|
||||
from xblock.fields import Scope
|
||||
|
||||
from cms.djangoapps.contentstore.config.waffle import SHOW_REVIEW_RULES_FLAG
|
||||
from cms.djangoapps.contentstore.toggles import ENABLE_DEFAULT_ADVANCED_PROBLEM_EDITOR_FLAG
|
||||
from cms.djangoapps.models.settings.course_grading import CourseGradingModel
|
||||
from cms.lib.ai_aside_summary_config import AiAsideSummaryConfig
|
||||
from common.djangoapps.static_replace import replace_static_urls
|
||||
@@ -184,6 +185,11 @@ def handle_xblock(request, usage_key_string=None):
|
||||
# TODO: pass fields to get_block_info and only return those
|
||||
with modulestore().bulk_operations(usage_key.course_key):
|
||||
response = get_block_info(get_xblock(usage_key, request.user))
|
||||
# TODO: remove after beta testing for the new problem editor parser
|
||||
if response["category"] == "problem":
|
||||
response["metadata"]["default_to_advanced"] = (
|
||||
ENABLE_DEFAULT_ADVANCED_PROBLEM_EDITOR_FLAG.is_enabled()
|
||||
)
|
||||
if "customReadToken" in fields:
|
||||
parent_children = _get_block_parent_children(get_xblock(usage_key, request.user))
|
||||
response.update(parent_children)
|
||||
|
||||
Reference in New Issue
Block a user