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 2d07854590..5e6be8046b 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 @@ API Serializers for course waffle flags 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 @@ class CourseWaffleFlagsSerializer(serializers.Serializer): """ 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/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 f45cc48810..fd7b5882cf 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): diff --git a/openedx/core/toggles.py b/openedx/core/toggles.py index 628fc91b1c..fd966a95cf 100644 --- a/openedx/core/toggles.py +++ b/openedx/core/toggles.py @@ -28,3 +28,10 @@ ENTRANCE_EXAMS = SettingToggle( # .. 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)