From a084d5d892f1411b745f89adf97efc6e7d634a99 Mon Sep 17 00:00:00 2001 From: Mubbshar Anwar <78487564+mubbsharanwar@users.noreply.github.com> Date: Thu, 7 Jul 2022 21:17:25 +0500 Subject: [PATCH] fix: update response (#30712) - add course_run_key in API response - remove course_key from API response VAN-986 --- lms/djangoapps/learner_dashboard/api/utils.py | 2 +- lms/djangoapps/learner_dashboard/api/v0/views.py | 3 ++- .../js/learner_dashboard/RecommendationsPanel.jsx | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lms/djangoapps/learner_dashboard/api/utils.py b/lms/djangoapps/learner_dashboard/api/utils.py index 41764650f0..40c82c05dd 100644 --- a/lms/djangoapps/learner_dashboard/api/utils.py +++ b/lms/djangoapps/learner_dashboard/api/utils.py @@ -8,7 +8,7 @@ log = logging.getLogger(__name__) def get_personalized_course_recommendations(user_id): - """ get personalize recommendations from Amplitude. """ + """ Get personalize recommendations from Amplitude. """ headers = { 'Authorization': f'Api-Key {settings.AMPLITUDE_API_KEY}', 'Content-Type': 'application/json' diff --git a/lms/djangoapps/learner_dashboard/api/v0/views.py b/lms/djangoapps/learner_dashboard/api/v0/views.py index b3f43eaf83..e7c7171c86 100644 --- a/lms/djangoapps/learner_dashboard/api/v0/views.py +++ b/lms/djangoapps/learner_dashboard/api/v0/views.py @@ -373,7 +373,8 @@ class CourseRecommendationApiView(APIView): course_data = get_course_data(course_id) if course_data: recommended_courses.append({ - 'course_key': course_data['key'], + 'course_run_key': [run['key'] for run in course_data['course_runs'] + if run['availability'] == 'Current'][-1], 'title': str(course_data['title']), 'logo_image_url': course_data['owners'][0]['logo_image_url'], 'marketing_url': course_data.get('marketing_url') diff --git a/lms/static/js/learner_dashboard/RecommendationsPanel.jsx b/lms/static/js/learner_dashboard/RecommendationsPanel.jsx index dc9133bfb2..70629a4017 100644 --- a/lms/static/js/learner_dashboard/RecommendationsPanel.jsx +++ b/lms/static/js/learner_dashboard/RecommendationsPanel.jsx @@ -15,19 +15,19 @@ class RecommendationsPanel extends React.Component { }; } - onCourseSelect(courseKey) { + onCourseSelect(courseRunKey) { window.analytics.track('edx.bi.user.recommended.course.click', { - course_key: courseKey, + course_key: courseRunKey, is_personalized_recommendation: this.state.isPersonalizedRecommendation, }); let recommendedCourses = Cookies.get(this.cookieName); if (typeof recommendedCourses === 'undefined') { - recommendedCourses = { course_keys: [courseKey] }; + recommendedCourses = { course_keys: [courseRunKey] }; } else { recommendedCourses = JSON.parse(recommendedCourses); - if (!recommendedCourses.course_keys.includes(courseKey)) { - recommendedCourses.course_keys.push(courseKey); + if (!recommendedCourses.course_keys.includes(courseRunKey)) { + recommendedCourses.course_keys.push(courseRunKey); } } recommendedCourses['is_personalized_recommendation'] = this.state.isPersonalizedRecommendation; @@ -64,7 +64,7 @@ class RecommendationsPanel extends React.Component {