Skip to content

Commit

Permalink
wip: try to handle non-QuerySet 'querysets'
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanlandia committed Jul 6, 2023
1 parent 84ecd74 commit 11716fe
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions openedx/core/djangoapps/appsembler/openedx_api/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,25 @@ def filter_allowed_org(self, queryset, name, value):
# don't declare an explicit model via Meta


class CourseKeySequenceMultitenancyFilter(object):
"""Filter get_queryset return values that return CourseKey Sequences instead of actual QuerySets."""

def __init__(self, data=None, queryset=None, *, request=None, prefix=None):
self.data = data
self.queryset = queryset
self.request = request

@property
def qs(self):
import pdb; pdb.set_trace()
# yield []

class CourseOverviewSequenceMultitenancyFilter(object):
"""Filter get_queryset return values that return CourseOverview Sequences instead of actual QuerySets."""




class AppsemblerMultiTenantFilterBackend(filters.DjangoFilterBackend):

def get_filterset_class(self, view, queryset=None):
Expand All @@ -117,5 +136,11 @@ def get_filterset_class(self, view, queryset=None):
filterset_fields = getattr(view, "filterset_fields", None)
if filterset_class or filterset_fields:
return super(AppsemblerMultiTenantFilterBackend, self).get_filterset_class(view, queryset)
elif not getattr(queryset, "model", None):
try:
# return SEQUENCE_QS_FILTERS[]
return CourseKeySequenceMultitenancyFilter
except KeyError:
raise # TODO: something else
else:
return AllowedCourseOrgFilterSet

0 comments on commit 11716fe

Please sign in to comment.