[FIX] base_action_rule: prevent recursive rule trigger also when processing time...
authorOlivier Dony <odo@openerp.com>
Wed, 11 Jun 2014 09:50:38 +0000 (11:50 +0200)
committerOlivier Dony <odo@openerp.com>
Wed, 11 Jun 2014 16:42:18 +0000 (18:42 +0200)
A safety guard already in place prevents the recursive
trigger of rules while another rule is being executed,
as a simple measure to prevent endless loops.
This guard was missing when processing time-based rules.

addons/base_action_rule/base_action_rule.py

index 2488ebc..a6793e9 100644 (file)
@@ -273,6 +273,7 @@ class base_action_rule(osv.osv):
                 action_dt = get_datetime(record_dt) + delay
                 if last_run <= action_dt < now:
                     try:
+                        context = dict(context or {}, action=True)
                         self._process(cr, uid, action, [record.id], context=context)
                     except Exception:
                         import traceback