[IMP] base_action_rule: Scheduler will be deactivated if all rules are deactivated.
bzr revid: uco@tinyerp.co.in-20100209092300-fbg1arakxbmer0jz
This commit is contained in:
parent
da4c6bae11
commit
6a7305bf09
|
@ -61,11 +61,12 @@ class base_action_rule(osv.osv):
|
|||
return True
|
||||
|
||||
def button_deactivate_rule(self, cr, uid, ids, context=None):
|
||||
checkids = self.pool.get('base.action.rule').search(cr, uid, [])
|
||||
cronobj = self.pool.get('ir.cron')
|
||||
cronids = cronobj.search(cr,uid,[('model','=','base.action.rule'),('active','=',True)])
|
||||
if cronids:
|
||||
cronobj.write(cr, uid, cronids, {'active': False})
|
||||
self.write(cr, uid, ids, {'state': 'deactivate'})
|
||||
if cronids and all(rule.state == 'deactivate' for rule in self.browse(cr, uid, checkids)):
|
||||
cronobj.write(cr, uid, cronids, {'active': False})
|
||||
return True
|
||||
|
||||
def remind_partner(self, cr, uid, ids, context={}, attach=False):
|
||||
|
@ -120,7 +121,7 @@ class base_action_rule(osv.osv):
|
|||
Function called by the scheduler to process models
|
||||
'''
|
||||
ruleobj = self.pool.get('base.action.rule')
|
||||
ids = ruleobj.search(cr, uid, [])
|
||||
ids = ruleobj.search(cr, uid, [('state','=','activate')])
|
||||
rules = ruleobj.browse(cr, uid, ids, context)
|
||||
return ruleobj._action(cr, uid, rules, False, context=context)
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
<field name="name" select="1"/>
|
||||
<field name="max_level" select="1"/>
|
||||
<field name="rule_lines"/>
|
||||
<field name="state" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
Loading…
Reference in New Issue