diff --git a/cookbook/tests/api/test_api_shopping_list_entryv2.py b/cookbook/tests/api/test_api_shopping_list_entryv2.py index a1e78f7b..f1266d1e 100644 --- a/cookbook/tests/api/test_api_shopping_list_entryv2.py +++ b/cookbook/tests/api/test_api_shopping_list_entryv2.py @@ -214,6 +214,9 @@ def test_completed(sle, u1_s1): def test_recent(sle, u1_s1): user = auth.get_user(u1_s1) + user.userpreference.shopping_recent_days = 7 # hardcoded API limit 14 days + user.userpreference.save() + today_start = timezone.now().replace(hour=0, minute=0, second=0) # past_date within recent_days threshold diff --git a/cookbook/views/api.py b/cookbook/views/api.py index 359b281d..fa16688a 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -1163,11 +1163,11 @@ class ShoppingListEntryViewSet(viewsets.ModelViewSet): if pk := self.request.query_params.getlist('id', []): self.queryset = self.queryset.filter(food__id__in=[int(i) for i in pk]) - if 'checked' in self.request.query_params or 'recent' in self.request.query_params: + if 'checked' in self.request.query_params: return shopping_helper(self.queryset, self.request) elif not self.detail: today_start = timezone.now().replace(hour=0, minute=0, second=0) - week_ago = today_start - datetime.timedelta(days=max(self.request.user.userpreference.shopping_recent_days, 14)) + week_ago = today_start - datetime.timedelta(days=min(self.request.user.userpreference.shopping_recent_days, 14)) self.queryset = self.queryset.filter(Q(checked=False) | Q(completed_at__gte=week_ago)) try: