embed mode

This commit is contained in:
Markos Gogoulos
2026-01-31 15:36:04 +02:00
parent 4d07ae64c6
commit a77761ec35
2 changed files with 7 additions and 7 deletions

View File

@@ -36,7 +36,7 @@ class SelectMediaView(View):
def get(self, request): def get(self, request):
"""Display media selection interface - redirects to user's profile page""" """Display media selection interface - redirects to user's profile page"""
profile_url = f"/user/{request.user.username}" profile_url = f"/user/{request.user.username}?mode=embed_mode"
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
@method_decorator(csrf_exempt) @method_decorator(csrf_exempt)

View File

@@ -351,11 +351,11 @@ class LaunchView(View):
if media_id: if media_id:
try: try:
media = Media.objects.get(friendly_token=media_id) media = Media.objects.get(friendly_token=media_id)
return reverse('lti:embed_media', args=[media.friendly_token]) return reverse('lti:embed_media', args=[media.friendly_token]) + '?mode=embed_mode'
except Media.DoesNotExist: except Media.DoesNotExist:
pass pass
return reverse('lti:my_media') return reverse('lti:my_media') + '?mode=embed_mode'
def handle_state_not_found(self, request, platform=None): def handle_state_not_found(self, request, platform=None):
""" """
@@ -504,9 +504,9 @@ class LaunchView(View):
media_token = custom_claims.get('media_friendly_token') media_token = custom_claims.get('media_friendly_token')
if media_token: if media_token:
redirect_url = reverse('lti:embed_media', args=[media_token]) redirect_url = reverse('lti:embed_media', args=[media_token]) + '?mode=embed_mode'
else: else:
redirect_url = reverse('lti:select_media') redirect_url = reverse('lti:select_media') + '?mode=embed_mode'
# Use HTML meta refresh to ensure session cookie is preserved in cross-site contexts # Use HTML meta refresh to ensure session cookie is preserved in cross-site contexts
html_content = f""" html_content = f"""
@@ -581,7 +581,7 @@ class MyMediaLTIView(View):
if not lti_session: if not lti_session:
return JsonResponse({'error': 'Not authenticated via LTI'}, status=403) return JsonResponse({'error': 'Not authenticated via LTI'}, status=403)
profile_url = f"/user/{request.user.username}" profile_url = f"/user/{request.user.username}?mode=embed_mode"
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
@@ -610,7 +610,7 @@ class EmbedMediaLTIView(View):
if not can_view: if not can_view:
return JsonResponse({'error': 'Access denied', 'message': 'You do not have permission to view this media'}, status=403) return JsonResponse({'error': 'Access denied', 'message': 'You do not have permission to view this media'}, status=403)
return HttpResponseRedirect(f"/embed?m={friendly_token}") return HttpResponseRedirect(f"/embed?m={friendly_token}&mode=embed_mode")
class ManualSyncView(APIView): class ManualSyncView(APIView):