mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-03-18 19:01:56 -04:00
a
This commit is contained in:
@@ -1 +1 @@
|
|||||||
VERSION = "8.92"
|
VERSION = "8.93"
|
||||||
|
|||||||
@@ -649,11 +649,17 @@ class MediaBulkUserActions(APIView):
|
|||||||
return Response({"detail": "No matching categories found or access denied"}, status=status.HTTP_400_BAD_REQUEST)
|
return Response({"detail": "No matching categories found or access denied"}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
added_count = 0
|
added_count = 0
|
||||||
|
tag = None
|
||||||
for category in categories:
|
for category in categories:
|
||||||
|
if category.is_lms_course:
|
||||||
|
tag, _ = Tag.objects.get_or_create(title=category.title[:100])
|
||||||
|
|
||||||
for m in media:
|
for m in media:
|
||||||
if not m.category.filter(uid=category.uid).exists():
|
if not m.category.filter(uid=category.uid).exists():
|
||||||
m.category.add(category)
|
m.category.add(category)
|
||||||
added_count += 1
|
added_count += 1
|
||||||
|
if tag:
|
||||||
|
m.tags.add(tag)
|
||||||
|
|
||||||
return Response({"detail": f"Added {added_count} media items to {categories.count()} categories"})
|
return Response({"detail": f"Added {added_count} media items to {categories.count()} categories"})
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import './BulkActionsDropdown.scss';
|
import './BulkActionsDropdown.scss';
|
||||||
import { translateString } from '../utils/helpers/';
|
import { translateString } from '../utils/helpers/';
|
||||||
|
import { inEmbeddedApp } from '../utils/helpers/embeddedApp';
|
||||||
|
|
||||||
interface BulkActionsDropdownProps {
|
interface BulkActionsDropdownProps {
|
||||||
selectedCount: number;
|
selectedCount: number;
|
||||||
@@ -18,6 +19,9 @@ interface BulkActionGroup {
|
|||||||
actions: BulkAction[];
|
actions: BulkAction[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const BulkActionsDropdown: React.FC<BulkActionsDropdownProps> = ({ selectedCount, onActionSelect }) => {
|
||||||
|
const isLmsMode = inEmbeddedApp();
|
||||||
|
|
||||||
const BULK_ACTION_GROUPS: BulkActionGroup[] = [
|
const BULK_ACTION_GROUPS: BulkActionGroup[] = [
|
||||||
{
|
{
|
||||||
label: translateString('Sharing'),
|
label: translateString('Sharing'),
|
||||||
@@ -25,7 +29,7 @@ const BULK_ACTION_GROUPS: BulkActionGroup[] = [
|
|||||||
{ value: 'add-remove-coviewers', label: translateString('Share with Co-Viewers'), enabled: true },
|
{ value: 'add-remove-coviewers', label: translateString('Share with Co-Viewers'), enabled: true },
|
||||||
{ value: 'add-remove-coeditors', label: translateString('Share with Co-Editors'), enabled: true },
|
{ value: 'add-remove-coeditors', label: translateString('Share with Co-Editors'), enabled: true },
|
||||||
{ value: 'add-remove-coowners', label: translateString('Share with Co-Owners'), enabled: true },
|
{ value: 'add-remove-coowners', label: translateString('Share with Co-Owners'), enabled: true },
|
||||||
{ value: 'add-remove-category', label: translateString('Share with Course Members'), enabled: true },
|
{ value: 'add-remove-category', label: isLmsMode ? translateString('Share with Course Members') : translateString('Add / Remove from Categories'), enabled: true },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -55,8 +59,6 @@ const BULK_ACTION_GROUPS: BulkActionGroup[] = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const BulkActionsDropdown: React.FC<BulkActionsDropdownProps> = ({ selectedCount, onActionSelect }) => {
|
|
||||||
const noSelection = selectedCount === 0;
|
const noSelection = selectedCount === 0;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user