changeset f0ad1c8d99fd in modules/sale_subscription:default
details:
https://hg.tryton.org/modules/sale_subscription?cmd=changeset;node=f0ad1c8d99fd
description:
Simplify cron
issue8201
issue6117
issue2286
diffstat:
__init__.py | 2 ++
ir.py | 17 +++++++++++++++++
subscription.py | 4 ++++
subscription.xml | 47 ++---------------------------------------------
4 files changed, 25 insertions(+), 45 deletions(-)
diffs (131 lines):
diff -r 1b74dc1c68c5 -r f0ad1c8d99fd __init__.py
--- a/__init__.py Sun Apr 07 19:50:04 2019 +0200
+++ b/__init__.py Fri Apr 12 15:59:25 2019 +0200
@@ -8,6 +8,7 @@
from . import subscription
from . import invoice
from . import party
+from . import ir
def register():
@@ -23,6 +24,7 @@
subscription.CreateLineConsumptionStart,
subscription.CreateSubscriptionInvoiceStart,
invoice.InvoiceLine,
+ ir.Cron,
module='sale_subscription', type_='model')
Pool.register(
subscription.CreateLineConsumption,
diff -r 1b74dc1c68c5 -r f0ad1c8d99fd ir.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ir.py Fri Apr 12 15:59:25 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([
+ ('sale.subscription.line|generate_consumption',
+ "Generate Subscription Line Consumptions"),
+ ('sale.subscription|generate_invoice',
+ "Generate Subscription Invoices"),
+ ])
diff -r 1b74dc1c68c5 -r f0ad1c8d99fd subscription.py
--- a/subscription.py Sun Apr 07 19:50:04 2019 +0200
+++ b/subscription.py Fri Apr 12 15:59:25 2019 +0200
@@ -309,6 +309,8 @@
('invoice_line', '=', None),
('line.subscription.next_invoice_date', '<=', date),
('line.subscription.state', 'in', ['running', 'closed']),
+ ('line.subscription.company', '=',
+ Transaction().context.get('company')),
],
order=[
('line.subscription.id', 'DESC'),
@@ -658,6 +660,8 @@
('consumption_recurrence', '!=', None),
('next_consumption_date_delayed', '<=', date),
('subscription.state', '=', 'running'),
+ ('subscription.company', '=',
+ Transaction().context.get('company')),
])
consumptions = []
diff -r 1b74dc1c68c5 -r f0ad1c8d99fd subscription.xml
--- a/subscription.xml Sun Apr 07 19:50:04 2019 +0200
+++ b/subscription.xml Fri Apr 12 15:59:25 2019 +0200
@@ -300,29 +300,10 @@
<field name="name">line_consumption_create_start_form</field>
</record>
- <record model="res.user" id="user_generate_line_consumption">
- <field name="login">user_cron_subscription_line_consumption</field>
- <field name="name">Cron Subscription Line Consumption</field>
- <field name="signature"></field>
- <field name="active" eval="False"/>
- </record>
- <record model="res.user-res.group"
- id="user_generate_line_consumption_group_sale">
- <field name="user" ref="user_generate_line_consumption"/>
- <field name="group" ref="sale.group_sale"/>
- </record>
-
<record model="ir.cron" id="cron_generate_line_consumption">
- <field name="name">Generate Subscription Line Consumptions</field>
- <field name="request_user" ref="res.user_admin"/>
- <field name="user" ref="user_generate_line_consumption"/>
- <field name="active" eval="True"/>
+ <field
name="method">sale.subscription.line|generate_consumption</field>
<field name="interval_number" eval="1"/>
<field name="interval_type">days</field>
- <field name="number_calls" eval="-1"/>
- <field name="repeat_missed" eval="False"/>
- <field name="model">sale.subscription.line</field>
- <field name="function">generate_consumption</field>
</record>
<record model="ir.action.wizard" id="act_create_invoice">
@@ -345,34 +326,10 @@
<field name="name">create_invoice_start_form</field>
</record>
- <record model="res.user" id="user_generate_invoice">
- <field name="login">user_cron_subscription_invoice</field>
- <field name="name">Cron Subscription Invoice</field>
- <field name="signature"></field>
- <field name="active" eval="False"/>
- </record>
- <record model="res.user-res.group"
- id="user_generate_invoice_group_sale">
- <field name="user" ref="user_generate_invoice"/>
- <field name="group" ref="sale.group_sale"/>
- </record>
- <record model="res.user-res.group"
- id="user_generate_invoice_group_account">
- <field name="user" ref="user_generate_invoice"/>
- <field name="group" ref="account.group_account"/>
- </record>
-
<record model="ir.cron" id="cron_generate_invoice">
- <field name="name">Generate Subscription Invoices</field>
- <field name="request_user" ref="res.user_admin"/>
- <field name="user" ref="user_generate_invoice"/>
- <field name="active" eval="True"/>
+ <field name="method">sale.subscription|generate_invoice</field>
<field name="interval_number" eval="1"/>
<field name="interval_type">days</field>
- <field name="number_calls" eval="-1"/>
- <field name="repeat_missed" eval="False"/>
- <field name="model">sale.subscription</field>
- <field name="function">generate_invoice</field>
</record>
</data>