changeset 8b8ab76d10d1 in modules/marketing_automation:default
details:
https://hg.tryton.org/modules/marketing_automation?cmd=changeset;node=8b8ab76d10d1
description:
Simplify cron
issue8201
issue6117
issue2286
diffstat:
__init__.py | 2 ++
ir.py | 17 +++++++++++++++++
marketing_automation.xml | 28 ++--------------------------
tests/scenario_marketing_automation.rst | 6 ++----
4 files changed, 23 insertions(+), 30 deletions(-)
diffs (103 lines):
diff -r 7c5f9486dd26 -r 8b8ab76d10d1 __init__.py
--- a/__init__.py Sun Apr 07 19:50:03 2019 +0200
+++ b/__init__.py Fri Apr 12 15:59:24 2019 +0200
@@ -3,6 +3,7 @@
from trytond.pool import Pool
+from . import ir
from . import marketing_automation
from . import web
from . import party
@@ -14,6 +15,7 @@
def register():
Pool.register(
+ ir.Cron,
marketing_automation.Scenario,
marketing_automation.Activity,
marketing_automation.Record,
diff -r 7c5f9486dd26 -r 8b8ab76d10d1 ir.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ir.py Fri Apr 12 15:59:24 2019 +0200
@@ -0,0 +1,17 @@
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from trytond.pool import PoolMeta
+
+
+class Cron(metaclass=PoolMeta):
+ __name__ = 'ir.cron'
+
+ @classmethod
+ def __setup__(cls):
+ super().__setup__()
+ cls.method.selection.extend([
+ ('marketing.automation.scenario|trigger',
+ "Trigger Marketing Scenarios"),
+ ('marketing.automation.record.activity|process',
+ "Process Marketing Activity"),
+ ])
diff -r 7c5f9486dd26 -r 8b8ab76d10d1 marketing_automation.xml
--- a/marketing_automation.xml Sun Apr 07 19:50:03 2019 +0200
+++ b/marketing_automation.xml Fri Apr 12 15:59:24 2019 +0200
@@ -299,39 +299,15 @@
<field name="template_extension">html</field>
</record>
- <record model="res.user" id="user_marketing_automation">
- <field name="login">user_marketing_automation</field>
- <field name="name">Cron Marketing Automation</field>
- <field name="active" eval="False"/>
- </record>
- <record model="res.user-res.group"
id="user_marketing_automation_group_marketing_automation">
- <field name="user" ref="user_marketing_automation"/>
- <field name="group" ref="marketing.group_marketing"/>
- </record>
-
<record model="ir.cron" id="cron_scenario_trigger">
- <field name="name">Trigger Scenarios</field>
- <field name="request_user" ref="res.user_admin"/>
- <field name="user" ref="user_marketing_automation"/>
- <field name="active" eval="True"/>
+ <field name="method">marketing.automation.scenario|trigger</field>
<field name="interval_number" eval="1"/>
<field name="interval_type">hours</field>
- <field name="number_calls" eval="-1"/>
- <field name="repeat_missed" eval="False"/>
- <field name="model">marketing.automation.scenario</field>
- <field name="function">trigger</field>
</record>
<record model="ir.cron" id="cron_record_activity_process">
- <field name="name">Process Record Activity</field>
- <field name="request_user" ref="res.user_admin"/>
- <field name="user" ref="user_marketing_automation"/>
- <field name="active" eval="True"/>
+ <field
name="method">marketing.automation.record.activity|process</field>
<field name="interval_number" eval="15"/>
<field name="interval_type">minutes</field>
- <field name="number_calls" eval="-1"/>
- <field name="repeat_missed" eval="False"/>
- <field name="model">marketing.automation.record.activity</field>
- <field name="function">process</field>
</record>
</data>
diff -r 7c5f9486dd26 -r 8b8ab76d10d1 tests/scenario_marketing_automation.rst
--- a/tests/scenario_marketing_automation.rst Sun Apr 07 19:50:03 2019 +0200
+++ b/tests/scenario_marketing_automation.rst Fri Apr 12 15:59:24 2019 +0200
@@ -87,12 +87,10 @@
>>> Cron = Model.get('ir.cron')
>>> cron_trigger, = Cron.find([
- ... ('model', '=', 'marketing.automation.scenario'),
- ... ('function', '=', 'trigger'),
+ ... ('method', '=', 'marketing.automation.scenario|trigger'),
... ])
>>> cron_process, = Cron.find([
- ... ('model', '=', 'marketing.automation.record.activity'),
- ... ('function', '=', 'process'),
+ ... ('method', '=', 'marketing.automation.record.activity|process'),
... ])
>>> cron_trigger.click('run_once')
>>> cron_process.click('run_once')