From 73822403e274625e50922d410896cf83c63655b1 Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Mon, 27 Apr 2026 20:59:55 +0300 Subject: [PATCH] wtv --- cms/version.py | 2 +- files/views/media.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cms/version.py b/cms/version.py index 08fb6546..5dd456fb 100644 --- a/cms/version.py +++ b/cms/version.py @@ -1 +1 @@ -VERSION = "8.1.2" +VERSION = "8.1.3" diff --git a/files/views/media.py b/files/views/media.py index bd8fc96a..66b33574 100644 --- a/files/views/media.py +++ b/files/views/media.py @@ -627,7 +627,13 @@ class MediaBulkUserActions(APIView): elif action == "category_membership": media_count = media.count() - results = list(Category.objects.filter(media__in=media).values('title', 'uid').annotate(media_count=Count('media', distinct=True)).filter(media_count=media_count)) + # Categories where ALL selected media are members via the M2M relation + m2m_uids = set(Category.objects.filter(media__in=media).annotate(media_count=Count('media', distinct=True)).filter(media_count=media_count).values_list('uid', flat=True)) + + # Categories where ANY selected media has an EmbedMediaCourse record + embed_uids = set(EmbedMediaCourse.objects.filter(media__in=media).values_list('category__uid', flat=True)) + + results = list(Category.objects.filter(uid__in=m2m_uids | embed_uids).values('title', 'uid')) return Response({'results': results})