From 8ccfb5841e81ef68a011ad6b08dae8b4a36f9e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20M=C3=A9ndez?= Date: Mon, 9 Feb 2026 11:42:03 -0600 Subject: [PATCH 1/2] feat: Add enable_authz_course_authoring flag to course_waffle_flags endpoint --- .../rest_api/v1/serializers/course_waffle_flags.py | 9 +++++++++ openedx/core/toggles.py | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_waffle_flags.py b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_waffle_flags.py index 2d0785459069..5e6be8046b7b 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_waffle_flags.py +++ b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_waffle_flags.py @@ -5,6 +5,7 @@ from rest_framework import serializers from cms.djangoapps.contentstore import toggles +from openedx.core import toggles as core_toggles class CourseWaffleFlagsSerializer(serializers.Serializer): @@ -31,6 +32,7 @@ class CourseWaffleFlagsSerializer(serializers.Serializer): use_react_markdown_editor = serializers.SerializerMethodField() use_video_gallery_flow = serializers.SerializerMethodField() enable_course_optimizer_check_prev_run_links = serializers.SerializerMethodField() + enable_authz_course_authoring = serializers.SerializerMethodField() def get_course_key(self): """ @@ -201,3 +203,10 @@ def get_enable_course_optimizer_check_prev_run_links(self, obj): """ course_key = self.get_course_key() return toggles.enable_course_optimizer_check_prev_run_links(course_key) + + def get_enable_authz_course_authoring(self, obj): + """ + Method to get the authz.enable_course_authoring waffle flag + """ + course_key = self.get_course_key() + return core_toggles.enable_authz_course_authoring(course_key) diff --git a/openedx/core/toggles.py b/openedx/core/toggles.py index 628fc91b1c94..fd966a95cf80 100644 --- a/openedx/core/toggles.py +++ b/openedx/core/toggles.py @@ -28,3 +28,10 @@ # .. toggle_target_removal_date: 2027-06-09 # .. toggle_tickets: https://github.com/openedx/openedx-platform/issues/37927 AUTHZ_COURSE_AUTHORING_FLAG = CourseWaffleFlag('authz.enable_course_authoring', __name__) + + +def enable_authz_course_authoring(course_key): + """ + Returns a boolean if the AuthZ for course authoring feature is enabled for the given course. + """ + return AUTHZ_COURSE_AUTHORING_FLAG.is_enabled(course_key) From a8a81c1775c60b3f6f2e79b178d353d94ee56775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20M=C3=A9ndez?= Date: Mon, 9 Feb 2026 17:10:49 -0600 Subject: [PATCH 2/2] squash!: Update test --- .../rest_api/v1/views/tests/test_course_waffle_flags.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_course_waffle_flags.py b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_course_waffle_flags.py index f45cc48810d6..fd7b5882cf97 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_course_waffle_flags.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_course_waffle_flags.py @@ -38,6 +38,7 @@ class CourseWaffleFlagsViewTest(CourseTestCase): "use_react_markdown_editor": False, "use_video_gallery_flow": False, "enable_course_optimizer_check_prev_run_links": False, + "enable_authz_course_authoring": False, } def setUp(self):