From 1efa3cbbdb6e6a57e919052c79b4e988a9cea6e8 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 10 Nov 2014 10:30:20 +0100 Subject: [PATCH] execute state transition before setting any fields to avoid side effects by settings in fields --- organize/stateful/browser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/organize/stateful/browser.py b/organize/stateful/browser.py index 3da6017..689f1b9 100644 --- a/organize/stateful/browser.py +++ b/organize/stateful/browser.py @@ -153,6 +153,7 @@ class ChangeStateForm(ChangeStateBase, ObjectForm): class ChangeState(ChangeStateBase, EditObject): def update(self): + self.stateful.doTransition(self.action) formData = self.request.form # store data in target object (unless field.nostore) self.object = self.target @@ -168,7 +169,6 @@ class ChangeState(ChangeStateBase, EditObject): fi = formState.fieldInstances[name] rawValue = fi.getRawValue(formData, name, u'') trackData[name] = fi.unmarshall(rawValue) - self.stateful.doTransition(self.action) notify(ObjectModifiedEvent(self.view.virtualTargetObject, trackData)) self.request.response.redirect(self.request.getURL()) return True