feat: added pii params for program discussions (#29532)

* feat: added pii params for program discussions

* refactor: added conditions
This commit is contained in:
AsadAzam
2021-12-09 18:39:34 +05:00
committed by GitHub
parent fab0656bd5
commit 3f06445389
3 changed files with 67 additions and 2 deletions

View File

@@ -218,6 +218,26 @@ class ProgramDiscussionLTI:
self.program.get('subtitle', ''),
)
def _get_pii_lti_parameters(self, configuration, request):
"""
Get LTI parameters that contain PII.
Args:
configuration (LtiConfiguration): LtiConfiguration object.
request (HttpRequest): Request object for view in which LTI will be embedded.
Returns:
Dictionary with LTI parameters containing PII.
"""
if configuration.version != configuration.LTI_1P1:
return {}
pii_config = {}
if configuration.pii_share_username:
pii_config['person_sourcedid'] = request.user.username
if configuration.pii_share_email:
pii_config['person_contact_email_primary'] = request.user.email
return pii_config
def _get_lti_embed_code(self) -> str:
"""
Returns the LTI embed code for embedding in the program discussions tab
@@ -226,6 +246,8 @@ class ProgramDiscussionLTI:
"""
resource_link_id = self._get_resource_link_id()
result_sourcedid = self._get_result_sourcedid(resource_link_id)
pii_params = self._get_pii_lti_parameters(self.configuration.lti_configuration, self.request)
additional_params = self._get_additional_lti_parameters()
return lti_embed(
html_element_id='lti-tab-launcher',
@@ -238,8 +260,8 @@ class ProgramDiscussionLTI:
context_label=self.program_uuid,
result_sourcedid=quote(result_sourcedid),
locale=to_locale(get_language()),
additional_params=self._get_additional_lti_parameters()
**pii_params,
**additional_params
)
def render_iframe(self) -> str: