diff --git a/umap/templates/umap/user_groups.html b/umap/templates/umap/user_groups.html
index 6a0e5668..3e14ccb3 100644
--- a/umap/templates/umap/user_groups.html
+++ b/umap/templates/umap/user_groups.html
@@ -9,7 +9,7 @@
diff --git a/umap/tests/test_views.py b/umap/tests/test_views.py
index 4e307ddb..1a0564a4 100644
--- a/umap/tests/test_views.py
+++ b/umap/tests/test_views.py
@@ -288,6 +288,20 @@ def test_user_dashboard_display_user_maps(client, map):
assert "Owner only" in body
+@pytest.mark.django_db
+def test_user_dashboard_display_user_group_maps(client, map, group, user):
+ user.groups.add(group)
+ user.save()
+ map.group = group
+ map.save()
+ client.login(username=user.username, password="123123")
+ response = client.get(reverse("user_dashboard"))
+ assert response.status_code == 200
+ body = response.content.decode()
+ assert map.name in body
+ assert map.get_absolute_url() in body
+
+
@pytest.mark.django_db
def test_user_dashboard_display_user_maps_distinct(client, map):
# cf https://github.com/umap-project/umap/issues/1325
diff --git a/umap/views.py b/umap/views.py
index 0d305b90..12282317 100644
--- a/umap/views.py
+++ b/umap/views.py
@@ -370,7 +370,12 @@ class UserDashboard(PaginatorMixin, DetailView, SearchMixin):
def get_maps(self):
qs = self.get_search_queryset() or Map.objects.all()
- qs = qs.filter(owner=self.object).union(qs.filter(editors=self.object))
+ groups = self.object.groups.all()
+ qs = (
+ qs.filter(owner=self.object)
+ .union(qs.filter(editors=self.object))
+ .union(qs.filter(group__in=groups))
+ )
return qs.order_by("-modified_at")
def get_context_data(self, **kwargs):