mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-05-05 20:23:26 -04:00
wtv
This commit is contained in:
@@ -238,7 +238,6 @@ class MediaPublishForm(forms.ModelForm):
|
|||||||
)
|
)
|
||||||
elif not shared:
|
elif not shared:
|
||||||
self.instance.permissions.all().delete()
|
self.instance.permissions.all().delete()
|
||||||
self.instance.embed_courses.all().delete()
|
|
||||||
rbac_cats = self.instance.category.filter(is_rbac_category=True)
|
rbac_cats = self.instance.category.filter(is_rbac_category=True)
|
||||||
self.instance.category.remove(*rbac_cats)
|
self.instance.category.remove(*rbac_cats)
|
||||||
|
|
||||||
|
|||||||
+2
-10
@@ -514,7 +514,6 @@ class MediaBulkUserActions(APIView):
|
|||||||
|
|
||||||
if remove_sharing:
|
if remove_sharing:
|
||||||
MediaPermission.objects.filter(media__in=media).delete()
|
MediaPermission.objects.filter(media__in=media).delete()
|
||||||
EmbedMediaCourse.objects.filter(media__in=media).delete()
|
|
||||||
for m in media:
|
for m in media:
|
||||||
rbac_cats = m.category.filter(is_rbac_category=True)
|
rbac_cats = m.category.filter(is_rbac_category=True)
|
||||||
if rbac_cats.exists():
|
if rbac_cats.exists():
|
||||||
@@ -695,18 +694,14 @@ class MediaBulkUserActions(APIView):
|
|||||||
return Response({"detail": "No matching categories found"}, status=status.HTTP_400_BAD_REQUEST)
|
return Response({"detail": "No matching categories found"}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
removed_count = 0
|
removed_count = 0
|
||||||
tag = None
|
|
||||||
for category in categories:
|
for category in categories:
|
||||||
if category.is_lms_course:
|
|
||||||
tag = Tag.objects.filter(title=category.title[:100]).first()
|
|
||||||
|
|
||||||
for m in media:
|
for m in media:
|
||||||
if m.category.filter(uid=category.uid).exists():
|
if m.category.filter(uid=category.uid).exists():
|
||||||
m.category.remove(category)
|
m.category.remove(category)
|
||||||
removed_count += 1
|
removed_count += 1
|
||||||
if tag:
|
|
||||||
m.tags.remove(tag)
|
|
||||||
EmbedMediaCourse.objects.filter(media=m, category=category).delete()
|
EmbedMediaCourse.objects.filter(media=m, category=category).delete()
|
||||||
|
if not m.category.filter(is_rbac_category=True).exists() and not m.permissions.exclude(user=m.user).exists():
|
||||||
|
m.permissions.filter(user=m.user).delete()
|
||||||
|
|
||||||
return Response({"detail": f"Removed {removed_count} media items from {categories.count()} categories"})
|
return Response({"detail": f"Removed {removed_count} media items from {categories.count()} categories"})
|
||||||
|
|
||||||
@@ -785,7 +780,6 @@ class MediaBulkUserActions(APIView):
|
|||||||
if remove_permissions:
|
if remove_permissions:
|
||||||
MediaPermission.objects.filter(media__in=selected_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media__in=selected_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
||||||
MediaPermission.objects.filter(media_id__in=selected_embedded_media_ids).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media_id__in=selected_embedded_media_ids).exclude(user=F('media__user')).delete()
|
||||||
selected_embedded.delete()
|
|
||||||
if remove_comments:
|
if remove_comments:
|
||||||
Comment.objects.filter(media__in=selected_media).delete()
|
Comment.objects.filter(media__in=selected_media).delete()
|
||||||
|
|
||||||
@@ -796,7 +790,6 @@ class MediaBulkUserActions(APIView):
|
|||||||
if remove_permissions:
|
if remove_permissions:
|
||||||
MediaPermission.objects.filter(media__in=other_course_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media__in=other_course_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
||||||
MediaPermission.objects.filter(media_id__in=other_embedded_media_ids).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media_id__in=other_embedded_media_ids).exclude(user=F('media__user')).delete()
|
||||||
other_embedded.delete()
|
|
||||||
if remove_comments:
|
if remove_comments:
|
||||||
Comment.objects.filter(media__in=other_course_media).delete()
|
Comment.objects.filter(media__in=other_course_media).delete()
|
||||||
for m in other_course_media:
|
for m in other_course_media:
|
||||||
@@ -808,7 +801,6 @@ class MediaBulkUserActions(APIView):
|
|||||||
if remove_permissions:
|
if remove_permissions:
|
||||||
MediaPermission.objects.filter(media__in=all_course_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media__in=all_course_media, user__in=group_users).exclude(user=F('media__user')).delete()
|
||||||
MediaPermission.objects.filter(media_id__in=embedded_media_ids).exclude(user=F('media__user')).delete()
|
MediaPermission.objects.filter(media_id__in=embedded_media_ids).exclude(user=F('media__user')).delete()
|
||||||
embed_qs.delete()
|
|
||||||
if remove_comments:
|
if remove_comments:
|
||||||
Comment.objects.filter(media__in=all_course_media).delete()
|
Comment.objects.filter(media__in=all_course_media).delete()
|
||||||
if embedded_media_ids:
|
if embedded_media_ids:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -76,8 +76,18 @@ const setupIframeOverlays = (editor, handleIframeAction) => {
|
|||||||
|
|
||||||
const iframes = editorBody.querySelectorAll('iframe');
|
const iframes = editorBody.querySelectorAll('iframe');
|
||||||
iframes.forEach((iframe) => {
|
iframes.forEach((iframe) => {
|
||||||
// Skip if already wrapped
|
// If already wrapped, ensure contenteditable and EDIT button are present
|
||||||
if (iframe.parentElement?.classList.contains('tiny-mediacms-iframe-wrapper')) {
|
if (iframe.parentElement?.classList.contains('tiny-mediacms-iframe-wrapper')) {
|
||||||
|
const existingWrapper = iframe.parentElement;
|
||||||
|
existingWrapper.setAttribute('contenteditable', 'false');
|
||||||
|
if (!existingWrapper.querySelector('.tiny-mediacms-edit-btn')) {
|
||||||
|
const editBtn = editor.getDoc().createElement('button');
|
||||||
|
editBtn.className = 'tiny-mediacms-edit-btn';
|
||||||
|
editBtn.setAttribute('type', 'button');
|
||||||
|
editBtn.setAttribute('title', 'Edit media embed options');
|
||||||
|
editBtn.textContent = 'EDIT';
|
||||||
|
existingWrapper.appendChild(editBtn);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,14 +140,14 @@ const setupIframeOverlays = (editor, handleIframeAction) => {
|
|||||||
position: relative;
|
position: relative;
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
margin-top: 50px;
|
margin-top: 24px;
|
||||||
}
|
}
|
||||||
.tiny-mediacms-iframe-wrapper iframe {
|
.tiny-mediacms-iframe-wrapper iframe {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.tiny-mediacms-edit-btn {
|
.tiny-mediacms-edit-btn {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -44px;
|
top: -20px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
background: rgba(0, 0, 0, 0.7);
|
background: rgba(0, 0, 0, 0.7);
|
||||||
|
|||||||
@@ -28,4 +28,4 @@
|
|||||||
"aspectRatioClass": "ratio-16-9"
|
"aspectRatioClass": "ratio-16-9"
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
<div class="tiny-mediacms-iframe-wrapper" style="max-width:{{maxWidth}}px;width:100%;margin:0 auto;padding:0;"><iframe src="{{src}}" width="{{maxWidth}}" height="{{height}}" style="width:100%;max-width:{{maxWidth}}px;height:auto;aspect-ratio:{{aspectRatioCSS}};display:block;margin:0 auto;border:0;" frameborder="0" allowfullscreen></iframe></div>
|
<div class="tiny-mediacms-iframe-wrapper" contenteditable="false" style="max-width:{{maxWidth}}px;width:100%;margin:0 auto;padding:0;"><iframe src="{{src}}" width="{{maxWidth}}" height="{{height}}" style="width:100%;max-width:{{maxWidth}}px;height:auto;aspect-ratio:{{aspectRatioCSS}};display:block;margin:0 auto;border:0;" frameborder="0" allowfullscreen></iframe></div>
|
||||||
|
|||||||
Reference in New Issue
Block a user