From 6a8b7e33ae560ede12ad0a524c0ca3e08aa19c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sun, 11 Jun 2017 13:18:25 +0200 Subject: [PATCH] =?UTF-8?q?Space.outside=20not=20means=20=E2=80=9Eonly=20o?= =?UTF-8?q?utside=20of=20building=E2=80=9C,=20so=20False=20means=20nothing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/c3nav/editor/api.py | 3 --- .../migrations/0011_outside_only_outside.py | 27 +++++++++++++++++++ src/c3nav/mapdata/models/geometry/section.py | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 src/c3nav/mapdata/migrations/0011_outside_only_outside.py diff --git a/src/c3nav/editor/api.py b/src/c3nav/editor/api.py index 90472968..72bc3384 100644 --- a/src/c3nav/editor/api.py +++ b/src/c3nav/editor/api.py @@ -24,8 +24,6 @@ class EditorViewSet(ViewSet): for space in spaces.values(): if space.outside: space.geometry = space.geometry.difference(buildings_geom) - else: - space.geometry = space.geometry.intersection(buildings_geom) columns_geom = cascaded_union([column.geometry for column in space.columns.all()]) space.geometry = space.geometry.difference(columns_geom) space_holes_geom = cascaded_union([hole.geometry for hole in space.holes.all()]) @@ -103,7 +101,6 @@ class EditorViewSet(ViewSet): other_space.geometry = other_space.geometry.difference(buildings_geom) other_space.color = 'rgba(255, 255, 255, 0.7)' else: - other_space.geometry = other_space.geometry.intersection(buildings_geom) other_space.color = 'rgba(255, 255, 255, 0.3)' results = chain( diff --git a/src/c3nav/mapdata/migrations/0011_outside_only_outside.py b/src/c3nav/mapdata/migrations/0011_outside_only_outside.py new file mode 100644 index 00000000..72270f04 --- /dev/null +++ b/src/c3nav/mapdata/migrations/0011_outside_only_outside.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.2 on 2017-06-11 11:17 +from __future__ import unicode_literals + +from django.db import migrations, models + + +def secondary_level_spaces_inside(apps, schema_editor): + Space = apps.get_model('mapdata', 'Space') + Space.objects.filter(section__on_top_of__isnull=False).update(outside=False) + + + +class Migration(migrations.Migration): + + dependencies = [ + ('mapdata', '0010_on_top_of'), + ] + + operations = [ + migrations.AlterField( + model_name='space', + name='outside', + field=models.BooleanField(default=False, verbose_name='only outside of building'), + ), + migrations.RunPython(secondary_level_spaces_inside), + ] diff --git a/src/c3nav/mapdata/models/geometry/section.py b/src/c3nav/mapdata/models/geometry/section.py index 56817d91..be6d61d1 100644 --- a/src/c3nav/mapdata/models/geometry/section.py +++ b/src/c3nav/mapdata/models/geometry/section.py @@ -54,7 +54,7 @@ class Space(SpecificLocation, SectionGeometryMixin, models.Model): ) geometry = GeometryField('polygon') category = models.CharField(verbose_name=_('category'), choices=CATEGORIES, default='normal', max_length=16) - outside = models.BooleanField(default=False, verbose_name=_('is outside of building')) + outside = models.BooleanField(default=False, verbose_name=_('only outside of building')) class Meta: verbose_name = _('Space')