execute state transition before setting any fields to avoid side effects by settings in fields
This commit is contained in:
parent
ff23ddf90a
commit
1efa3cbbdb
1 changed files with 1 additions and 1 deletions
|
@ -153,6 +153,7 @@ class ChangeStateForm(ChangeStateBase, ObjectForm):
|
||||||
class ChangeState(ChangeStateBase, EditObject):
|
class ChangeState(ChangeStateBase, EditObject):
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
|
self.stateful.doTransition(self.action)
|
||||||
formData = self.request.form
|
formData = self.request.form
|
||||||
# store data in target object (unless field.nostore)
|
# store data in target object (unless field.nostore)
|
||||||
self.object = self.target
|
self.object = self.target
|
||||||
|
@ -168,7 +169,6 @@ class ChangeState(ChangeStateBase, EditObject):
|
||||||
fi = formState.fieldInstances[name]
|
fi = formState.fieldInstances[name]
|
||||||
rawValue = fi.getRawValue(formData, name, u'')
|
rawValue = fi.getRawValue(formData, name, u'')
|
||||||
trackData[name] = fi.unmarshall(rawValue)
|
trackData[name] = fi.unmarshall(rawValue)
|
||||||
self.stateful.doTransition(self.action)
|
|
||||||
notify(ObjectModifiedEvent(self.view.virtualTargetObject, trackData))
|
notify(ObjectModifiedEvent(self.view.virtualTargetObject, trackData))
|
||||||
self.request.response.redirect(self.request.getURL())
|
self.request.response.redirect(self.request.getURL())
|
||||||
return True
|
return True
|
||||||
|
|
Loading…
Add table
Reference in a new issue