Implement filter for publishAt

This commit is contained in:
Aarni Halinen
2022-07-28 00:40:05 +03:00
parent 9b450f94a5
commit 05279ae900
+8 -5
View File
@@ -67,10 +67,11 @@ class FeedViewSet(ModelViewSet):
# Soft deleted objects can be edited (and completely deleted) via Django admin (for superadmins) # Soft deleted objects can be edited (and completely deleted) via Django admin (for superadmins)
return Feed.objects.filter(deleted=False).order_by("-publishAt") return Feed.objects.filter(deleted=False).order_by("-publishAt")
now = timezone.now()
# Hide deleted and unpublished objects... # Hide deleted and unpublished objects...
query = Q(deleted=False, isPublished=True) query = Q(deleted=False, isPublished=True, publishAt__lte=now)
# and hide objects that are automatically unpublished # and hide objects that are automatically unpublished
hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=timezone.now()) hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=now)
query.add(hideQuery, Q.AND) query.add(hideQuery, Q.AND)
return Feed.objects.filter(query).order_by("-publishAt") return Feed.objects.filter(query).order_by("-publishAt")
@@ -105,8 +106,9 @@ class EventViewSet(ModelViewSet):
) )
) )
now = timezone.now()
# Hide deleted and unpublished objects... # Hide deleted and unpublished objects...
query = Q(deleted=False, isPublished=True) query = Q(deleted=False, isPublished=True, publishAt__lte=now)
# and hide objects that are automatically unpublished # and hide objects that are automatically unpublished
hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=timezone.now()) hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=timezone.now())
query.add(hideQuery, Q.AND) query.add(hideQuery, Q.AND)
@@ -115,7 +117,7 @@ class EventViewSet(ModelViewSet):
if since: if since:
query.add(Q(end_time__gt=since), Q.AND) query.add(Q(end_time__gt=since), Q.AND)
else: else:
query.add(Q(end_time__gt=timezone.now()), Q.AND) query.add(Q(end_time__gt=now), Q.AND)
return Event.objects.filter(query).prefetch_related( return Event.objects.filter(query).prefetch_related(
Prefetch( Prefetch(
@@ -158,7 +160,8 @@ class JobAdViewSet(ModelViewSet):
if self.request.user.is_authenticated: if self.request.user.is_authenticated:
return JobAd.objects.filter(deleted=False).order_by("-publishAt") return JobAd.objects.filter(deleted=False).order_by("-publishAt")
query = Q(deleted=False, isPublished=True) now = timezone.now()
query = Q(deleted=False, isPublished=True, publishAt__lte=now)
hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=timezone.now()) hideQuery = Q(autoUnpublish=False) | Q(unpublishAt__gt=timezone.now())
query.add(hideQuery, Q.AND) query.add(hideQuery, Q.AND)
return JobAd.objects.filter(query).order_by("-publishAt") return JobAd.objects.filter(query).order_by("-publishAt")