diff options
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r-- | ishtar_common/widgets.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 05605a258..2b7204dc3 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -23,6 +23,7 @@ import logging from django import forms from django.conf import settings +from django.contrib.gis import forms as gis_forms from django.core.exceptions import ValidationError from django.core.files import File from django.db.models import fields @@ -43,6 +44,7 @@ from json import JSONEncoder from django.utils.translation import ugettext_lazy as _ from ishtar_common import models +from ishtar_common.utils import reverse_coordinates logger = logging.getLogger(__name__) @@ -1334,3 +1336,12 @@ class DataTable(Select2Media, forms.RadioSelect): class RangeInput(NumberInput): input_type = "range" + + +class ReversedOSMWidget(gis_forms.OSMWidget): + def get_context(self, name, value, attrs): + if value: + if not isinstance(value, str): # should be geo + value = reverse_coordinates(value.ewkt) + context = super().get_context(name, value, attrs) + return context |