Commit 3b6cfdfb authored by Vincent Pelletier's avatar Vincent Pelletier

Only validate new messages; All other states are subsequent to a validation...

Only validate new messages; All other states are subsequent to a validation (regular of by user's choice by modifying sql tables).
This fixes impossibility to invoke by hand validated messages not being executed when they have a serialization_tage set.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@22647 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 86f968ab
......@@ -569,8 +569,11 @@ class SQLDict(RAMDict, SQLBase):
method_dict[line_method_id] = 1
m = self.loadMessage(line.message, uid = line.uid)
if invoke:
# First Validate
validate_value = m.validate(self, activity_tool)
# First Validate (only if message is marked as new)
if line.processing_node == -1:
validate_value = m.validate(self, activity_tool)
else:
validate_value = VALID
# LOG('SQLDict.flush validate_value',0,validate_value)
if validate_value is VALID:
activity_tool.invoke(m) # Try to invoke the message - what happens if invoke calls flushActivity ??
......
......@@ -376,8 +376,11 @@ class SQLQueue(RAMQueue, SQLBase):
for m in activity_tool.getRegisteredMessageList(self):
if object_path == m.object_path and (method_id is None or method_id == m.method_id):
if invoke:
# First Validate
validate_value = m.validate(self, activity_tool)
# First Validate (only if message is marked as new)
if line.processing_node == -1:
validate_value = m.validate(self, activity_tool)
else:
validate_value = VALID
if validate_value is VALID:
activity_tool.invoke(m) # Try to invoke the message - what happens if invoke calls flushActivity ??
if m.is_executed != MESSAGE_EXECUTED: # Make sure message could be invoked
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment