@@ -955,7 +955,7 @@ def get_load_url(
955
955
)
956
956
return self ._build_service_url (
957
957
language , students ,
958
- ordinal , url_name , submission_url
958
+ ordinal , url_name , submission_url , lti_launch_id = request . session . get ( "lti-launch-id" )
959
959
)
960
960
return super ().get_load_url (language , request , students , url_name , ordinal )
961
961
@@ -994,20 +994,23 @@ def modify_post_parameters(self, data, files, user, students, request, url):
994
994
"""
995
995
pass
996
996
997
- def _build_service_url (self , language , students , ordinal_number , url_name , submission_url ):
997
+ def _build_service_url (self , language , students , ordinal_number , url_name , submission_url , lti_launch_id = None ):
998
998
"""
999
999
Generates complete URL with added parameters to the exercise service.
1000
1000
"""
1001
1001
uid_str = '-' .join (sorted (str (profile .user .id ) for profile in students )) if students else ''
1002
- return update_url_params ( self . get_service_url ( language ), {
1002
+ params = {
1003
1003
"max_points" : self .max_points ,
1004
1004
"max_submissions" : self .max_submissions ,
1005
1005
"submission_url" : build_aplus_url (submission_url ),
1006
1006
"post_url" : build_aplus_url (str (self .get_url (url_name )), user_url = True ),
1007
1007
"uid" : uid_str ,
1008
1008
"ordinal_number" : ordinal_number ,
1009
1009
"lang" : language ,
1010
- })
1010
+ }
1011
+ if lti_launch_id :
1012
+ params ["lti_launch_id" ] = lti_launch_id
1013
+ return update_url_params (self .get_service_url (language ), params )
1011
1014
1012
1015
@property
1013
1016
def can_regrade (self ):
0 commit comments