summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-27 12:02:46 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-27 12:02:46 +0200
commit07b7824f0114df453f191a94b2a30e0f9d524fc0 (patch)
tree6c7b308ea652d67bf4aa1e424af8396dfb16da9b
parente136d81c3b817705dc49e1845ec44121552165f6 (diff)
downloadChimère-07b7824f0114df453f191a94b2a30e0f9d524fc0.tar.bz2
Chimère-07b7824f0114df453f191a94b2a30e0f9d524fc0.zip
Admin: fix area selection field
-rw-r--r--chimere/forms.py6
-rw-r--r--chimere/widgets.py7
2 files changed, 10 insertions, 3 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index 91ba686..63aadf9 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -23,6 +23,7 @@ Forms
from django import forms
from django.conf import settings
+from django.contrib.gis import forms as gis_forms
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse
from django.db.models import Q
@@ -39,7 +40,7 @@ from chimere.models import Marker, Route, PropertyModel, Area,\
News, Category, RouteFile, MultimediaFile, MultimediaType, \
PictureFile, Importer, PropertyModelChoice, Page, IMPORTER_CHOICES, \
get_areas_for_user, SubCategoryUserLimit, Polygon
-from chimere.widgets import AreaField, PointField, TextareaWidget, \
+from chimere.widgets import AreaField, PointFormField, TextareaWidget, \
FullTextareaWidget, DatePickerWidget, ButtonSelectWidget, NominatimWidget,\
TextareaAdminWidget, ImportFiltrWidget, ImporterChoicesWidget, RE_XAPI
@@ -742,7 +743,8 @@ class AreaAdminForm(forms.ModelForm):
"""
Admin page to create an area
"""
- area = AreaField(label=_("Area"), fields=(PointField(), PointField()))
+ area = AreaField(label=_("Area"), fields=(PointFormField(),
+ PointFormField()))
welcome_message = forms.CharField(widget=TextareaAdminWidget,
required=False)
diff --git a/chimere/widgets.py b/chimere/widgets.py
index 66bbc5a..240171c 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -25,6 +25,7 @@ from json import JSONEncoder
from django import forms
from django.conf import settings
+from django.contrib.gis import forms as gis_forms
from django.contrib.gis.db import models
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
@@ -467,6 +468,10 @@ class HiddenPointChooserWidget(PointChooserWidget):
return super(HiddenPointChooserWidget, self).render(*args, **kwargs)
+class PointFormField(gis_forms.PointField):
+ pass
+
+
class PointField(models.PointField, forms.Field):
"""
Set the widget for the form field
@@ -628,7 +633,7 @@ class AreaWidget(forms.TextInput):
if not val:
return []
value.append(val)
- values.append(value)
+ values.append('POINT({} {})'.format(value[0], value[1]))
return values
def decompress(self, value):