From eb8f3b67507072ded87e76f578e1791adb45e85c Mon Sep 17 00:00:00 2001 From: Saad Yousaf Date: Tue, 15 Nov 2022 18:38:46 +0500 Subject: [PATCH] fix: update Zoom live configurations to support email for course staff roles. (#31257) Co-authored-by: SaadYousaf --- openedx/core/djangoapps/course_live/providers.py | 3 --- openedx/core/djangoapps/course_live/tab.py | 16 ++++++++++++++++ openedx/features/lti_course_tab/tab.py | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/openedx/core/djangoapps/course_live/providers.py b/openedx/core/djangoapps/course_live/providers.py index 1d6b1e808e..933321dc1e 100644 --- a/openedx/core/djangoapps/course_live/providers.py +++ b/openedx/core/djangoapps/course_live/providers.py @@ -87,9 +87,6 @@ class Zoom(LiveProvider): """ id = 'zoom' name = 'Zoom LTI PRO' - additional_parameters = [ - 'custom_instructor_email' - ] @property def is_enabled(self): diff --git a/openedx/core/djangoapps/course_live/tab.py b/openedx/core/djangoapps/course_live/tab.py index 3f93c7fa89..0fb97fabcd 100644 --- a/openedx/core/djangoapps/course_live/tab.py +++ b/openedx/core/djangoapps/course_live/tab.py @@ -4,6 +4,8 @@ Configurations to render Course Live Tab from django.utils.translation import gettext_lazy from lti_consumer.models import LtiConfiguration + +from common.djangoapps.student.roles import CourseStaffRole, CourseInstructorRole from xmodule.course_module import CourseBlock from xmodule.tabs import TabFragmentViewMixin from lms.djangoapps.courseware.tabs import EnrolledTab @@ -69,3 +71,17 @@ class CourseLiveTab(LtiCourseLaunchMixin, TabFragmentViewMixin, EnrolledTab): super().is_enabled(course, user) and CourseLiveConfiguration.is_enabled(course.id) ) + + def _get_pii_lti_parameters(self, course, request): + pii_config = super()._get_pii_lti_parameters(course, request) + provider_type = '' + + course_live_configurations = CourseLiveConfiguration.get(course.id) + if course_live_configurations: + provider_type = course_live_configurations.provider_type + + if provider_type == 'zoom' and (CourseStaffRole(course.id).has_user(request.user) or + CourseInstructorRole(course.id).has_user(request.user)): + pii_config['person_contact_email_primary'] = request.user.email + + return pii_config diff --git a/openedx/features/lti_course_tab/tab.py b/openedx/features/lti_course_tab/tab.py index d199f9a1e6..52693a1095 100644 --- a/openedx/features/lti_course_tab/tab.py +++ b/openedx/features/lti_course_tab/tab.py @@ -57,6 +57,7 @@ class LtiCourseLaunchMixin: pii_config = {} if lti_config.pii_share_username: pii_config['person_sourcedid'] = request.user.username + if lti_config.pii_share_email: pii_config['person_contact_email_primary'] = request.user.email return pii_config