add support for intermediate levels
This commit is contained in:
parent
834d6f0064
commit
a1ed7534d9
8 changed files with 213 additions and 67 deletions
|
@ -54,6 +54,7 @@ class MapitemFormMixin(ModelForm):
|
|||
if 'levels' in self.fields:
|
||||
# set field_name
|
||||
self.fields['levels'].to_field_name = 'name'
|
||||
self.fields['levels'].queryset = self.fields['levels'].queryset.order_by('altitude')
|
||||
|
||||
if 'geometry' in self.fields:
|
||||
# hide geometry widget
|
||||
|
@ -91,7 +92,8 @@ class MapitemFormMixin(ModelForm):
|
|||
|
||||
|
||||
def create_editor_form(mapitemtype):
|
||||
possible_fields = ['name', 'package', 'level', 'levels', 'geometry', 'height', 'elevator', 'button']
|
||||
possible_fields = ['name', 'package', 'altitude', 'level', 'intermediate', 'levels', 'geometry',
|
||||
'height', 'elevator', 'button']
|
||||
existing_fields = [field for field in possible_fields if hasattr(mapitemtype, field)]
|
||||
|
||||
class EditorForm(MapitemFormMixin, ModelForm):
|
||||
|
|
|
@ -20,6 +20,12 @@
|
|||
{% if has_levels %}
|
||||
<td>{% for level in item.levels.all %}{% if not forloop.first %}, {% endif %}<a href="" data-level-link="{{ level.name }}">{{ level.name }}</a>{% endfor %}</td>
|
||||
{% endif %}
|
||||
{% if has_altitude %}
|
||||
<td>{{ item.altitude }} m</td>
|
||||
{% endif %}
|
||||
{% if has_intermediate %}
|
||||
<td>{% if item.intermediate %}intermediate{% endif %}</td>
|
||||
{% endif %}
|
||||
<td><a href="{% url 'editor.mapitems.edit' mapitem_type=mapitem_type name=item.name %}">Edit</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
@ -47,7 +47,7 @@ def list_mapitems(request, mapitem_type, level=None):
|
|||
elif not has_level and level is not None:
|
||||
return redirect('editor.mapitems', mapitem_type=mapitem_type)
|
||||
|
||||
queryset = mapitemtype.objects.all()
|
||||
queryset = mapitemtype.objects.all().order_by('name')
|
||||
if level is not None:
|
||||
if hasattr(mapitemtype, 'level'):
|
||||
queryset = queryset.filter(level__name=level)
|
||||
|
@ -60,6 +60,8 @@ def list_mapitems(request, mapitem_type, level=None):
|
|||
'has_level': level is not None,
|
||||
'has_elevator': hasattr(mapitemtype, 'elevator'),
|
||||
'has_levels': hasattr(mapitemtype, 'levels'),
|
||||
'has_altitude': hasattr(mapitemtype, 'altitude'),
|
||||
'has_intermediate': hasattr(mapitemtype, 'intermediate'),
|
||||
'level': level,
|
||||
'items': filter_queryset_by_package_access(request, queryset),
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue