From 27f3e08bc1c8da6a99300bb683aa1d18dc23eed2 Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Fri, 22 Sep 2023 19:00:42 +0200 Subject: [PATCH] Fix anonymous maps displayed by mistake in user dashboard --- umap/tests/test_views.py | 4 +++- umap/views.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/umap/tests/test_views.py b/umap/tests/test_views.py index e53d2230..ed11f3b3 100644 --- a/umap/tests/test_views.py +++ b/umap/tests/test_views.py @@ -11,7 +11,7 @@ from django.test import RequestFactory from umap import VERSION from umap.views import validate_url -from .base import UserFactory +from .base import UserFactory, MapFactory User = get_user_model() @@ -288,6 +288,7 @@ def test_user_dashboard_display_user_maps(client, map): @pytest.mark.django_db def test_user_dashboard_display_user_maps_distinct(client, map): # cf https://github.com/umap-project/umap/issues/1325 + anonymap = MapFactory(name="Map witout owner should not appear") user1 = UserFactory(username='user1') user2 = UserFactory(username='user2') map.editors.add(user1) @@ -298,6 +299,7 @@ def test_user_dashboard_display_user_maps_distinct(client, map): assert response.status_code == 200 body = response.content.decode() assert body.count(map.name) == 1 + assert body.count(anonymap.name) == 0 @pytest.mark.django_db diff --git a/umap/views.py b/umap/views.py index da460047..7e7d11e4 100644 --- a/umap/views.py +++ b/umap/views.py @@ -277,7 +277,7 @@ class UserDashboard(PaginatorMixin, DetailView, SearchMixin): def get_maps(self): qs = self.get_search_queryset() or Map.objects.all() - qs = qs.union(qs.filter(owner=self.object), qs.filter(editors=self.object)) + qs = qs.filter(owner=self.object).union(qs.filter(editors=self.object)) return qs.order_by("-modified_at") def get_context_data(self, **kwargs):