add models for space-based route description
This commit is contained in:
parent
c1fe2e02e0
commit
0bbcc400ca
2 changed files with 79 additions and 1 deletions
|
@ -0,0 +1,46 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.7 on 2017-12-18 14:30
|
||||||
|
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', '0060_access_permission_id'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CrossDecription',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('description', c3nav.mapdata.fields.I18nField(verbose_name='description')),
|
||||||
|
('origin_space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='leave_cross_descriptions', to='mapdata.Space', verbose_name='origin space')),
|
||||||
|
('space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cross_descriptions', to='mapdata.Space', verbose_name='space')),
|
||||||
|
('target_space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cross_enter_descriptions', to='mapdata.Space', verbose_name='target space')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Cross description',
|
||||||
|
'verbose_name_plural': 'Cross descriptions',
|
||||||
|
'default_related_name': 'cross_descriptions',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='LeaveDecription',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('description', c3nav.mapdata.fields.I18nField(verbose_name='description')),
|
||||||
|
('space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='leave_descriptions', to='mapdata.Space', verbose_name='space')),
|
||||||
|
('target_space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enter_descriptions', to='mapdata.Space', verbose_name='target space')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Leave description',
|
||||||
|
'verbose_name_plural': 'Leave descriptions',
|
||||||
|
'default_related_name': 'leave_descriptions',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
|
@ -9,7 +9,7 @@ from django.utils.text import format_lazy
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping
|
from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping
|
||||||
|
|
||||||
from c3nav.mapdata.fields import GeometryField, JSONField, I18nField
|
from c3nav.mapdata.fields import GeometryField, I18nField, JSONField
|
||||||
from c3nav.mapdata.models.geometry.base import GeometryMixin
|
from c3nav.mapdata.models.geometry.base import GeometryMixin
|
||||||
from c3nav.mapdata.models.locations import SpecificLocation
|
from c3nav.mapdata.models.locations import SpecificLocation
|
||||||
from c3nav.mapdata.utils.cache.changes import changed_geometries
|
from c3nav.mapdata.utils.cache.changes import changed_geometries
|
||||||
|
@ -243,6 +243,38 @@ class AltitudeMarker(SpaceGeometryMixin, models.Model):
|
||||||
return '%s (%sm)' % (super().title, self.altitude)
|
return '%s (%sm)' % (super().title, self.altitude)
|
||||||
|
|
||||||
|
|
||||||
|
class LeaveDecription(SpaceGeometryMixin, models.Model):
|
||||||
|
"""
|
||||||
|
A description for leaving a space to another space
|
||||||
|
"""
|
||||||
|
space = models.ForeignKey('mapdata.Space', on_delete=models.CASCADE, verbose_name=_('space'))
|
||||||
|
target_space = models.ForeignKey('mapdata.Space', on_delete=models.CASCADE, verbose_name=_('target space'),
|
||||||
|
related_name='enter_descriptions')
|
||||||
|
description = I18nField(_('description'))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _('Leave description')
|
||||||
|
verbose_name_plural = _('Leave descriptions')
|
||||||
|
default_related_name = 'leave_descriptions'
|
||||||
|
|
||||||
|
|
||||||
|
class CrossDecription(SpaceGeometryMixin, models.Model):
|
||||||
|
"""
|
||||||
|
A description for crossing a space from one space to another space
|
||||||
|
"""
|
||||||
|
space = models.ForeignKey('mapdata.Space', on_delete=models.CASCADE, verbose_name=_('space'))
|
||||||
|
origin_space = models.ForeignKey('mapdata.Space', on_delete=models.CASCADE, verbose_name=_('origin space'),
|
||||||
|
related_name='leave_cross_descriptions')
|
||||||
|
target_space = models.ForeignKey('mapdata.Space', on_delete=models.CASCADE, verbose_name=_('target space'),
|
||||||
|
related_name='cross_enter_descriptions')
|
||||||
|
description = I18nField(_('description'))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _('Cross description')
|
||||||
|
verbose_name_plural = _('Cross descriptions')
|
||||||
|
default_related_name = 'cross_descriptions'
|
||||||
|
|
||||||
|
|
||||||
class WifiMeasurement(SpaceGeometryMixin, models.Model):
|
class WifiMeasurement(SpaceGeometryMixin, models.Model):
|
||||||
"""
|
"""
|
||||||
A Wi-Fi measurement
|
A Wi-Fi measurement
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue