From a2d60123693d452221e2487bee6e9411e1e82079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Mon, 11 Dec 2023 22:11:08 +0100 Subject: [PATCH] improve groundaltitude ux in editor --- src/c3nav/editor/forms.py | 2 +- src/c3nav/editor/views/edit.py | 3 +++ src/c3nav/mapdata/models/altitudes.py | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/c3nav/editor/forms.py b/src/c3nav/editor/forms.py index 0e9e8e22..9d18b46a 100644 --- a/src/c3nav/editor/forms.py +++ b/src/c3nav/editor/forms.py @@ -138,7 +138,7 @@ class EditorFormBase(I18nModelFormMixin, ModelForm): self.fields['category'].label_from_instance = attrgetter('title') if 'groundaltitude' in self.fields: - self.fields['groundaltitude'].label_from_instance = attrgetter('title') + self.fields['groundaltitude'].label_from_instance = attrgetter('choice_label') if 'label_settings' in self.fields: self.fields['label_settings'].label_from_instance = attrgetter('title') diff --git a/src/c3nav/editor/views/edit.py b/src/c3nav/editor/views/edit.py index ddc4fee8..887626e9 100644 --- a/src/c3nav/editor/views/edit.py +++ b/src/c3nav/editor/views/edit.py @@ -476,6 +476,7 @@ def list_objects(request, model=None, level=None, space=None, explicit_edit=Fals with suppress(FieldDoesNotExist): model._meta.get_field('altitude') add_cols.append('altitude') + queryset = queryset.order_by('altitude') ctx.update({ 'levels': Level.objects.filter(Level.q_for_request(request), on_top_of__isnull=True), @@ -500,10 +501,12 @@ def list_objects(request, model=None, level=None, space=None, explicit_edit=Fals with suppress(FieldDoesNotExist): model._meta.get_field('altitude') add_cols.append('altitude') + queryset = queryset.order_by('altitude') with suppress(FieldDoesNotExist): model._meta.get_field('groundaltitude') queryset = queryset.select_related('groundaltitude') + queryset = queryset.order_by('groundaltitude__altitude') ctx.update({ 'back_url': reverse('editor.index'), diff --git a/src/c3nav/mapdata/models/altitudes.py b/src/c3nav/mapdata/models/altitudes.py index 00d3947f..2033609a 100644 --- a/src/c3nav/mapdata/models/altitudes.py +++ b/src/c3nav/mapdata/models/altitudes.py @@ -16,4 +16,8 @@ class GroundAltitude(models.Model): @property def title(self): + return self.name + + @property + def choice_label(self): return f'{self.name} ({self.altitude}m)'