diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 735b1b8fea3..33a8cf59bc1 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -231,7 +231,7 @@ class Partner(osv.osv): s = 4 if partner_data.member_lines: for mline in partner_data.member_lines: - if mline.date_to >= today: + if mline.date_to >= today and mline.date_from < today: if mline.account_invoice_line and mline.account_invoice_line.invoice_id: mstate = mline.account_invoice_line.invoice_id.state if mstate == 'paid': diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py index 86671eef303..c9001445030 100644 --- a/addons/website_membership/controllers/main.py +++ b/addons/website_membership/controllers/main.py @@ -3,8 +3,10 @@ from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request from openerp.addons.website.models.website import unslug +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT from openerp.tools.translate import _ +import time import werkzeug.urls @@ -40,7 +42,11 @@ class WebsiteMembership(http.Controller): base_line_domain = [("partner.website_published", "=", True), ('state', 'in', ['free', 'paid'])] if membership_id and membership_id != 'free': membership_id = int(membership_id) - base_line_domain.append(('membership_id', '=', membership_id)) + today = time.strftime(DEFAULT_SERVER_DATE_FORMAT) + base_line_domain += [ + ('membership_id', '=', membership_id), ('date_to', '>=', today), + ('date_from', '<', today), ('state', '=', 'paid') + ] membership = product_obj.browse(cr, uid, membership_id, context=context) else: membership = None