mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-05-03 03:22:04 -04:00
wtv
This commit is contained in:
@@ -238,7 +238,6 @@ class MediaPublishForm(forms.ModelForm):
|
||||
)
|
||||
elif not shared:
|
||||
self.instance.permissions.all().delete()
|
||||
self.instance.embed_courses.all().delete()
|
||||
rbac_cats = self.instance.category.filter(is_rbac_category=True)
|
||||
self.instance.category.remove(*rbac_cats)
|
||||
|
||||
|
||||
+2
-10
@@ -514,7 +514,6 @@ class MediaBulkUserActions(APIView):
|
||||
|
||||
if remove_sharing:
|
||||
MediaPermission.objects.filter(media__in=media).delete()
|
||||
EmbedMediaCourse.objects.filter(media__in=media).delete()
|
||||
for m in media:
|
||||
rbac_cats = m.category.filter(is_rbac_category=True)
|
||||
if rbac_cats.exists():
|
||||
@@ -695,18 +694,14 @@ class MediaBulkUserActions(APIView):
|
||||
return Response({"detail": "No matching categories found"}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
removed_count = 0
|
||||
tag = None
|
||||
for category in categories:
|
||||
if category.is_lms_course:
|
||||
tag = Tag.objects.filter(title=category.title[:100]).first()
|
||||
|
||||
for m in media:
|
||||
if m.category.filter(uid=category.uid).exists():
|
||||
m.category.remove(category)
|
||||
removed_count += 1
|
||||
if tag:
|
||||
m.tags.remove(tag)
|
||||
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"})
|
||||
|
||||
@@ -785,7 +780,6 @@ class MediaBulkUserActions(APIView):
|
||||
if remove_permissions:
|
||||
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()
|
||||
selected_embedded.delete()
|
||||
if remove_comments:
|
||||
Comment.objects.filter(media__in=selected_media).delete()
|
||||
|
||||
@@ -796,7 +790,6 @@ class MediaBulkUserActions(APIView):
|
||||
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_id__in=other_embedded_media_ids).exclude(user=F('media__user')).delete()
|
||||
other_embedded.delete()
|
||||
if remove_comments:
|
||||
Comment.objects.filter(media__in=other_course_media).delete()
|
||||
for m in other_course_media:
|
||||
@@ -808,7 +801,6 @@ class MediaBulkUserActions(APIView):
|
||||
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_id__in=embedded_media_ids).exclude(user=F('media__user')).delete()
|
||||
embed_qs.delete()
|
||||
if remove_comments:
|
||||
Comment.objects.filter(media__in=all_course_media).delete()
|
||||
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');
|
||||
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')) {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -130,14 +140,14 @@ const setupIframeOverlays = (editor, handleIframeAction) => {
|
||||
position: relative;
|
||||
line-height: 0;
|
||||
vertical-align: top;
|
||||
margin-top: 50px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
.tiny-mediacms-iframe-wrapper iframe {
|
||||
display: block;
|
||||
}
|
||||
.tiny-mediacms-edit-btn {
|
||||
position: absolute;
|
||||
top: -44px;
|
||||
top: -20px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
|
||||
@@ -28,4 +28,4 @@
|
||||
"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