From: Ludovic CHEVALIER Date: Wed, 30 Sep 2015 15:25:27 +0000 (+0200) Subject: [membership] +cron job to update members status X-Git-Url: http://git.heureux-cyclage.org/?p=burette%2Fremembership.git;a=commitdiff_plain;h=9a6ce832127bd466ce735748c5a7678601797a4b [membership] +cron job to update members status --- 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()