1414from openedx .core .djangoapps .site_configuration import helpers as configuration_helpers
1515
1616
17- def get_visible_courses (org = None , filter_ = None , active_only = False ):
17+ def get_visible_courses (org = None , filter_ = None , active_only = False , course_keys = None ):
1818 """
1919 Yield the CourseOverviews that should be visible in this branded
2020 instance.
@@ -25,6 +25,8 @@ def get_visible_courses(org=None, filter_=None, active_only=False):
2525 filter_ (dict): Optional parameter that allows custom filtering by
2626 fields on the course.
2727 active_only (bool): Optional parameter that enables fetching active courses only.
28+ course_keys (list[str]): Optional parameter that allows for selecting which
29+ courses to fetch the `CourseOverviews` for
2830 """
2931 # Import is placed here to avoid model import at project startup.
3032 from openedx .core .djangoapps .content .course_overviews .models import CourseOverview
@@ -36,12 +38,16 @@ def get_visible_courses(org=None, filter_=None, active_only=False):
3638 if org :
3739 # Check the current site's orgs to make sure the org's courses should be displayed
3840 if not current_site_orgs or org in current_site_orgs :
39- courses = CourseOverview .get_all_courses (orgs = [org ], filter_ = filter_ , active_only = active_only )
41+ courses = CourseOverview .get_all_courses (
42+ orgs = [org ], filter_ = filter_ , active_only = active_only , course_keys = course_keys
43+ )
4044 elif current_site_orgs :
4145 # Only display courses that should be displayed on this site
42- courses = CourseOverview .get_all_courses (orgs = current_site_orgs , filter_ = filter_ , active_only = active_only )
46+ courses = CourseOverview .get_all_courses (
47+ orgs = current_site_orgs , filter_ = filter_ , active_only = active_only , course_keys = course_keys
48+ )
4349 else :
44- courses = CourseOverview .get_all_courses (filter_ = filter_ , active_only = active_only )
50+ courses = CourseOverview .get_all_courses (filter_ = filter_ , active_only = active_only , course_keys = course_keys )
4551
4652 courses = courses .order_by ('id' )
4753
0 commit comments