Skip to content

Commit

Permalink
🐛 [BUG] Fix missing Structures in APIv2
Browse files Browse the repository at this point in the history
  • Loading branch information
Chatewgne committed Dec 31, 2024
1 parent 17cd742 commit 83c6d85
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
5 changes: 5 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ CHANGELOG
- Fix typo in documentation
- Update and homogenize README.rst

**Bug fixes**

- Fix missing Structures in APIv2


2.111.0 (2024-12-05)
----------------------------

Expand Down
16 changes: 15 additions & 1 deletion geotrek/api/v2/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -1106,13 +1106,27 @@ def filter_queryset(self, request, qs, view):
return (set_1 | set_2).distinct()


class RelatedPortalStructureOrReservationSystemFilter(RelatedObjectsPublishedNotDeletedByPortalFilter):
class RelatedPortalReservationSystemFilter(RelatedObjectsPublishedNotDeletedByPortalFilter):
def filter_queryset(self, request, qs, view):
set_1 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'trek')
set_2 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'touristiccontent')
return (set_1 | set_2).distinct()


class RelatedPortalStructureFilter(RelatedObjectsPublishedNotDeletedByPortalFilter):
def filter_queryset(self, request, qs, view):
set_1 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'trek')
set_2 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'touristiccontent')
set_3 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'poi')
set_4 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'service')
set_5 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'infrastructure')
set_6 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'signage')
set_7 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'touristicevent')
set_8 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'site')
set_9 = self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'course')
return (set_1 | set_2 | set_3 | set_4 | set_5 | set_6 | set_7 | set_8 | set_9).distinct()


class TouristicContentRelatedPortalFilter(RelatedObjectsPublishedNotDeletedByPortalFilter):
def filter_queryset(self, request, qs, view):
return self.filter_queryset_related_objects_published_not_deleted_by_portal(qs, request, 'contents')
Expand Down
2 changes: 1 addition & 1 deletion geotrek/api/v2/views/authent.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


class StructureViewSet(api_viewsets.GeotrekViewSet):
filter_backends = api_viewsets.GeotrekViewSet.filter_backends + (api_filters.RelatedPortalStructureOrReservationSystemFilter,)
filter_backends = api_viewsets.GeotrekViewSet.filter_backends + (api_filters.RelatedPortalStructureFilter,)
serializer_class = api_serializers.StructureSerializer
queryset = authent_models.Structure.objects.all()

Expand Down
2 changes: 1 addition & 1 deletion geotrek/api/v2/views/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def retrieve(self, request, pk=None, format=None):


class ReservationSystemViewSet(api_viewsets.GeotrekViewSet):
filter_backends = api_viewsets.GeotrekViewSet.filter_backends + (api_filters.RelatedPortalStructureOrReservationSystemFilter,)
filter_backends = api_viewsets.GeotrekViewSet.filter_backends + (api_filters.RelatedPortalReservationSystemFilter,)
serializer_class = api_serializers.ReservationSystemSerializer
queryset = common_models.ReservationSystem.objects.all()

Expand Down

0 comments on commit 83c6d85

Please sign in to comment.