From 0c610749c90bd49663e9dfe934264a0227641ae3 Mon Sep 17 00:00:00 2001 From: Uzair Rasheed <uzairrasheed@UzairRasheed-MBP-97.arbisoft.com> Date: Tue, 17 Jul 2018 16:25:41 +0500 Subject: [PATCH] Refactor Code for LEARNER-5257 Course key object was not serializable before sending to celery task. --- common/djangoapps/student/signals/signals.py | 2 +- lms/djangoapps/commerce/api/v0/views.py | 2 +- lms/djangoapps/email_marketing/signals.py | 5 ++--- lms/djangoapps/email_marketing/tests/test_signals.py | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/common/djangoapps/student/signals/signals.py b/common/djangoapps/student/signals/signals.py index 9e7b7c90e6f..fe45b928412 100644 --- a/common/djangoapps/student/signals/signals.py +++ b/common/djangoapps/student/signals/signals.py @@ -7,4 +7,4 @@ ENROLLMENT_TRACK_UPDATED = Signal(providing_args=['user', 'course_key']) UNENROLL_DONE = Signal(providing_args=["course_enrollment", "skip_refund"]) ENROLL_STATUS_CHANGE = Signal(providing_args=["event", "user", "course_id", "mode", "cost", "currency"]) REFUND_ORDER = Signal(providing_args=["course_enrollment"]) -SAILTHRU_AUDIT_PURCHASE = Signal(providing_args=["event", "user", "course_id", "mode"]) +SAILTHRU_AUDIT_PURCHASE = Signal(providing_args=["user", "course_id", "mode"]) diff --git a/lms/djangoapps/commerce/api/v0/views.py b/lms/djangoapps/commerce/api/v0/views.py index 5ca26fabc53..e02e971de7b 100644 --- a/lms/djangoapps/commerce/api/v0/views.py +++ b/lms/djangoapps/commerce/api/v0/views.py @@ -143,7 +143,7 @@ class BasketsView(APIView): self._enroll(course_key, user, default_enrollment_mode.slug) mode = CourseMode.AUDIT if audit_mode else CourseMode.HONOR SAILTHRU_AUDIT_PURCHASE.send( - sender=None, event='enroll', user=user, mode=mode, course_id=course_key + sender=None, user=user, mode=mode, course_id=course_id ) self._handle_marketing_opt_in(request, course_key, user) return DetailResponse(msg) diff --git a/lms/djangoapps/email_marketing/signals.py b/lms/djangoapps/email_marketing/signals.py index 3109f325d9f..157cd6fc59e 100644 --- a/lms/djangoapps/email_marketing/signals.py +++ b/lms/djangoapps/email_marketing/signals.py @@ -41,7 +41,7 @@ SAILTHRU_AUDIT_PURCHASE_ENABLED = 'audit_purchase_enabled' @receiver(SAILTHRU_AUDIT_PURCHASE) -def update_sailthru(sender, event, user, mode, course_id, **kwargs): +def update_sailthru(sender, user, mode, course_id, **kwargs): # pylint: disable=unused-argument """ Receives signal and calls a celery task to update the enrollment track @@ -52,9 +52,8 @@ def update_sailthru(sender, event, user, mode, course_id, **kwargs): None """ if WAFFLE_SWITCHES.is_enabled(SAILTHRU_AUDIT_PURCHASE_ENABLED) and mode in CourseMode.AUDIT_MODES: - course_key = course_id email = str(user.email) - update_course_enrollment.delay(email, course_key, mode) + update_course_enrollment.delay(email, course_id, mode) @receiver(CREATE_LOGON_COOKIE) diff --git a/lms/djangoapps/email_marketing/tests/test_signals.py b/lms/djangoapps/email_marketing/tests/test_signals.py index d0b67cbf940..2a96d0fd10b 100644 --- a/lms/djangoapps/email_marketing/tests/test_signals.py +++ b/lms/djangoapps/email_marketing/tests/test_signals.py @@ -716,7 +716,7 @@ class SailthruTests(TestCase): @patch('sailthru.sailthru_client.SailthruClient.purchase') def test_switch_is_disabled(self, mock_sailthru_purchase): """Make sure sailthru purchase is not called when waffle switch is disabled""" - update_sailthru(None, None, self.user, 'verified', self.course_id) + update_sailthru(None, self.user, 'verified', self.course_id) self.assertFalse(mock_sailthru_purchase.called) @patch('openedx.core.djangoapps.waffle_utils.WaffleSwitchNamespace.is_enabled') @@ -726,5 +726,5 @@ class SailthruTests(TestCase): i: waffle switch is True and mode is verified """ switch.return_value = True - update_sailthru(None, None, self.user, 'verified', self.course_id) + update_sailthru(None, self.user, 'verified', self.course_id) self.assertFalse(mock_sailthru_purchase.called) -- GitLab