From 6d4a78a2a8a035d44155c0a278f2ad002d0d0586 Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Fri, 22 May 2015 17:02:22 +0200 Subject: [PATCH] [FIX] membership: update membership state daily The paid status should be removed automatically once the membership is expired. Previously, it would only be done when some other models fields changed (invoice, membership_line, res.partner). closes #6823 related to opw-640440 --- addons/membership/__openerp__.py | 1 + addons/membership/membership.py | 5 +++++ addons/membership/membership_data.xml | 12 ++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 addons/membership/membership_data.xml diff --git a/addons/membership/__openerp__.py b/addons/membership/__openerp__.py index e451edddaca..9bcdce86611 100644 --- a/addons/membership/__openerp__.py +++ b/addons/membership/__openerp__.py @@ -43,6 +43,7 @@ invoice and send propositions for membership renewal. 'data': [ 'security/ir.model.access.csv', 'wizard/membership_invoice_view.xml', + 'membership_data.xml', 'membership_view.xml', 'report/report_membership_view.xml', ], diff --git a/addons/membership/membership.py b/addons/membership/membership.py index b112c98b82a..14b16992044 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -201,6 +201,11 @@ class Partner(osv.osv): list_partner += ids2 return list_partner + def _cron_update_membership(self, cr, uid, context=None): + partner_ids = self.search(cr, uid, [('membership_state', '=', 'paid')], context=context) + if partner_ids: + self._store_set_values(cr, uid, partner_ids, ['membership_state'], context=context) + def _membership_state(self, cr, uid, ids, name, args, context=None): """This Function return Membership State For Given Partner. @param self: The object pointer diff --git a/addons/membership/membership_data.xml b/addons/membership/membership_data.xml new file mode 100644 index 00000000000..64d0dc4c5c7 --- /dev/null +++ b/addons/membership/membership_data.xml @@ -0,0 +1,12 @@ + + + + + Check membership payment + days + -1 + res.partner + _cron_update_membership + + +