show graph nodes in level geometries

This commit is contained in:
Laura Klünder 2017-07-26 15:06:14 +02:00
parent bd1b747a91
commit e52552166f

View file

@ -47,6 +47,8 @@ class EditorViewSet(ViewSet):
results.append(door) results.append(door)
results.extend(spaces.values()) results.extend(spaces.values())
for space in spaces.values():
results.extend(space.graphnodes.all())
return results return results
@staticmethod @staticmethod
@ -83,10 +85,12 @@ class EditorViewSet(ViewSet):
levels, levels_on_top, levels_under = self._get_levels_pk(request, level) levels, levels_on_top, levels_under = self._get_levels_pk(request, level)
# don't prefetch groups for now as changesets do not yet work with m2m-prefetches # don't prefetch groups for now as changesets do not yet work with m2m-prefetches
levels = Level.objects.filter(pk__in=levels).filter(Level.q_for_request(request)) levels = Level.objects.filter(pk__in=levels).filter(Level.q_for_request(request))
graphnodes = request.changeset.wrap_model('GraphNode').objects.filter(space_transfer=True)
levels = levels.prefetch_related( levels = levels.prefetch_related(
Prefetch('spaces', request.changeset.wrap_model('Space').objects.filter(Space.q_for_request(request))), Prefetch('spaces', request.changeset.wrap_model('Space').objects.filter(Space.q_for_request(request))),
Prefetch('doors', request.changeset.wrap_model('Door').objects.filter(Door.q_for_request(request))), Prefetch('doors', request.changeset.wrap_model('Door').objects.filter(Door.q_for_request(request))),
'buildings', 'spaces__holes', 'spaces__groups', 'spaces__columns' 'buildings', 'spaces__holes', 'spaces__groups', 'spaces__columns',
Prefetch('spaces__graphnodes', graphnodes)
) )
levels = {s.pk: s for s in levels} levels = {s.pk: s for s in levels}