From d2cb7a2bc11f111be04a29b5e4f92a183b18ba88 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Thu, 20 Apr 2017 11:36:40 -0400 Subject: [PATCH] Fixed #28039 -- Fixed crash in BaseGeometryWidget.subwidgets(). --- 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 53853b84f3..82d9f26b1c 100644 --- a/django/contrib/gis/forms/widgets.py +++ b/django/contrib/gis/forms/widgets.py @@ -41,6 +41,7 @@ class BaseGeometryWidget(Widget): return None def get_context(self, name, value, attrs): + context = super().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, str): @@ -62,7 +63,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), @@ -70,7 +71,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 53c43443aa..1f475ee736 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 ``