From 0f2d63f9fffbf6b90d48201e5a66b6448d49bb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 27 Jun 2017 16:26:50 +0200 Subject: [PATCH] space groups in editor space view --- src/c3nav/editor/api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/c3nav/editor/api.py b/src/c3nav/editor/api.py index 9862462e..de026c43 100644 --- a/src/c3nav/editor/api.py +++ b/src/c3nav/editor/api.py @@ -93,16 +93,16 @@ class EditorViewSet(ViewSet): return Response([obj.to_geojson(instance=obj) for obj in results]) elif space is not None: - space = get_object_or_404(Space.objects.select_related('level', 'level__on_top_of'), pk=space) + qs = Space.objects.select_related('level', 'level__on_top_of').prefetch_related('groups') + space = get_object_or_404(qs, pk=space) level = space.level doors = [door for door in level.doors.all() if door.geometry.intersects(space.geometry)] doors_space_geom = cascaded_union([door.geometry for door in doors]+[space.geometry]) levels, levels_on_top, levels_under = self._get_levels_pk(request, level.primary_level) - other_spaces = Space.objects.filter(level__pk__in=levels).prefetch_related('groups') - other_spaces = [s for s in other_spaces - if s.geometry.intersects(doors_space_geom) and s.pk != space.pk] + other_spaces = Space.objects.filter(level__pk__in=levels) + other_spaces = [s for s in other_spaces if s.geometry.intersects(doors_space_geom) and s.pk != space.pk] space.bounds = True