rename Point to POI
This commit is contained in:
parent
fb65549974
commit
f2913dd8ac
8 changed files with 59 additions and 16 deletions
|
@ -9,8 +9,8 @@ from rest_framework.routers import SimpleRouter
|
||||||
|
|
||||||
from c3nav.editor.api import ChangeSetViewSet, EditorViewSet
|
from c3nav.editor.api import ChangeSetViewSet, EditorViewSet
|
||||||
from c3nav.mapdata.api import (AreaViewSet, BuildingViewSet, ColumnViewSet, DoorViewSet, HoleViewSet, LevelViewSet,
|
from c3nav.mapdata.api import (AreaViewSet, BuildingViewSet, ColumnViewSet, DoorViewSet, HoleViewSet, LevelViewSet,
|
||||||
LineObstacleViewSet, LocationGroupViewSet, LocationViewSet, ObstacleViewSet,
|
LineObstacleViewSet, LocationGroupViewSet, LocationViewSet, ObstacleViewSet, POIViewSet,
|
||||||
PointViewSet, SourceViewSet, SpaceViewSet, StairViewSet)
|
SourceViewSet, SpaceViewSet, StairViewSet)
|
||||||
|
|
||||||
router = SimpleRouter()
|
router = SimpleRouter()
|
||||||
router.register(r'levels', LevelViewSet)
|
router.register(r'levels', LevelViewSet)
|
||||||
|
@ -23,7 +23,7 @@ router.register(r'stairs', StairViewSet)
|
||||||
router.register(r'obstacles', ObstacleViewSet)
|
router.register(r'obstacles', ObstacleViewSet)
|
||||||
router.register(r'lineobstacles', LineObstacleViewSet)
|
router.register(r'lineobstacles', LineObstacleViewSet)
|
||||||
router.register(r'columns', ColumnViewSet)
|
router.register(r'columns', ColumnViewSet)
|
||||||
router.register(r'points', PointViewSet)
|
router.register(r'pois', POIViewSet)
|
||||||
router.register(r'sources', SourceViewSet)
|
router.register(r'sources', SourceViewSet)
|
||||||
|
|
||||||
router.register(r'locations', LocationViewSet)
|
router.register(r'locations', LocationViewSet)
|
||||||
|
|
|
@ -130,7 +130,7 @@ class EditorViewSet(ViewSet):
|
||||||
space.obstacles.all(),
|
space.obstacles.all(),
|
||||||
space.lineobstacles.all(),
|
space.lineobstacles.all(),
|
||||||
space.columns.all(),
|
space.columns.all(),
|
||||||
space.points.all().prefetch_related('groups'),
|
space.pois.all().prefetch_related('groups'),
|
||||||
other_spaces,
|
other_spaces,
|
||||||
)
|
)
|
||||||
return Response(sum([self._get_geojsons(obj) for obj in results], ()))
|
return Response(sum([self._get_geojsons(obj) for obj in results], ()))
|
||||||
|
@ -154,7 +154,7 @@ class EditorViewSet(ViewSet):
|
||||||
'obstacle': '#999999',
|
'obstacle': '#999999',
|
||||||
'lineobstacle': '#999999',
|
'lineobstacle': '#999999',
|
||||||
'column': '#888888',
|
'column': '#888888',
|
||||||
'point': '#4488cc',
|
'poi': '#4488cc',
|
||||||
'shadow': '#000000',
|
'shadow': '#000000',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -55,4 +55,4 @@ urlpatterns.extend(add_editor_urls('Stair', 'Space'))
|
||||||
urlpatterns.extend(add_editor_urls('Obstacle', 'Space'))
|
urlpatterns.extend(add_editor_urls('Obstacle', 'Space'))
|
||||||
urlpatterns.extend(add_editor_urls('LineObstacle', 'Space'))
|
urlpatterns.extend(add_editor_urls('LineObstacle', 'Space'))
|
||||||
urlpatterns.extend(add_editor_urls('Column', 'Space'))
|
urlpatterns.extend(add_editor_urls('Column', 'Space'))
|
||||||
urlpatterns.extend(add_editor_urls('Point', 'Space'))
|
urlpatterns.extend(add_editor_urls('POI', 'Space'))
|
||||||
|
|
|
@ -61,7 +61,7 @@ def space_detail(request, level, pk):
|
||||||
'can_edit': request.changeset.can_edit(request),
|
'can_edit': request.changeset.can_edit(request),
|
||||||
|
|
||||||
'child_models': [child_model(request.changeset.wrap_model(model_name), kwargs={'space': pk}, parent=space)
|
'child_models': [child_model(request.changeset.wrap_model(model_name), kwargs={'space': pk}, parent=space)
|
||||||
for model_name in ('Hole', 'Area', 'Stair', 'Obstacle', 'LineObstacle', 'Column', 'Point')],
|
for model_name in ('Hole', 'Area', 'Stair', 'Obstacle', 'LineObstacle', 'Column', 'POI')],
|
||||||
'geometry_url': '/api/editor/geometries/?space='+pk,
|
'geometry_url': '/api/editor/geometries/?space='+pk,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ from rest_framework.viewsets import GenericViewSet, ReadOnlyModelViewSet
|
||||||
|
|
||||||
from c3nav.mapdata.models import Building, Door, Hole, LocationGroup, Source, Space
|
from c3nav.mapdata.models import Building, Door, Hole, LocationGroup, Source, Space
|
||||||
from c3nav.mapdata.models.geometry.level import LevelGeometryMixin
|
from c3nav.mapdata.models.geometry.level import LevelGeometryMixin
|
||||||
from c3nav.mapdata.models.geometry.space import Area, Column, LineObstacle, Obstacle, Point, SpaceGeometryMixin, Stair
|
from c3nav.mapdata.models.geometry.space import POI, Area, Column, LineObstacle, Obstacle, SpaceGeometryMixin, Stair
|
||||||
from c3nav.mapdata.models.level import Level
|
from c3nav.mapdata.models.level import Level
|
||||||
from c3nav.mapdata.models.locations import Location, LocationRedirect, LocationSlug, SpecificLocation
|
from c3nav.mapdata.models.locations import Location, LocationRedirect, LocationSlug, SpecificLocation
|
||||||
from c3nav.mapdata.utils.models import get_submodels
|
from c3nav.mapdata.utils.models import get_submodels
|
||||||
|
@ -133,9 +133,9 @@ class ColumnViewSet(MapdataViewSet):
|
||||||
queryset = Column.objects.all()
|
queryset = Column.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class PointViewSet(MapdataViewSet):
|
class POIViewSet(MapdataViewSet):
|
||||||
""" Add ?geometry=1 to get geometries, add ?space=<id> to filter by space. """
|
""" Add ?geometry=1 to get geometries, add ?space=<id> to filter by space. """
|
||||||
queryset = Point.objects.all()
|
queryset = POI.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class LocationGroupViewSet(MapdataViewSet):
|
class LocationGroupViewSet(MapdataViewSet):
|
||||||
|
|
43
src/c3nav/mapdata/migrations/0017_point_to_poi.py
Normal file
43
src/c3nav/mapdata/migrations/0017_point_to_poi.py
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.2 on 2017-07-08 14:23
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mapdata', '0016_remove_source_image'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameModel(
|
||||||
|
old_name='Point',
|
||||||
|
new_name='POI',
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='poi',
|
||||||
|
options={'verbose_name': 'Point of Interest', 'verbose_name_plural': 'Points of Interest'},
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='poi',
|
||||||
|
name='groups',
|
||||||
|
field=models.ManyToManyField(blank=True, related_name='pois', to='mapdata.LocationGroup',
|
||||||
|
verbose_name='Location Groups'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='poi',
|
||||||
|
name='locationslug_ptr',
|
||||||
|
field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True,
|
||||||
|
primary_key=True, related_name='pois', serialize=False,
|
||||||
|
to='mapdata.LocationSlug'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='poi',
|
||||||
|
name='space',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pois',
|
||||||
|
to='mapdata.Space', verbose_name='space'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -150,16 +150,16 @@ class LineObstacle(SpaceGeometryMixin, models.Model):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
class Point(SpecificLocation, SpaceGeometryMixin, models.Model):
|
class POI(SpecificLocation, SpaceGeometryMixin, models.Model):
|
||||||
"""
|
"""
|
||||||
An point in a space.
|
An point of interest
|
||||||
"""
|
"""
|
||||||
geometry = GeometryField('point')
|
geometry = GeometryField('point')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Point')
|
verbose_name = _('Point of Interest')
|
||||||
verbose_name_plural = _('Points')
|
verbose_name_plural = _('Points of Interest')
|
||||||
default_related_name = 'points'
|
default_related_name = 'pois'
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def buffered_geometry(self):
|
def buffered_geometry(self):
|
||||||
|
|
|
@ -24,7 +24,7 @@ class LocationSlug(SerializableMixin, models.Model):
|
||||||
'Level': 'l',
|
'Level': 'l',
|
||||||
'Space': 's',
|
'Space': 's',
|
||||||
'Area': 'a',
|
'Area': 'a',
|
||||||
'Point': 'p',
|
'POI': 'p',
|
||||||
'LocationGroup': 'g'
|
'LocationGroup': 'g'
|
||||||
}
|
}
|
||||||
LOCATION_TYPE_BY_CODE = {code: model_name for model_name, code in LOCATION_TYPE_CODES.items()}
|
LOCATION_TYPE_BY_CODE = {code: model_name for model_name, code in LOCATION_TYPE_CODES.items()}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue