From 0a314927339966b0ed725dbbc0fcb07db56d707f Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Fri, 15 Jan 2021 00:27:41 +0200 Subject: [PATCH] Fix queryset filtering on new soft deletes --- webapp/views.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/webapp/views.py b/webapp/views.py index 97b57c6..b98920b 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -53,16 +53,16 @@ class EventViewSet(ModelViewSet): if self.request.user.is_authenticated or \ self.request.method == 'POST' or \ self.request.method == 'PUT': - return Event.objects.all().prefetch_related( + return Event.objects.filter(deleted=False).prefetch_related( Prefetch('signupForm', queryset=SignupForm.objects.filter(deleted=False), to_attr='filtered_signup_forms') ) since = self.request.query_params.get('since', None) if since: - return Event.objects.filter(visible=True, end_time__gt=since).order_by('start_time').prefetch_related( + return Event.objects.filter(deleted=False, visible=True, end_time__gt=since).order_by('start_time').prefetch_related( Prefetch('signupForm', queryset=SignupForm.objects.filter(deleted=False, visible=True), to_attr='filtered_signup_forms') ) - return Event.objects.filter(visible=True, end_time__gt=timezone.now()).order_by('start_time').prefetch_related( + return Event.objects.filter(deleted=False, visible=True, end_time__gt=timezone.now()).order_by('start_time').prefetch_related( Prefetch('signupForm', queryset=SignupForm.objects.filter(deleted=False, visible=True), to_attr='filtered_signup_forms') ) @@ -112,8 +112,8 @@ class SignupFormViewSet(ModelViewSet): def get_queryset(self): if self.request.user.is_authenticated: - return SignupForm.objects.all().order_by('start_time') - return SignupForm.objects.filter(visible=True, end_time__gt=timezone.now()).order_by('start_time') + return SignupForm.objects.filter(deleted=False).order_by('start_time') + return SignupForm.objects.filter(deleted=False, visible=True, end_time__gt=timezone.now()).order_by('start_time') def destroy(self, request, pk=None, *args, **kwargs): try: @@ -230,9 +230,9 @@ class FeedViewSet(ModelViewSet): def get_queryset(self): if self.request.user.is_authenticated: - return Feed.objects.all().order_by('publish_time') + return Feed.objects.filter(deleted=False).order_by('publish_time') else: - objs = Feed.objects.filter(visible=True).order_by('publish_time') + objs = Feed.objects.filter(deleted=False, visible=True).order_by('publish_time') # TODO: Bad filtering. Rewrite! result_ids = [] @@ -268,8 +268,8 @@ class JobAdViewSet(ModelViewSet): def get_queryset(self): if self.request.user.is_authenticated: - return JobAd.objects.all() - return JobAd.objects.filter(visible=True, autohide_at__gt=timezone.now()) + return JobAd.objects.filter(deleted=False) + return JobAd.objects.filter(deleted=False, visible=True, autohide_at__gt=timezone.now()) def destroy(self, request, pk=None, *args, **kwargs): try: