Space.outside not means „only outside of building“, so False means nothing
This commit is contained in:
parent
aa1e419f56
commit
6a8b7e33ae
3 changed files with 28 additions and 4 deletions
|
@ -24,8 +24,6 @@ class EditorViewSet(ViewSet):
|
||||||
for space in spaces.values():
|
for space in spaces.values():
|
||||||
if space.outside:
|
if space.outside:
|
||||||
space.geometry = space.geometry.difference(buildings_geom)
|
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()])
|
columns_geom = cascaded_union([column.geometry for column in space.columns.all()])
|
||||||
space.geometry = space.geometry.difference(columns_geom)
|
space.geometry = space.geometry.difference(columns_geom)
|
||||||
space_holes_geom = cascaded_union([hole.geometry for hole in space.holes.all()])
|
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.geometry = other_space.geometry.difference(buildings_geom)
|
||||||
other_space.color = 'rgba(255, 255, 255, 0.7)'
|
other_space.color = 'rgba(255, 255, 255, 0.7)'
|
||||||
else:
|
else:
|
||||||
other_space.geometry = other_space.geometry.intersection(buildings_geom)
|
|
||||||
other_space.color = 'rgba(255, 255, 255, 0.3)'
|
other_space.color = 'rgba(255, 255, 255, 0.3)'
|
||||||
|
|
||||||
results = chain(
|
results = chain(
|
||||||
|
|
27
src/c3nav/mapdata/migrations/0011_outside_only_outside.py
Normal file
27
src/c3nav/mapdata/migrations/0011_outside_only_outside.py
Normal file
|
@ -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),
|
||||||
|
]
|
|
@ -54,7 +54,7 @@ class Space(SpecificLocation, SectionGeometryMixin, models.Model):
|
||||||
)
|
)
|
||||||
geometry = GeometryField('polygon')
|
geometry = GeometryField('polygon')
|
||||||
category = models.CharField(verbose_name=_('category'), choices=CATEGORIES, default='normal', max_length=16)
|
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:
|
class Meta:
|
||||||
verbose_name = _('Space')
|
verbose_name = _('Space')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue