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