From 9a6ce832127bd466ce735748c5a7678601797a4b Mon Sep 17 00:00:00 2001 From: Ludovic CHEVALIER Date: Wed, 30 Sep 2015 17:25:27 +0200 Subject: [PATCH] [membership] +cron job to update members status --- __openerp__.py | 3 ++- data/membership.xml | 13 +++++++++++++ remembership.py | 8 +++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/__openerp__.py b/__openerp__.py index be751a4..7a09100 100644 --- a/__openerp__.py +++ b/__openerp__.py @@ -29,7 +29,8 @@ This module overload official OpenERP membership module for adding some functionnalities that could be useful: - grouped membership; - date to date membership; - - members identfication number. + - members identfication number; + - cron job to update membership status. """, 'author': 'L\'Heureux Cyclage - LHC', 'website': 'http://www.heureux-cyclage.org', diff --git a/data/membership.xml b/data/membership.xml index ffc074d..9b85ec9 100644 --- a/data/membership.xml +++ b/data/membership.xml @@ -13,5 +13,18 @@ 1 1 + + Update partners membership state + + + 1 + days + -1 + + + + + + diff --git a/remembership.py b/remembership.py index 6256b4d..fcd89fe 100644 --- a/remembership.py +++ b/remembership.py @@ -28,7 +28,6 @@ from datetime import datetime, date from dateutil.relativedelta import relativedelta from openerp.tools.translate import _ - class Partner(osv.osv): _inherit = 'res.partner' @@ -209,6 +208,13 @@ class Partner(osv.osv): print ("DEV: [remembership] [partner] [create_membership_invoice] return=%s" % str(invoice_list)) return invoice_list + def update_membership_status(self, cr, uid): + """Action for updating old members status with scheduled cron job""" + partner_obj = self.pool.get('res.partner') + today = date.today() + ids = partner_obj.search(cr, uid, [('membership_state', '=', 'paid'), ('membership_stop', '<', today)], context=None) + self.write(cr, uid, ids, {'membership_state': 'old'}, context=None) + Partner() -- 2.20.1