columns can have an accessrestriction now

This commit is contained in:
Laura Klünder 2018-12-12 19:37:24 +01:00
parent f05b8f19c5
commit 8936fe5aea
5 changed files with 58 additions and 7 deletions

View file

@ -206,7 +206,7 @@ class AltitudeArea(LevelGeometryMixin, models.Model):
if space.outside:
space.geometry = space.geometry.difference(buildings_geom)
space_accessible = space.geometry.difference(
unary_union(tuple(c.geometry for c in space.columns.all()) +
unary_union(tuple(c.geometry for c in space.columns.all() if c.access_restriction_id is None) +
tuple(o.geometry for o in space.obstacles.all()) +
tuple(o.buffered_geometry for o in space.lineobstacles.all()) +
tuple(h.geometry for h in space.holes.all()))

View file

@ -13,6 +13,7 @@ from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping
from c3nav.mapdata.fields import GeometryField, I18nField, JSONField
from c3nav.mapdata.grid import grid
from c3nav.mapdata.models import Space
from c3nav.mapdata.models.access import AccessRestrictionMixin
from c3nav.mapdata.models.base import SerializableMixin
from c3nav.mapdata.models.geometry.base import GeometryMixin
from c3nav.mapdata.models.locations import SpecificLocation
@ -97,7 +98,7 @@ class SpaceGeometryMixin(GeometryMixin):
super().save(*args, **kwargs)
class Column(SpaceGeometryMixin, models.Model):
class Column(SpaceGeometryMixin, AccessRestrictionMixin, models.Model):
"""
An column in a space, also used to be able to create rooms within rooms.
"""