diff --git a/files/views/media.py b/files/views/media.py index b724bf17..069b0271 100644 --- a/files/views/media.py +++ b/files/views/media.py @@ -193,8 +193,11 @@ class MediaList(APIView): already_sorted = True else: - media = self._get_media_queryset(request) - already_sorted = True + if is_mediacms_editor(self.request.user): + media = Media.objects.prefetch_related("user", "tags") + else: + media = self._get_media_queryset(request) + already_sorted = True if tag: media = media.filter(tags__title=tag) @@ -1010,11 +1013,15 @@ class MediaSearch(APIView): return Response(ret, status=status.HTTP_200_OK) if request.user.is_authenticated: - basic_query = Q(listable=True) | Q(permissions__user=request.user) + if is_mediacms_editor(self.request.user): + media = Media.objects.prefetch_related("user", "tags") + basic_query = Q() + else: + basic_query = Q(listable=True) | Q(permissions__user=request.user) - if getattr(settings, 'USE_RBAC', False): - rbac_categories = request.user.get_rbac_categories_as_member() - basic_query |= Q(category__in=rbac_categories) + if getattr(settings, 'USE_RBAC', False): + rbac_categories = request.user.get_rbac_categories_as_member() + basic_query |= Q(category__in=rbac_categories) else: basic_query = Q(listable=True)