From f2790aaad7b262df1f128ee78203e68585a858d8 Mon Sep 17 00:00:00 2001 From: Olivier Nibart Date: Mon, 27 Nov 2023 15:13:05 +0100 Subject: [PATCH] add cron to check for expired primeships --- sale_partner_primeship/README.rst | 1 + sale_partner_primeship/__manifest__.py | 1 + sale_partner_primeship/data/ir_cron.xml | 16 ++++++++++++++++ sale_partner_primeship/models/res_partner.py | 6 ++++++ 4 files changed, 24 insertions(+) create mode 100644 sale_partner_primeship/data/ir_cron.xml diff --git a/sale_partner_primeship/README.rst b/sale_partner_primeship/README.rst index 16f56309ced..5bf905efc3d 100644 --- a/sale_partner_primeship/README.rst +++ b/sale_partner_primeship/README.rst @@ -76,6 +76,7 @@ Contributors * `Akretion `_: * Florian Mounier + * Olivier Nibart Maintainers ~~~~~~~~~~~ diff --git a/sale_partner_primeship/__manifest__.py b/sale_partner_primeship/__manifest__.py index 83e36dd32cb..3dc51212594 100644 --- a/sale_partner_primeship/__manifest__.py +++ b/sale_partner_primeship/__manifest__.py @@ -14,6 +14,7 @@ "views/res_partner_views.xml", "security/ir.model.access.csv", "security/sale_partner_primeship.xml", + "data/ir_cron.xml", ], "license": "LGPL-3", } diff --git a/sale_partner_primeship/data/ir_cron.xml b/sale_partner_primeship/data/ir_cron.xml new file mode 100644 index 00000000000..be6c4191ba5 --- /dev/null +++ b/sale_partner_primeship/data/ir_cron.xml @@ -0,0 +1,16 @@ + + + + Check for Expired Partner Primeships + + code + model._check_expired_primeships() + + + 1 + days + -1 + + + + diff --git a/sale_partner_primeship/models/res_partner.py b/sale_partner_primeship/models/res_partner.py index 268a566eeb8..ac6cf59b5d1 100644 --- a/sale_partner_primeship/models/res_partner.py +++ b/sale_partner_primeship/models/res_partner.py @@ -31,3 +31,9 @@ def _compute_active_primeship(self): def _compute_primeship_count(self): for record in self: record.primeship_count = len(record.commercial_partner_id.primeship_ids) + + @api.model + def _check_expired_primeships(self): + self.with_context( + active_test=False, + ).search([("active_primeship", "=", True)])._compute_active_primeship()