mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-01-20 07:12:58 -05:00
this
This commit is contained in:
16
lti/views.py
16
lti/views.py
@@ -284,13 +284,23 @@ class LaunchView(View):
|
|||||||
|
|
||||||
def handle_deep_linking_launch(self, request, message_launch, platform, launch_data):
|
def handle_deep_linking_launch(self, request, message_launch, platform, launch_data):
|
||||||
"""Handle deep linking request"""
|
"""Handle deep linking request"""
|
||||||
# Store deep link data in session
|
# Get deep linking settings from launch data
|
||||||
deep_link = message_launch.get_deep_link()
|
deep_linking_settings = launch_data.get('https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings', {})
|
||||||
|
|
||||||
|
if not deep_linking_settings:
|
||||||
|
raise ValueError("Missing deep linking settings in launch data")
|
||||||
|
|
||||||
|
deep_link_return_url = deep_linking_settings.get('deep_link_return_url')
|
||||||
|
|
||||||
|
if not deep_link_return_url:
|
||||||
|
raise ValueError("Missing deep_link_return_url in deep linking settings")
|
||||||
|
|
||||||
|
# Store deep link data in session for use in SelectMediaView
|
||||||
request.session['lti_deep_link'] = {
|
request.session['lti_deep_link'] = {
|
||||||
'deep_link_return_url': deep_link.get_response_url(),
|
'deep_link_return_url': deep_link_return_url,
|
||||||
'deployment_id': launch_data.get('https://purl.imsglobal.org/spec/lti/claim/deployment_id'),
|
'deployment_id': launch_data.get('https://purl.imsglobal.org/spec/lti/claim/deployment_id'),
|
||||||
'platform_id': platform.id,
|
'platform_id': platform.id,
|
||||||
|
'message_launch_data': launch_data, # Store full launch data for JWT creation
|
||||||
}
|
}
|
||||||
|
|
||||||
# Redirect to media selection page
|
# Redirect to media selection page
|
||||||
|
|||||||
Reference in New Issue
Block a user