Skip to content

Commit 1e8817f

Browse files
author
Octocat
committed
Feature: Include request context on signal triggers
1 parent e29e3b8 commit 1e8817f

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
def do_setup():
1818
setup(
1919
name="django-wizard",
20-
version='0.2.7',
20+
version='0.3.0',
2121
author="Matthew J. Morrison",
2222
author_email="mattjmorrison@mattjmorrison.com",
2323
description="A wizard that helps to control page flow.",

wizard/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ def create_prereq(self, step):
185185

186186
@wraps(step.prereq)
187187
def wrapper_new_prereq():
188-
signals.wizard_pre_prereq.send(self, step_key=step._key)
188+
signals.wizard_pre_prereq.send(self, step_key=step._key, request=self.request)
189189
orig_prereq()
190-
signals.wizard_post_prereq.send(self, step_key=step._key)
190+
signals.wizard_post_prereq.send(self, step_key=step._key, request=self.request)
191191

192192
return wrapper_new_prereq
193193

@@ -223,9 +223,9 @@ def redirect(self, step):
223223

224224
def post(self, request, step):
225225
try:
226-
signals.wizard_pre_save.send(self, step_key=step)
226+
signals.wizard_pre_save.send(self, step_key=step, request=self.request)
227227
self.get_step_object_by_key(step).save()
228-
signals.wizard_post_save.send(self, step_key=step)
228+
signals.wizard_post_save.send(self, step_key=step, request=self.request)
229229
except SaveStepException:
230230
return self.render(request, self.do_display(step), step)
231231
else:
@@ -284,9 +284,9 @@ def render(self, request, data, step):
284284

285285
def do_display(self, step):
286286
step_object = self.get_step_object_by_key(step)
287-
signals.wizard_pre_display.send(self, step_key=step)
287+
signals.wizard_pre_display.send(self, step_key=step, request=self.request)
288288
data = step_object.display() or {}
289-
signals.wizard_post_display.send(self, step_key=step)
289+
signals.wizard_post_display.send(self, step_key=step, request=self.request)
290290
return self.add_wizard_data_to_template(data, step)
291291

292292
def add_wizard_data_to_template(self, data, step):

wizard/signals.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from django import dispatch
22

3-
wizard_pre_save = dispatch.Signal(providing_args=['step_key'])
4-
wizard_post_save = dispatch.Signal(providing_args=['step_key'])
5-
wizard_pre_display = dispatch.Signal(providing_args=['step_key'])
6-
wizard_post_display = dispatch.Signal(providing_args=['step_key'])
7-
wizard_post_prereq = dispatch.Signal(providing_args=['step_key'])
8-
wizard_pre_prereq = dispatch.Signal(providing_args=['step_key'])
3+
wizard_pre_save = dispatch.Signal(providing_args=['step_key', 'request'])
4+
wizard_post_save = dispatch.Signal(providing_args=['step_key', 'request'])
5+
wizard_pre_display = dispatch.Signal(providing_args=['step_key', 'request'])
6+
wizard_post_display = dispatch.Signal(providing_args=['step_key', 'request'])
7+
wizard_post_prereq = dispatch.Signal(providing_args=['step_key', 'request'])
8+
wizard_pre_prereq = dispatch.Signal(providing_args=['step_key', 'request'])

wizard/tests.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ def test_sends_pre_save_signal_in_post(self, send_presave):
620620
self.mock_request.method = 'POST'
621621
self.mock_request.POST = {}
622622
wiz.handle_request(self.mock_request, 'first')
623-
send_presave.assert_called_once_with(wiz, step_key='first')
623+
send_presave.assert_called_once_with(wiz, step_key='first', request=self.mock_request)
624624

625625
@mock.patch('wizard.signals.wizard_post_save.send')
626626
def test_sends_post_save_signal_in_post(self, send_postsave):
@@ -629,7 +629,7 @@ def test_sends_post_save_signal_in_post(self, send_postsave):
629629
self.mock_request.method = 'POST'
630630
self.mock_request.POST = {}
631631
wiz.handle_request(self.mock_request, 'first')
632-
send_postsave.assert_called_once_with(wiz, step_key='first')
632+
send_postsave.assert_called_once_with(wiz, step_key='first', request=self.mock_request)
633633

634634
@mock.patch.object(TestStepOne, 'save', mock.Mock(side_effect=wizard.SaveStepException))
635635
@mock.patch('wizard.signals.wizard_post_save.send')
@@ -645,29 +645,31 @@ def test_does_not_send_post_save_signal_in_post_on_save_step_exception(self, sen
645645
def test_sends_pre_display_signal_in_do_display(self, send_predisplay):
646646
wiz = wizard.Wizard('test:test3', self.steps)
647647
wiz.handle_request(self.mock_request, 'first')
648-
send_predisplay.assert_called_once_with(wiz, step_key='first')
648+
send_predisplay.assert_called_once_with(wiz, step_key='first', request=self.mock_request)
649649

650650
@mock.patch('wizard.signals.wizard_post_display.send')
651651
def test_sends_post_display_signal_in_do_display(self, send_postdisplay):
652652
wiz = wizard.Wizard('test:test3', self.steps)
653653
wiz.handle_request(self.mock_request, 'first')
654-
send_postdisplay.assert_called_once_with(wiz, step_key='first')
654+
send_postdisplay.assert_called_once_with(wiz, step_key='first', request=self.mock_request)
655655

656656
@mock.patch('wizard.signals.wizard_post_prereq.send')
657657
def test_sends_post_prereq_signal_in_prereq(self, send_post_prereq):
658658
wiz = wizard.Wizard('test:test3', self.steps)
659+
wiz.request = self.mock_request
659660
wiz.steps = dict(self.steps)
660661
wiz._current_step = 'fourth'
661662
wiz.current_step_object.prereq()
662-
send_post_prereq.assert_called_once_with(wiz, step_key='fourth')
663+
send_post_prereq.assert_called_once_with(wiz, step_key='fourth', request=self.mock_request)
663664

664665
@mock.patch('wizard.signals.wizard_pre_prereq.send')
665666
def test_sends_pre_prereq_signal_in_prereq(self, send_pre_prereq):
666667
wiz = wizard.Wizard('test:test3', self.steps)
668+
wiz.request = self.mock_request
667669
wiz.steps = dict(self.steps)
668670
wiz._current_step = 'fourth'
669671
wiz.current_step_object.prereq()
670-
send_pre_prereq.assert_called_once_with(wiz, step_key='fourth')
672+
send_pre_prereq.assert_called_once_with(wiz, step_key='fourth', request=self.mock_request)
671673

672674
@mock.patch.object(TestStepFour, 'prereq', mocksignature=True)
673675
@mock.patch('wizard.signals.wizard_post_prereq.send')

0 commit comments

Comments
 (0)