Fix resource duplication caused by available_teams_lookup_args (#1593)
# What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Tests updated - [ ] Documentation added - [ ] `CHANGELOG.md` updated
This commit is contained in:
parent
d5079d9ffc
commit
cc2b4eeae2
12 changed files with 13 additions and 13 deletions
|
|
@ -294,7 +294,7 @@ class AlertGroupView(
|
|||
)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
queryset = queryset.only("id")
|
||||
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ class AlertReceiveChannelView(
|
|||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
# Hide direct paging integrations from the list view, but not from the filters
|
||||
if not is_filters_request:
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class AlertReceiveChannelTemplateView(
|
|||
organization=self.request.auth.organization,
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
return queryset
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class ChannelFilterView(
|
|||
slack_channel_pk=Subquery(slack_channels_subq.values("public_primary_key")[:1]),
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
return queryset
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class CustomButtonView(TeamFilteringMixin, PublicPrimaryKeyMixin, ModelViewSet):
|
|||
organization=self.request.auth.organization,
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
return queryset
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class EscalationChainViewSet(
|
|||
)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
if is_filters_request:
|
||||
# Do not annotate num_integrations and num_routes for filters request,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class EscalationPolicyView(
|
|||
).distinct()
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
return queryset
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class IntegrationHeartBeatView(
|
|||
**lookup_kwargs,
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
return queryset
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class OnCallShiftView(TeamFilteringMixin, PublicPrimaryKeyMixin, UpdateSerialize
|
|||
)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
return queryset.order_by("schedules")
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class ResolutionNoteView(TeamFilteringMixin, PublicPrimaryKeyMixin, UpdateSerial
|
|||
)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
return queryset
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ class ScheduleView(
|
|||
"prev_ical_file_overrides",
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
if not is_short_request:
|
||||
queryset = self._annotate_queryset(queryset)
|
||||
queryset = self.serializer_class.setup_eager_loading(queryset)
|
||||
|
|
@ -231,7 +231,7 @@ class ScheduleView(
|
|||
public_primary_key=pk,
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
queryset = self._annotate_queryset(queryset)
|
||||
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class WebhooksView(TeamFilteringMixin, PublicPrimaryKeyMixin, ModelViewSet):
|
|||
organization=self.request.auth.organization,
|
||||
).prefetch_related("responses")
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args)
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
return queryset
|
||||
|
||||
def get_object(self):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue