From fb130cb40ea9b93bae741a4f359f19819597a112 Mon Sep 17 00:00:00 2001 From: Stephan Jaekel Date: Sat, 12 Jan 2013 12:00:31 +0100 Subject: [PATCH] [1.5.x] Fixed #18026 -- Don't return an anonymous dict if extra_data in storage is empty. Backport of 97121cb9 from master. --- django/contrib/formtools/tests/wizard/storage.py | 10 ++++++++++ django/contrib/formtools/wizard/storage/base.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/django/contrib/formtools/tests/wizard/storage.py b/django/contrib/formtools/tests/wizard/storage.py index fe1d96381f..17968dfcda 100644 --- a/django/contrib/formtools/tests/wizard/storage.py +++ b/django/contrib/formtools/tests/wizard/storage.py @@ -75,3 +75,13 @@ class TestStorage(object): storage.extra_data = extra_context storage2 = self.get_storage()('wizard2', request, None) self.assertEqual(storage2.extra_data, {}) + + def test_extra_context_key_persistence(self): + request = get_request() + storage = self.get_storage()('wizard1', request, None) + + self.assertFalse('test' in storage.extra_data) + + storage.extra_data['test'] = True + + self.assertTrue('test' in storage.extra_data) diff --git a/django/contrib/formtools/wizard/storage/base.py b/django/contrib/formtools/wizard/storage/base.py index 2e59679d09..6c155e0ff0 100644 --- a/django/contrib/formtools/wizard/storage/base.py +++ b/django/contrib/formtools/wizard/storage/base.py @@ -37,7 +37,7 @@ class BaseStorage(object): current_step = lazy_property(_get_current_step, _set_current_step) def _get_extra_data(self): - return self.data[self.extra_data_key] or {} + return self.data[self.extra_data_key] def _set_extra_data(self, extra_data): self.data[self.extra_data_key] = extra_data