From 6b836e5258b4cbf9944557e7884f00d8a426311b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Fri, 9 Dec 2016 14:49:20 +0100 Subject: [PATCH] swap obstacle/lineobstacle order --- src/c3nav/mapdata/models/geometry.py | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/c3nav/mapdata/models/geometry.py b/src/c3nav/mapdata/models/geometry.py index 671175e3..1cfce748 100644 --- a/src/c3nav/mapdata/models/geometry.py +++ b/src/c3nav/mapdata/models/geometry.py @@ -178,6 +178,42 @@ class Stair(DirectedLineGeometryMapItemWithLevel): default_related_name = 'stairs' +class Obstacle(GeometryMapItemWithLevel): + """ + An obstacle + """ + crop_to_level = models.ForeignKey('mapdata.Level', on_delete=models.CASCADE, null=True, blank=True, + verbose_name=_('crop to other level'), related_name='crops_obstacles') + + geomtype = 'polygon' + + class Meta: + verbose_name = _('Obstacle') + verbose_name_plural = _('Obstacles') + default_related_name = 'obstacles' + + @classmethod + def fromfile(cls, data, file_path): + kwargs = super().fromfile(data, file_path) + + if 'crop_to_level' in data: + kwargs['crop_to_level'] = data['crop_to_level'] + + return kwargs + + def get_geojson_properties(self): + result = super().get_geojson_properties() + if self.crop_to_level is not None: + result['crop_to_level'] = self.crop_to_level.name + return result + + def tofile(self): + result = super().tofile() + if self.crop_to_level is not None: + result['crop_to_level'] = self.crop_to_level.name + return result + + class LineObstacle(GeometryMapItemWithLevel): """ An obstacle that is a line with a specific width @@ -220,42 +256,6 @@ class LineObstacle(GeometryMapItemWithLevel): return result -class Obstacle(GeometryMapItemWithLevel): - """ - An obstacle - """ - crop_to_level = models.ForeignKey('mapdata.Level', on_delete=models.CASCADE, null=True, blank=True, - verbose_name=_('crop to other level'), related_name='crops_obstacles') - - geomtype = 'polygon' - - class Meta: - verbose_name = _('Obstacle') - verbose_name_plural = _('Obstacles') - default_related_name = 'obstacles' - - @classmethod - def fromfile(cls, data, file_path): - kwargs = super().fromfile(data, file_path) - - if 'crop_to_level' in data: - kwargs['crop_to_level'] = data['crop_to_level'] - - return kwargs - - def get_geojson_properties(self): - result = super().get_geojson_properties() - if self.crop_to_level is not None: - result['crop_to_level'] = self.crop_to_level.name - return result - - def tofile(self): - result = super().tofile() - if self.crop_to_level is not None: - result['crop_to_level'] = self.crop_to_level.name - return result - - class LevelConnector(GeometryMapItem): """ A connector connecting levels