From c45c1a0a056e9fbca9b26bceb549839133e4a014 Mon Sep 17 00:00:00 2001 From: Mohammad Ahtasham ul Hassan Date: Thu, 19 Sep 2024 11:36:30 +0500 Subject: [PATCH 1/2] fix: fix learner home URL --- common/djangoapps/course_modes/views.py | 2 +- lms/djangoapps/learner_home/serializers.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py index 821c59dc0524..759073a13583 100644 --- a/common/djangoapps/course_modes/views.py +++ b/common/djangoapps/course_modes/views.py @@ -241,7 +241,7 @@ def get(self, request, course_id, error=None): # lint-amnesty, pylint: disable= if verified_mode.sku: context["use_ecommerce_payment_flow"] = ecommerce_service.is_enabled(request.user) - context["ecommerce_payment_page"] = ecommerce_service.get_add_to_basket_url() + context["ecommerce_payment_page"] = ecommerce_service.payment_page_url() context["sku"] = verified_mode.sku context["bulk_sku"] = verified_mode.bulk_sku diff --git a/lms/djangoapps/learner_home/serializers.py b/lms/djangoapps/learner_home/serializers.py index b3471715b9dc..fbcbe2860a36 100644 --- a/lms/djangoapps/learner_home/serializers.py +++ b/lms/djangoapps/learner_home/serializers.py @@ -3,7 +3,7 @@ """ from datetime import date, timedelta -from urllib.parse import urljoin +from urllib.parse import urlencode, urljoin from django.conf import settings from django.urls import reverse @@ -132,7 +132,13 @@ def get_upgradeUrl(self, instance): ) if ecommerce_payment_page and verified_sku: - return f"{ecommerce_payment_page}?sku={verified_sku}" + query_params = { + 'sku': verified_sku, + 'course_run_key': instance.course_id + } + encoded_params = urlencode(query_params) + upgrade_url = f"{ecommerce_payment_page}?{encoded_params}" + return upgrade_url def get_resumeUrl(self, instance): return self.context.get("resume_course_urls", {}).get(instance.course_id) From 90835af88bffe4e0e327e2319c9a2bb69fc3d961 Mon Sep 17 00:00:00 2001 From: Mohammad Ahtasham ul Hassan Date: Fri, 20 Sep 2024 11:42:42 +0500 Subject: [PATCH 2/2] fix: fixes --- common/djangoapps/course_modes/views.py | 2 +- lms/djangoapps/learner_home/serializers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py index 759073a13583..821c59dc0524 100644 --- a/common/djangoapps/course_modes/views.py +++ b/common/djangoapps/course_modes/views.py @@ -241,7 +241,7 @@ def get(self, request, course_id, error=None): # lint-amnesty, pylint: disable= if verified_mode.sku: context["use_ecommerce_payment_flow"] = ecommerce_service.is_enabled(request.user) - context["ecommerce_payment_page"] = ecommerce_service.payment_page_url() + context["ecommerce_payment_page"] = ecommerce_service.get_add_to_basket_url() context["sku"] = verified_mode.sku context["bulk_sku"] = verified_mode.bulk_sku diff --git a/lms/djangoapps/learner_home/serializers.py b/lms/djangoapps/learner_home/serializers.py index fbcbe2860a36..3d156f3640ca 100644 --- a/lms/djangoapps/learner_home/serializers.py +++ b/lms/djangoapps/learner_home/serializers.py @@ -134,7 +134,7 @@ def get_upgradeUrl(self, instance): if ecommerce_payment_page and verified_sku: query_params = { 'sku': verified_sku, - 'course_run_key': instance.course_id + 'course_run_key': str(instance.course_id) } encoded_params = urlencode(query_params) upgrade_url = f"{ecommerce_payment_page}?{encoded_params}"