mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-02-04 06:22:59 -05:00
embed mode
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
12
lti/views.py
12
lti/views.py
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user