From 72ec00cbb71d0a1d7201dfdcd92462156dbd6152 Mon Sep 17 00:00:00 2001 From: Awais Jibran Date: Wed, 24 Nov 2021 17:44:28 +0500 Subject: [PATCH] fix: include pii sharing values in the API (#29385) --- openedx/core/djangoapps/discussions/serializers.py | 6 ++++++ openedx/core/djangoapps/discussions/tests/test_views.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/discussions/serializers.py b/openedx/core/djangoapps/discussions/serializers.py index e12f0c22c5..0b67a402c7 100644 --- a/openedx/core/djangoapps/discussions/serializers.py +++ b/openedx/core/djangoapps/discussions/serializers.py @@ -17,6 +17,8 @@ class LtiSerializer(serializers.ModelSerializer): """ Serialize LtiConfiguration responses """ + pii_share_email = serializers.BooleanField(required=False) + pii_share_username = serializers.BooleanField(required=False) class Meta: model = LtiConfiguration @@ -42,6 +44,9 @@ class LtiSerializer(serializers.ModelSerializer): return payload def to_representation(self, instance): + """ + Serialize object into a primitive data types. + """ representation = super().to_representation(instance) if not self.context.get('pii_sharing_allowed'): representation.pop('pii_share_username') @@ -214,6 +219,7 @@ class DiscussionsConfigurationSerializer(serializers.ModelSerializer): """ course_key = instance.context_key payload = super().to_representation(instance) + lti_configuration = LtiSerializer( instance.lti_configuration, context={'pii_sharing_allowed': get_lti_pii_sharing_state_for_course(course_key)} diff --git a/openedx/core/djangoapps/discussions/tests/test_views.py b/openedx/core/djangoapps/discussions/tests/test_views.py index e07b0a2b61..d2e62fae16 100644 --- a/openedx/core/djangoapps/discussions/tests/test_views.py +++ b/openedx/core/djangoapps/discussions/tests/test_views.py @@ -51,7 +51,9 @@ DEFAULT_LTI_CONFIGURATION = { 'lti_1p1_client_key': '', 'lti_1p1_client_secret': '', 'lti_1p1_launch_url': '', - 'version': None + 'version': None, + 'pii_share_email': False, + 'pii_share_username': False, } DATA_LTI_CONFIGURATION = {