mirror of
https://github.com/mediacms-io/mediacms.git
synced 2025-12-25 21:02:30 -05:00
replace media, shared state, better category options
This commit is contained in:
@@ -226,8 +226,13 @@ class MediaList(APIView):
|
||||
elif duration == '60-120':
|
||||
media = media.filter(duration__gte=3600)
|
||||
|
||||
if publish_state and publish_state in ['private', 'public', 'unlisted']:
|
||||
media = media.filter(state=publish_state)
|
||||
if publish_state:
|
||||
if publish_state == 'shared':
|
||||
# Filter media that have custom permissions OR RBAC categories
|
||||
shared_conditions = Q(permissions__isnull=False) | Q(category__is_rbac_category=True)
|
||||
media = media.filter(shared_conditions).distinct()
|
||||
elif publish_state in ['private', 'public', 'unlisted']:
|
||||
media = media.filter(state=publish_state)
|
||||
|
||||
if not already_sorted:
|
||||
media = media.order_by(f"{ordering}{sort_by}")
|
||||
@@ -799,13 +804,14 @@ class MediaDetail(APIView):
|
||||
|
||||
serializer = MediaSerializer(media, data=request.data, context={"request": request})
|
||||
if serializer.is_valid():
|
||||
serializer.save(user=request.user)
|
||||
# no need to update the media file itself, only the metadata
|
||||
# if request.data.get('media_file'):
|
||||
# media_file = request.data["media_file"]
|
||||
# serializer.save(user=request.user, media_file=media_file)
|
||||
# media_file = request.data["media_file"]
|
||||
# media.state = helpers.get_default_state(request.user)
|
||||
# media.listable = False
|
||||
# serializer.save(user=request.user, media_file=media_file)
|
||||
# else:
|
||||
# serializer.save(user=request.user)
|
||||
# serializer.save(user=request.user)
|
||||
serializer.save(user=request.user)
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user