Added request parameter to FormPreview.parse_params - fixes #22
This commit is contained in:
parent
653fe2630d
commit
76551ddfa9
|
@ -6,6 +6,9 @@ This page details the changes in the various ``django-formtools`` releases.
|
|||
1.0 (2015-03-25)
|
||||
----------------
|
||||
|
||||
- Added the ``request`` parameter to :meth:`FormPreview.parse_params()
|
||||
<formtools.preview.FormPreview.parse_params>`.
|
||||
|
||||
- Added the ``request`` parameter to :meth:`WizardView.get_prefix()
|
||||
<formtools.wizard.views.WizardView.get_prefix>`.
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ class FormPreview(object):
|
|||
'1': 'preview',
|
||||
'2': 'post',
|
||||
}.get(request.POST.get(self.unused_name('stage')), 'preview')
|
||||
self.parse_params(*args, **kwargs)
|
||||
self.parse_params(request, *args, **kwargs)
|
||||
try:
|
||||
method = getattr(self, stage + '_' + request.method.lower())
|
||||
except AttributeError:
|
||||
|
@ -118,7 +118,7 @@ class FormPreview(object):
|
|||
'state': self.state,
|
||||
}
|
||||
|
||||
def parse_params(self, *args, **kwargs):
|
||||
def parse_params(self, request, *args, **kwargs):
|
||||
"""
|
||||
Given captured args and kwargs from the URLconf, saves something in
|
||||
self.state and/or raises :class:`~django.http.Http404` if necessary.
|
||||
|
|
|
@ -19,6 +19,9 @@ success_string_encoded = success_string.encode()
|
|||
|
||||
|
||||
class TestFormPreview(preview.FormPreview):
|
||||
def parse_params(self, request, *args, **kwargs):
|
||||
self.state['user'] = request.user
|
||||
|
||||
def get_context(self, request, form):
|
||||
context = super(TestFormPreview, self).get_context(request, form)
|
||||
context.update({'custom_context': True})
|
||||
|
@ -47,6 +50,16 @@ class PreviewTests(TestCase):
|
|||
self.input = input_template % (self.preview.unused_name('stage'), "%d")
|
||||
self.test_data = {'field1': 'foo', 'field1_': 'asdf'}
|
||||
|
||||
def test_parse_params_takes_request_object(self):
|
||||
"""
|
||||
FormPreview.parse_params takes a request object as the first argument.
|
||||
"""
|
||||
preview = TestFormPreview(TestForm)
|
||||
response = self.client.get('/preview/')
|
||||
state = response.context['state']
|
||||
self.assertTrue(state.get('user') is not None, "Expected to find a "
|
||||
"user key in response.context['state']")
|
||||
|
||||
def test_unused_name(self):
|
||||
"""
|
||||
Verifies name mangling to get uniue field name.
|
||||
|
|
Loading…
Reference in New Issue