remove name field from most mapdata models

This commit is contained in:
Laura Klünder 2017-05-05 16:21:48 +02:00
parent baecf08aea
commit 89ab60b395
10 changed files with 96 additions and 39 deletions

View file

@ -4,11 +4,12 @@ from django.http.response import Http404
from django.shortcuts import get_object_or_404, redirect, render
from c3nav.access.apply import can_access, filter_queryset_by_access
from c3nav.mapdata.models import AreaLocation
from c3nav.mapdata.models import AreaLocation, Level
from c3nav.mapdata.models.base import FEATURE_TYPES
def list_mapitemtypes(request, level):
level = get_object_or_404()
def get_item_count(mapitemtype):
if hasattr(mapitemtype, 'level'):
return filter_queryset_by_access(request, mapitemtype.objects.filter(level__name=level)).count()
@ -43,11 +44,13 @@ def list_mapitems(request, mapitem_type, level=None):
return redirect('editor.mapitems', mapitem_type=mapitem_type)
queryset = mapitemtype.objects.all().order_by('name')
if level is not None:
level = get_object_or_404(Level, level)
if hasattr(mapitemtype, 'level'):
queryset = queryset.filter(level__name=level)
queryset = queryset.filter(level=level)
elif hasattr(mapitemtype, 'levels'):
queryset = queryset.filter(levels__name=level)
queryset = queryset.filter(levels=level)
queryset = filter_queryset_by_access(request, queryset)
@ -62,7 +65,7 @@ def list_mapitems(request, mapitem_type, level=None):
'has_levels': hasattr(mapitemtype, 'levels'),
'has_altitude': hasattr(mapitemtype, 'altitude'),
'has_intermediate': hasattr(mapitemtype, 'intermediate'),
'level': level,
'level': level.id,
'items': queryset,
})