Merge pull request #12592 from edx/peter-fogg/cookies-again
https://github.com/edx/edx-platform/pull/12588, round 2!
This commit is contained in:
@@ -20,6 +20,7 @@ from edxmako.tests import mako_middleware_process_request
|
|||||||
from external_auth.models import ExternalAuthMap
|
from external_auth.models import ExternalAuthMap
|
||||||
import student
|
import student
|
||||||
from student.models import UserAttribute
|
from student.models import UserAttribute
|
||||||
|
from student.views import REGISTRATION_AFFILIATE_ID
|
||||||
|
|
||||||
TEST_CS_URL = 'https://comments.service.test:123/'
|
TEST_CS_URL = 'https://comments.service.test:123/'
|
||||||
|
|
||||||
@@ -288,14 +289,14 @@ class TestCreateAccount(TestCase):
|
|||||||
affiliate_id = 'test-partner'
|
affiliate_id = 'test-partner'
|
||||||
self.client.cookies[settings.AFFILIATE_COOKIE_NAME] = affiliate_id
|
self.client.cookies[settings.AFFILIATE_COOKIE_NAME] = affiliate_id
|
||||||
user = self.create_account_and_fetch_profile().user
|
user = self.create_account_and_fetch_profile().user
|
||||||
self.assertEqual(UserAttribute.get_user_attribute(user, settings.AFFILIATE_COOKIE_NAME), affiliate_id)
|
self.assertEqual(UserAttribute.get_user_attribute(user, REGISTRATION_AFFILIATE_ID), affiliate_id)
|
||||||
|
|
||||||
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
|
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
|
||||||
def test_no_referral(self):
|
def test_no_referral(self):
|
||||||
"""Verify that no referral is recorded when a cookie is not present."""
|
"""Verify that no referral is recorded when a cookie is not present."""
|
||||||
self.assertIsNone(self.client.cookies.get(settings.AFFILIATE_COOKIE_NAME)) # pylint: disable=no-member
|
self.assertIsNone(self.client.cookies.get(settings.AFFILIATE_COOKIE_NAME)) # pylint: disable=no-member
|
||||||
user = self.create_account_and_fetch_profile().user
|
user = self.create_account_and_fetch_profile().user
|
||||||
self.assertIsNone(UserAttribute.get_user_attribute(user, settings.AFFILIATE_COOKIE_NAME))
|
self.assertIsNone(UserAttribute.get_user_attribute(user, REGISTRATION_AFFILIATE_ID))
|
||||||
|
|
||||||
|
|
||||||
@ddt.ddt
|
@ddt.ddt
|
||||||
|
|||||||
@@ -133,6 +133,8 @@ log = logging.getLogger("edx.student")
|
|||||||
AUDIT_LOG = logging.getLogger("audit")
|
AUDIT_LOG = logging.getLogger("audit")
|
||||||
ReverifyInfo = namedtuple('ReverifyInfo', 'course_id course_name course_number date status display') # pylint: disable=invalid-name
|
ReverifyInfo = namedtuple('ReverifyInfo', 'course_id course_name course_number date status display') # pylint: disable=invalid-name
|
||||||
SETTING_CHANGE_INITIATED = 'edx.user.settings.change_initiated'
|
SETTING_CHANGE_INITIATED = 'edx.user.settings.change_initiated'
|
||||||
|
# Used as the name of the user attribute for tracking affiliate registrations
|
||||||
|
REGISTRATION_AFFILIATE_ID = 'registration_affiliate_id'
|
||||||
|
|
||||||
# Disable this warning because it doesn't make sense to completely refactor tests to appease Pylint
|
# Disable this warning because it doesn't make sense to completely refactor tests to appease Pylint
|
||||||
# pylint: disable=logging-format-interpolation
|
# pylint: disable=logging-format-interpolation
|
||||||
@@ -1861,7 +1863,7 @@ def _record_registration_attribution(request, user):
|
|||||||
"""
|
"""
|
||||||
affiliate_id = request.COOKIES.get(settings.AFFILIATE_COOKIE_NAME)
|
affiliate_id = request.COOKIES.get(settings.AFFILIATE_COOKIE_NAME)
|
||||||
if user is not None and affiliate_id is not None:
|
if user is not None and affiliate_id is not None:
|
||||||
UserAttribute.set_user_attribute(user, settings.AFFILIATE_COOKIE_NAME, affiliate_id)
|
UserAttribute.set_user_attribute(user, REGISTRATION_AFFILIATE_ID, affiliate_id)
|
||||||
|
|
||||||
|
|
||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
|
|||||||
Reference in New Issue
Block a user