Merge pull request #28675 from edx/AA-905
Populate the course goals user activity table when a user visits course-specific pages
This commit is contained in:
@@ -23,6 +23,8 @@ from lms.djangoapps.edxnotes.helpers import is_feature_enabled
|
||||
from lms.djangoapps.certificates.api import get_certificate_url
|
||||
from lms.djangoapps.certificates.models import GeneratedCertificate
|
||||
from lms.djangoapps.course_api.api import course_detail
|
||||
from lms.djangoapps.course_goals.toggles import RECORD_USER_ACTIVITY_FLAG
|
||||
from lms.djangoapps.course_goals.models import UserActivity
|
||||
from lms.djangoapps.courseware.access import has_access
|
||||
from lms.djangoapps.courseware.access_response import (
|
||||
CoursewareMicrofrontendDisabledAccessError,
|
||||
@@ -458,11 +460,15 @@ class CoursewareInformation(RetrieveAPIView):
|
||||
username = self.request.GET.get('username', '') or self.request.user.username
|
||||
else:
|
||||
username = self.request.user.username
|
||||
course_key = CourseKey.from_string(self.kwargs['course_key_string'])
|
||||
overview = CoursewareMeta(
|
||||
CourseKey.from_string(self.kwargs['course_key_string']),
|
||||
course_key,
|
||||
self.request,
|
||||
username=username,
|
||||
)
|
||||
# Record course goals user activity for learning mfe courseware on web
|
||||
if RECORD_USER_ACTIVITY_FLAG.is_enabled():
|
||||
UserActivity.record_user_activity(self.request.user, course_key)
|
||||
|
||||
return overview
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ from edx_rest_framework_extensions.auth.session.authentication import SessionAut
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from lms.djangoapps.course_api.api import course_detail
|
||||
from lms.djangoapps.course_goals.models import UserActivity
|
||||
from lms.djangoapps.course_goals.toggles import RECORD_USER_ACTIVITY_FLAG
|
||||
from lms.djangoapps.course_home_api.toggles import course_home_legacy_is_active
|
||||
from lms.djangoapps.courseware.access import has_access
|
||||
from lms.djangoapps.courseware.courses import get_course_with_access
|
||||
@@ -152,5 +154,11 @@ class CourseDeadlinesMobileView(RetrieveAPIView):
|
||||
# Although this course data is not used this method will return 404 if course does not exist
|
||||
get_course_with_access(request.user, 'load', course_key)
|
||||
|
||||
if RECORD_USER_ACTIVITY_FLAG.is_enabled():
|
||||
# Record user activity for tracking progress towards a user's course goals (for mobile app)
|
||||
UserActivity.record_user_activity(
|
||||
request.user, course_key, request=request, only_if_mobile_app=True
|
||||
)
|
||||
|
||||
serializer = self.get_serializer({})
|
||||
return Response(serializer.data)
|
||||
|
||||
Reference in New Issue
Block a user