Skip to content

Commit bed6475

Browse files
authored
Merge pull request #2068 from kobotoolbox/2061-duplicate-assets
2061 duplicate assets
2 parents 3d04616 + 475037d commit bed6475

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

kpi/filters.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def filter_queryset(self, request, queryset, view):
6666
get_anonymous_user(), permission, queryset)
6767
if view.action != 'list':
6868
# Not a list, so discoverability doesn't matter
69-
return owned_and_explicitly_shared | public
69+
return (owned_and_explicitly_shared | public).distinct()
7070

7171
# For a list, do not include public objects unless they are also
7272
# discoverable
@@ -85,7 +85,7 @@ def filter_queryset(self, request, queryset, view):
8585
if all_public:
8686
# We were asked not to consider subscriptions; return all
8787
# discoverable objects
88-
return owned_and_explicitly_shared | discoverable
88+
return (owned_and_explicitly_shared | discoverable).distinct()
8989

9090
# Of the discoverable objects, determine to which the user has
9191
# subscribed
@@ -101,7 +101,7 @@ def filter_queryset(self, request, queryset, view):
101101
# Neither the model or its parent has a subscription relation
102102
subscribed = public.none()
103103

104-
return owned_and_explicitly_shared | subscribed
104+
return (owned_and_explicitly_shared | subscribed).distinct()
105105

106106

107107
class RelatedAssetPermissionsFilter(KpiObjectPermissionsFilter):

kpi/models/asset.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,7 @@ def has_active_hooks(self):
756756
:return: {boolean}
757757
"""
758758
return self.hooks.filter(active=True).exists()
759+
759760
@staticmethod
760761
def optimize_queryset_for_list(queryset):
761762
''' Used by serializers to improve performance when listing assets '''

0 commit comments

Comments
 (0)