diff --git a/karrot/activities/api.py b/karrot/activities/api.py index d73141bf..b23c9b1f 100644 --- a/karrot/activities/api.py +++ b/karrot/activities/api.py @@ -264,7 +264,7 @@ class PublicActivityViewSet( mixins.ListModelMixin, ): serializer_class = PublicActivitySerializer - queryset = ActivityModel.objects.is_public().exclude_disabled() + queryset = ActivityModel.objects.is_public().exclude_disabled().filter(place__archived_at__isnull=True) filter_backends = ( filters.DjangoFilterBackend, OrderingFilter, diff --git a/karrot/activities/filters.py b/karrot/activities/filters.py index 751c353d..6d897622 100644 --- a/karrot/activities/filters.py +++ b/karrot/activities/filters.py @@ -30,6 +30,17 @@ class Meta: class PublicActivitiesFilter(filters.FilterSet): group = filters.NumberFilter(field_name="place__group") date = ISODateTimeRangeFromToRangeFilter(field_name="date", lookup_expr="overlap") + place = filters.NumberFilter(field_name="place") + activity_type = filters.NumberFilter(field_name="activity_type") + + class Meta: + model = Activity + fields = [ + "group", + "date", + "place", + "activity_type", + ] def place_status_queryset(request):