From 229666289d3aafbb4668820a7ecf243dd4a7fc72 Mon Sep 17 00:00:00 2001 From: Tim Graham <timograham@gmail.com> Date: Wed, 27 Jan 2016 09:25:49 -0500 Subject: [PATCH] [1.8.x] Fixed #20415 -- Ensured srid isn't localized in OpenLayers JavaScript. Backport of 19d1cb14519186902d7e27813bf2643fe3f7cfa3 from master --- django/contrib/gis/templates/gis/openlayers.html | 5 +++-- docs/releases/1.8.9.txt | 3 +++ tests/gis_tests/test_geoforms.py | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/django/contrib/gis/templates/gis/openlayers.html b/django/contrib/gis/templates/gis/openlayers.html index cbefb3a9f2..0356a9dd77 100644 --- a/django/contrib/gis/templates/gis/openlayers.html +++ b/django/contrib/gis/templates/gis/openlayers.html @@ -1,4 +1,5 @@ -<style type="text/css">{% block map_css %}{% load i18n static %}{% get_current_language_bidi as LANGUAGE_BIDI %} +{% load i18n l10n static %} +<style type="text/css">{% block map_css %}{% get_current_language_bidi as LANGUAGE_BIDI %} #{{ id }}_map { width: {{ map_width }}px; height: {{ map_height }}px; } #{{ id }}_map .aligned label { float: inherit; } #{{ id }}_div_map { position: relative; vertical-align: top; float: {{ LANGUAGE_BIDI|yesno:"right,left" }}; } @@ -25,7 +26,7 @@ id: '{{ id }}', map_id: '{{ id }}_map', map_options: map_options, - map_srid: {{ map_srid }}, + map_srid: {{ map_srid|unlocalize }}, name: '{{ name }}' }; {% endblock %} diff --git a/docs/releases/1.8.9.txt b/docs/releases/1.8.9.txt index 0009de0bdb..d1fabefbd3 100644 --- a/docs/releases/1.8.9.txt +++ b/docs/releases/1.8.9.txt @@ -34,3 +34,6 @@ Bugfixes * Fixed a regression in Django 1.8.5 that broke copying a ``SimpleLazyObject`` with ``copy.copy()`` (:ticket:`26122`). + +* Fixed the ``contrib.gis`` map widgets when using + ``USE_THOUSAND_SEPARATOR=True`` (:ticket:`20415`). diff --git a/tests/gis_tests/test_geoforms.py b/tests/gis_tests/test_geoforms.py index bcbb5f0804..d7fb631c34 100644 --- a/tests/gis_tests/test_geoforms.py +++ b/tests/gis_tests/test_geoforms.py @@ -2,7 +2,7 @@ from unittest import skipUnless from django.contrib.gis.gdal import HAS_GDAL from django.forms import ValidationError -from django.test import SimpleTestCase, skipUnlessDBFeature +from django.test import SimpleTestCase, override_settings, skipUnlessDBFeature from django.utils import six from django.utils.html import escape @@ -154,6 +154,7 @@ class SpecializedFieldTest(SimpleTestCase): self.assertTrue(form_instance.is_valid()) rendered = form_instance.as_p() self.assertIn('new MapWidget(options);', rendered) + self.assertIn('map_srid: 4326,', rendered) self.assertIn('gis/js/OLMapWidget.js', str(form_instance.media)) def assertTextarea(self, geom, rendered): @@ -163,6 +164,8 @@ class SpecializedFieldTest(SimpleTestCase): self.assertIn('required', rendered) self.assertIn(geom.wkt, rendered) + # map_srid in operlayers.html template must not be localized. + @override_settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=True) def test_pointfield(self): class PointForm(forms.Form): p = forms.PointField()