From 5e2bbcd70c9b0213bfda31b90e4b1c35815880e9 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Thu, 20 Apr 2017 11:36:40 -0400 Subject: [PATCH] [1.11.x] Fixed #28039 -- Fixed crash in BaseGeometryWidget.subwidgets(). Backport of d2cb7a2bc11f111be04a29b5e4f92a183b18ba88 from master --- django/contrib/gis/forms/widgets.py | 5 +++-- docs/releases/1.11.1.txt | 2 ++ tests/gis_tests/test_geoforms.py | 22 +++++++++++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/django/contrib/gis/forms/widgets.py b/django/contrib/gis/forms/widgets.py index e9518f4e7e1..cc82f415635 100644 --- a/django/contrib/gis/forms/widgets.py +++ b/django/contrib/gis/forms/widgets.py @@ -43,6 +43,7 @@ class BaseGeometryWidget(Widget): return None def get_context(self, name, value, attrs): + context = super(BaseGeometryWidget, self).get_context(name, value, attrs) # If a string reaches here (via a validation error on another # field) then just reconstruct the Geometry. if value and isinstance(value, six.string_types): @@ -64,7 +65,7 @@ class BaseGeometryWidget(Widget): if attrs is None: attrs = {} - context = self.build_attrs(self.attrs, dict( + context.update(self.build_attrs(self.attrs, dict( name=name, module='geodjango_%s' % name.replace('-', '_'), # JS-safe serialized=self.serialize(value), @@ -72,7 +73,7 @@ class BaseGeometryWidget(Widget): STATIC_URL=settings.STATIC_URL, LANGUAGE_BIDI=translation.get_language_bidi(), **attrs - )) + ))) return context diff --git a/docs/releases/1.11.1.txt b/docs/releases/1.11.1.txt index 53c43443aa6..1f475ee7360 100644 --- a/docs/releases/1.11.1.txt +++ b/docs/releases/1.11.1.txt @@ -40,3 +40,5 @@ Bugfixes * Restored the output of the ``class`` attribute in the ``