fix autohide filtering for feed
This commit is contained in:
+7
-13
@@ -281,23 +281,17 @@ class FeedViewSet(ModelViewSet):
|
||||
|
||||
def get_queryset(self):
|
||||
if self.request.user.is_authenticated:
|
||||
return Feed.objects.filter(deleted=False).order_by("-publish_time")
|
||||
objs = Feed.objects.filter(deleted=False)
|
||||
else:
|
||||
objs = Feed.objects.filter(deleted=False, visible=True).order_by(
|
||||
objs = Feed.objects.filter(
|
||||
deleted=False, visible=True, publish_time__lt=timezone.now()
|
||||
)
|
||||
objs = objs.filter(autohide_enabled=False) | objs.filter(autohide_enabled=True, autohide__gt=timezone.now())
|
||||
|
||||
return objs.order_by(
|
||||
"-publish_time"
|
||||
)
|
||||
|
||||
# TODO: Bad filtering. Rewrite!
|
||||
result_ids = []
|
||||
for obj in objs:
|
||||
if obj.autohide_enabled:
|
||||
if obj.autohide > timezone.now():
|
||||
result_ids.append(obj.id)
|
||||
else:
|
||||
result_ids.append(obj.id)
|
||||
|
||||
return Feed.objects.filter(id__in=result_ids).order_by("-publish_time")
|
||||
|
||||
def destroy(self, request, pk=None, *args, **kwargs):
|
||||
try:
|
||||
post = self.get_object()
|
||||
|
||||
Reference in New Issue
Block a user