mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-04-24 00:08:07 -04:00
all
This commit is contained in:
@@ -506,7 +506,14 @@ class MediaBulkUserActions(APIView):
|
||||
|
||||
m.save(update_fields=["state", "listable"])
|
||||
|
||||
return Response({"detail": f"State updated to {state} for {media.count()} media items"})
|
||||
if state == "private":
|
||||
MediaPermission.objects.filter(media__in=media).delete()
|
||||
for m in media:
|
||||
rbac_cats = m.category.filter(is_rbac_category=True)
|
||||
if rbac_cats.exists():
|
||||
m.category.remove(*rbac_cats)
|
||||
|
||||
return Response({"detail": f"State updated to {state}"})
|
||||
|
||||
elif action == "change_owner":
|
||||
owner = request.data.get('owner')
|
||||
|
||||
@@ -25,13 +25,18 @@ export const BulkActionPublishStateModal: React.FC<BulkActionPublishStateModalPr
|
||||
onError,
|
||||
csrfToken,
|
||||
}) => {
|
||||
const [selectedState, setSelectedState] = useState('public');
|
||||
const isLmsEmbedMode =
|
||||
sessionStorage.getItem('lms_embed_mode') === 'true' ||
|
||||
new URLSearchParams(window.location.search).get('mode') === 'lms_embed_mode';
|
||||
const availableStates = isLmsEmbedMode ? PUBLISH_STATES.filter((s) => s.value !== 'public') : PUBLISH_STATES;
|
||||
const defaultState = availableStates[0].value;
|
||||
|
||||
const [selectedState, setSelectedState] = useState(defaultState);
|
||||
const [isProcessing, setIsProcessing] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isOpen) {
|
||||
// Reset state when modal closes
|
||||
setSelectedState('public');
|
||||
setSelectedState(defaultState);
|
||||
}
|
||||
}, [isOpen]);
|
||||
|
||||
@@ -97,7 +102,7 @@ export const BulkActionPublishStateModal: React.FC<BulkActionPublishStateModalPr
|
||||
onChange={(e) => setSelectedState(e.target.value)}
|
||||
disabled={isProcessing}
|
||||
>
|
||||
{PUBLISH_STATES.map((state) => (
|
||||
{availableStates.map((state) => (
|
||||
<option key={state.value} value={state.value}>
|
||||
{state.label}
|
||||
</option>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user