Implement filter for publishAt
This commit is contained in:
+8
-5
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user