feat: added pii params for program discussions (#29532)
* feat: added pii params for program discussions * refactor: added conditions
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user