merge Room and Outside into Area
This commit is contained in:
parent
67be5d29a8
commit
857788bcf6
5 changed files with 199 additions and 25 deletions
|
@ -212,8 +212,7 @@ editor = {
|
|||
},
|
||||
_geometry_colors: {
|
||||
'building': '#333333',
|
||||
'room': '#FFFFFF',
|
||||
'outside': '#EEFFEE',
|
||||
'area': '#FFFFFF',
|
||||
'lineobstacle': '#999999',
|
||||
'obstacle': '#999999',
|
||||
'door': '#66FF00',
|
||||
|
|
118
src/c3nav/mapdata/migrations/0040_auto_20170504_0953.py
Normal file
118
src/c3nav/mapdata/migrations/0040_auto_20170504_0953.py
Normal file
|
@ -0,0 +1,118 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.4 on 2017-05-04 09:53
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import c3nav.mapdata.fields
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mapdata', '0039_auto_20170501_1523'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Area',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.SlugField(unique=True, verbose_name='Name')),
|
||||
('geometry', c3nav.mapdata.fields.GeometryField()),
|
||||
('public', models.BooleanField(verbose_name='public')),
|
||||
('categories', models.CharField(choices=[('', 'normal'), ('stairs', 'stairs'), ('escalator', 'escalator'), ('elevator', 'elevator')], max_length=16, verbose_name='category')),
|
||||
('layer', models.CharField(choices=[('', 'normal'), ('upper', 'upper'), ('lowerr', 'lower')], max_length=16, verbose_name='layer')),
|
||||
],
|
||||
options={
|
||||
'default_related_name': 'areas',
|
||||
'verbose_name_plural': 'Areas',
|
||||
'verbose_name': 'Area',
|
||||
},
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='package',
|
||||
name='depends',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='arealocation',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='building',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='door',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='elevator',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='elevatorlevel',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='escalator',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='hole',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='level',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='levelconnector',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='lineobstacle',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='locationgroup',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='obstacle',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='outside',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='room',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='source',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='stair',
|
||||
name='package',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='stuffedarea',
|
||||
name='package',
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='arealocation',
|
||||
name='routing_inclusion',
|
||||
field=models.CharField(choices=[('default', 'Default, include it is unlocked'), ('allow_avoid', 'Included, but allow excluding'), ('allow_include', 'Avoided, but allow including'), ('needs_permission', 'Excluded, needs permission to include')], default='default', max_length=20, verbose_name='Routing Inclusion'),
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Package',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='area',
|
||||
name='level',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='areas', to='mapdata.Level', verbose_name='level'),
|
||||
),
|
||||
]
|
31
src/c3nav/mapdata/migrations/0041_room_outside_area.py
Normal file
31
src/c3nav/mapdata/migrations/0041_room_outside_area.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.4 on 2017-05-04 09:55
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def fill_area_model(apps, schema_editor):
|
||||
Area = apps.get_model('mapdata', 'Area')
|
||||
for model_name in ('Room', 'Outside'):
|
||||
Model_ = apps.get_model('mapdata', model_name)
|
||||
for obj in Model_.objects.all():
|
||||
Area.objects.create(
|
||||
name=obj.name,
|
||||
geometry=obj.geometry,
|
||||
level=obj.level,
|
||||
public=obj.public,
|
||||
categories='',
|
||||
layer='',
|
||||
)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mapdata', '0040_auto_20170504_0953'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(fill_area_model),
|
||||
]
|
29
src/c3nav/mapdata/migrations/0042_auto_20170504_1007.py
Normal file
29
src/c3nav/mapdata/migrations/0042_auto_20170504_1007.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.4 on 2017-05-04 10:07
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mapdata', '0041_room_outside_area'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='outside',
|
||||
name='level',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='room',
|
||||
name='level',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Outside',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Room',
|
||||
),
|
||||
]
|
|
@ -109,35 +109,32 @@ class Building(GeometryMapItemWithLevel):
|
|||
default_related_name = 'buildings'
|
||||
|
||||
|
||||
class Room(GeometryMapItemWithLevel):
|
||||
class Area(GeometryMapItemWithLevel):
|
||||
"""
|
||||
An accessible area like a room. Can overlap.
|
||||
An accessible area. Shouldn't overlap.
|
||||
"""
|
||||
geomtype = 'polygon'
|
||||
|
||||
CATEGORIES = (
|
||||
('', _('normal')),
|
||||
('stairs', _('stairs')),
|
||||
('escalator', _('escalator')),
|
||||
('elevator', _('elevator')),
|
||||
)
|
||||
LAYERS = (
|
||||
('', _('normal')),
|
||||
('upper', _('upper')),
|
||||
('lowerr', _('lower')),
|
||||
)
|
||||
|
||||
public = models.BooleanField(verbose_name=_('public'))
|
||||
categories = models.CharField(verbose_name=_('category'), choices=CATEGORIES, max_length=16)
|
||||
layer = models.CharField(verbose_name=_('layer'), choices=LAYERS, max_length=16)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Room')
|
||||
verbose_name_plural = _('Rooms')
|
||||
default_related_name = 'rooms'
|
||||
|
||||
def get_geojson_properties(self):
|
||||
result = super().get_geojson_properties()
|
||||
result['public'] = self.public
|
||||
return result
|
||||
|
||||
|
||||
class Outside(GeometryMapItemWithLevel):
|
||||
"""
|
||||
An accessible outdoor area like a court. Can overlap.
|
||||
"""
|
||||
geomtype = 'polygon'
|
||||
public = models.BooleanField(verbose_name=_('public'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Outside Area')
|
||||
verbose_name_plural = _('Outside Areas')
|
||||
default_related_name = 'outsides'
|
||||
verbose_name = _('Area')
|
||||
verbose_name_plural = _('Areas')
|
||||
default_related_name = 'areas'
|
||||
|
||||
def get_geojson_properties(self):
|
||||
result = super().get_geojson_properties()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue