[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
This commit is contained in:
Nicolas Lempereur 2015-05-22 17:02:22 +02:00
parent c711f47bad
commit 6d4a78a2a8
3 changed files with 18 additions and 0 deletions

View File

@ -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',
],

View File

@ -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

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data noupdate="1">
<record id="ir_cron_update_membership" model="ir.cron">
<field name="name">Check membership payment</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="model">res.partner</field>
<field name="function">_cron_update_membership</field>
</record>
</data>
</openerp>