Skip to content

Commit ef0960e

Browse files
committed
refactor: abstract process in _get_course_keys_from_scopes
1 parent d4c44ab commit ef0960e

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

cms/djangoapps/contentstore/views/course.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from opaque_keys.edx.keys import CourseKey
3030
from opaque_keys.edx.locator import BlockUsageLocator
3131
from openedx_authz.api import get_scopes_for_user_and_permission
32-
from openedx_authz.api.data import CourseOverviewData, OrgCourseOverviewGlobData
32+
from openedx_authz.api.data import CourseOverviewData, OrgCourseOverviewGlobData, ScopeData
3333
from openedx_authz.constants.permissions import (
3434
COURSES_MANAGE_COURSE_UPDATES,
3535
COURSES_MANAGE_GROUP_CONFIGURATIONS,
@@ -824,18 +824,10 @@ def _get_course_keys_for_org_scope(org_keys: set[str]):
824824

825825
return CourseOverview.get_all_courses(orgs=org_keys).values_list('id', flat=True)
826826

827-
828-
def _get_authz_accessible_courses_list(request):
827+
def _get_course_keys_from_scopes(authz_scopes: list[ScopeData]):
829828
"""
830-
List all courses available to the logged in user by
831-
evaluating Authz scopes for course access.
829+
Convert a set of Authz scopes into specific course keys.
832830
"""
833-
user = request.user
834-
authz_scopes = get_scopes_for_user_and_permission(
835-
user.username,
836-
COURSES_VIEW_COURSE.identifier
837-
)
838-
839831
course_keys = set()
840832
org_keys = set()
841833
for access in authz_scopes:
@@ -849,6 +841,20 @@ def _get_authz_accessible_courses_list(request):
849841
key for key in _get_course_keys_for_org_scope(org_keys)
850842
if core_toggles.enable_authz_course_authoring(key)
851843
)
844+
return course_keys
845+
846+
def _get_authz_accessible_courses_list(request):
847+
"""
848+
List all courses available to the logged in user by
849+
evaluating Authz scopes for course access.
850+
"""
851+
user = request.user
852+
authz_scopes = get_scopes_for_user_and_permission(
853+
user.username,
854+
COURSES_VIEW_COURSE.identifier
855+
)
856+
857+
course_keys = _get_course_keys_from_scopes(authz_scopes)
852858

853859
return course_keys
854860

0 commit comments

Comments
 (0)