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>

Reply via email to