new map edit control panel
This commit is contained in:
parent
d0492a7d88
commit
52d7b5b121
8 changed files with 171 additions and 186 deletions
|
@ -34,6 +34,14 @@ class SourceSerializer(serializers.ModelSerializer):
|
|||
fields = ('name', 'package', 'bounds')
|
||||
|
||||
|
||||
class FeatureTypeSerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
title = serializers.CharField()
|
||||
title_plural = serializers.CharField()
|
||||
geomtype = serializers.CharField()
|
||||
color = serializers.CharField()
|
||||
|
||||
|
||||
class HosterSerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
base_url = serializers.CharField()
|
||||
|
|
|
@ -8,6 +8,7 @@ router = DefaultRouter()
|
|||
router.register(r'levels', mapdata_views.LevelViewSet)
|
||||
router.register(r'packages', mapdata_views.PackageViewSet)
|
||||
router.register(r'sources', mapdata_views.SourceViewSet)
|
||||
router.register(r'featuretypes', mapdata_views.FeatureTypeViewSet, base_name='featuretype')
|
||||
router.register(r'hosters', editor_views.HosterViewSet, base_name='hoster')
|
||||
|
||||
|
||||
|
|
|
@ -3,13 +3,14 @@ import os
|
|||
|
||||
from django.conf import settings
|
||||
from django.core.files import File
|
||||
from django.http import HttpResponse
|
||||
from django.http import Http404, HttpResponse
|
||||
from rest_framework.decorators import detail_route
|
||||
from rest_framework.viewsets import ReadOnlyModelViewSet
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.viewsets import ReadOnlyModelViewSet, ViewSet
|
||||
|
||||
from ...mapdata.models import Level, Package, Source
|
||||
from ...mapdata.models import FEATURE_TYPES, Level, Package, Source
|
||||
from ..permissions import filter_source_queryset
|
||||
from ..serializers import LevelSerializer, PackageSerializer, SourceSerializer
|
||||
from ..serializers import FeatureTypeSerializer, LevelSerializer, PackageSerializer, SourceSerializer
|
||||
from .cache import AccessCachedViewSetMixin, CachedViewSetMixin
|
||||
|
||||
|
||||
|
@ -63,3 +64,18 @@ class SourceViewSet(AccessCachedViewSetMixin, ReadOnlyModelViewSet):
|
|||
for chunk in File(open(image_path, 'rb')).chunks():
|
||||
response.write(chunk)
|
||||
return response
|
||||
|
||||
|
||||
class FeatureTypeViewSet(ViewSet):
|
||||
"""
|
||||
Get Feature types
|
||||
"""
|
||||
def list(self, request, version=None):
|
||||
serializer = FeatureTypeSerializer(FEATURE_TYPES.values(), many=True, context={'request': request})
|
||||
return Response(serializer.data)
|
||||
|
||||
def retrieve(self, request, pk=None, version=None):
|
||||
if pk not in FEATURE_TYPES:
|
||||
raise Http404
|
||||
serializer = FeatureTypeSerializer(FEATURE_TYPES[pk], context={'request': request})
|
||||
return Response(serializer.data)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue