diff --git a/lms/static/js/learner_dashboard/RecommendationsPanel.jsx b/lms/static/js/learner_dashboard/RecommendationsPanel.jsx index 0b0e6a2670..7080324168 100644 --- a/lms/static/js/learner_dashboard/RecommendationsPanel.jsx +++ b/lms/static/js/learner_dashboard/RecommendationsPanel.jsx @@ -16,7 +16,7 @@ class RecommendationsPanel extends React.Component { }; } - onCourseSelect(courseKey) { + onCourseSelect(courseKey, marketingUrl) { window.analytics.track('edx.bi.user.recommended.course.click', { course_key: courseKey, is_control: this.state.isControl, @@ -29,16 +29,17 @@ class RecommendationsPanel extends React.Component { recommendedCourses = JSON.parse(recommendedCourses); if (!recommendedCourses.course_keys.includes(courseKey)) { if (recommendedCourses.course_keys.length < 5) { - recommendedCourses.course_keys.push(course.courseKey); + recommendedCourses.course_keys.push(courseKey); } else { recommendedCourses.course_keys.shift(); - recommendedCourses.course_keys.push(course.courseKey); + recommendedCourses.course_keys.push(courseKey); } } } recommendedCourses['is_personalized_recommendation'] = this.state.isControl; recommendedCourses['is_control'] = this.state.isControl; Cookies.set(this.cookieName, JSON.stringify(recommendedCourses), this.domainInfo); + window.location.href = marketingUrl; }; getCourseList = async () => { @@ -78,8 +79,11 @@ class RecommendationsPanel extends React.Component {
{gettext('Recommendations for you')}
{this.state.coursesList.map(course => ( - this.onCourseSelect(course.course_key)}> + this.onCourseSelect(course.course_key, course.marketing_url)} + >
-
+ ))}