Skip to content

Commit b1c8acb

Browse files
committed
fix: add serializer removed during rebase
- Add CourseHomeTabSerializer to v1/serializers/home.py (was imported by v3/views/home.py but never defined, causing ImportError on startup) - Export it from v1/serializers/__init__.py - Remove stale HomePageCoursesView from v1/views/__init__.py (class was dropped by revert commit during rebase but export remained) - Remove unused UserFactory and CourseOverviewFactory imports from v1/views/tests/test_home.py (ruff F401 violations from rebase conflict)
1 parent 3d7b57d commit b1c8acb

5 files changed

Lines changed: 12 additions & 7 deletions

File tree

cms/djangoapps/contentstore/rest_api/v1/serializers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from .course_waffle_flags import CourseWaffleFlagsSerializer # noqa: F401
1010
from .grading import CourseGradingModelSerializer, CourseGradingSerializer # noqa: F401
1111
from .group_configurations import CourseGroupConfigurationsSerializer # noqa: F401
12-
from .home import LibraryTabSerializer, StudioHomeSerializer # noqa: F401
12+
from .home import CourseHomeTabSerializer, LibraryTabSerializer, StudioHomeSerializer # noqa: F401
1313
from .proctoring import (
1414
LimitedProctoredExamSettingsSerializer, # noqa: F401
1515
ProctoredExamConfigurationSerializer, # noqa: F401

cms/djangoapps/contentstore/rest_api/v1/serializers/home.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ class LibraryTabSerializer(serializers.Serializer):
3939
libraries = LibraryViewSerializer(many=True, required=False, allow_null=True)
4040

4141

42+
class CourseHomeTabSerializer(serializers.Serializer):
43+
"""Serializer for the courses tab of the Studio home page."""
44+
courses = CourseCommonSerializer(required=False, many=True)
45+
archived_courses = CourseCommonSerializer(required=False, many=True)
46+
in_process_course_actions = UnsucceededCourseSerializer(many=True, required=False, allow_null=True)
47+
48+
4249
class StudioHomeSerializer(serializers.Serializer):
4350
"""Serializer for Studio home"""
4451
allow_course_reruns = serializers.BooleanField()

cms/djangoapps/contentstore/rest_api/v1/views/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from .grading import CourseGradingView # noqa: F401
1111
from .group_configurations import CourseGroupConfigurationsView # noqa: F401
1212
from .help_urls import HelpUrlsView # noqa: F401
13-
from .home import HomePageCoursesView, HomePageLibrariesView, HomePageView # noqa: F401
13+
from .home import HomePageLibrariesView, HomePageView # noqa: F401
1414
from .proctoring import ProctoredExamSettingsView, ProctoringErrorsView # noqa: F401
1515
from .settings import CourseSettingsView # noqa: F401
1616
from .textbooks import CourseTextbooksView # noqa: F401

cms/djangoapps/contentstore/rest_api/v1/views/tests/test_home.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
from cms.djangoapps.contentstore.tests.utils import CourseTestCase
1515
from cms.djangoapps.modulestore_migrator import api as migrator_api
1616
from cms.djangoapps.modulestore_migrator.data import CompositionLevel, RepeatHandlingStrategy
17-
18-
from common.djangoapps.student.tests.factories import UserFactory
19-
from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
2017
from openedx.core.djangoapps.content_libraries import api as lib_api
2118

2219

cms/djangoapps/contentstore/rest_api/v3/views/home.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050

5151

5252
class _HomeAutoSchema(AutoSchema):
53-
"""Override _is_list_view so drf-spectacular treats 'list' as a single-object response."""
53+
"""Custom AutoSchema that treats the 'list' action as a single-object response."""
54+
5455
def _is_list_view(self, serializer=None):
5556
if self.view.action == 'list':
5657
return False
@@ -59,7 +60,6 @@ def _is_list_view(self, serializer=None):
5960

6061
@extend_schema(tags=["openedx-platform-sdk"])
6162
class HomeViewSet(StandardizedErrorMixin, viewsets.ViewSet):
62-
schema = _HomeAutoSchema()
6363
"""
6464
ViewSet for the Studio home page. Registered via DefaultRouter (basename ``home``).
6565
@@ -69,6 +69,7 @@ class HomeViewSet(StandardizedErrorMixin, viewsets.ViewSet):
6969
GET /api/contentstore/v3/home/libraries/ → libraries (library list only)
7070
"""
7171

72+
schema = _HomeAutoSchema()
7273
authentication_classes = (JwtAuthentication, SessionAuthenticationAllowInactiveUser)
7374
permission_classes = (IsAuthenticated,)
7475
serializer_class = StudioHomeSerializer

0 commit comments

Comments
 (0)