summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorNicolas Lempereur <nle@odoo.com>2015-10-15 11:34:49 +0200
committerNicolas Lempereur <nle@odoo.com>2015-10-15 12:08:51 +0200
commitba9771d6ecfde85495b2a6fcd0eb72e8f6509f8e (patch)
tree07debefe019dc077a0cba13760527bbf4daaca4e /addons
parent5575f98db1b2a7dea911a19ef55eb0880ccb86f7 (diff)
[FIX] website_membership: don't display old as members
Follow-up of 5ac77c9 which solved the issue when an association was selected, but not when "All Members" was choosen. Before this commit, the displayed membership lines would only be the paid ones, if an association (membership product) was selected. With this commit this is also the case when no such association is selected. This commit also correct the member counts in the "country" list : * with "All members" the free members were not in the counts, * with not "Free member", the counts didn't took the eventual current name search. closes #9083 opw-648627
Diffstat (limited to 'addons')
-rw-r--r--addons/website_membership/controllers/main.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py
index b94f57b41a4..eb15ab0b11d 100644
--- a/addons/website_membership/controllers/main.py
+++ b/addons/website_membership/controllers/main.py
@@ -37,16 +37,16 @@ class WebsiteMembership(http.Controller):
partner_obj = request.registry['res.partner']
post_name = post.get('name', '')
current_country = None
+ today = time.strftime(DEFAULT_SERVER_DATE_FORMAT)
# base domain for groupby / searches
- base_line_domain = [("partner.website_published", "=", True), ('state', 'in', ['free', 'paid'])]
+ base_line_domain = [
+ ("partner.website_published", "=", True), ('state', '=', 'paid'),
+ ('date_to', '>=', today), ('date_from', '<=', today)
+ ]
if membership_id and membership_id != 'free':
membership_id = int(membership_id)
- today = time.strftime(DEFAULT_SERVER_DATE_FORMAT)
- base_line_domain += [
- ('membership_id', '=', membership_id), ('date_to', '>=', today),
- ('date_from', '<=', today), ('state', '=', 'paid')
- ]
+ base_line_domain.append(('membership_id', '=', membership_id))
membership = product_obj.browse(cr, uid, membership_id, context=context)
else:
membership = None
@@ -58,12 +58,14 @@ class WebsiteMembership(http.Controller):
if membership_id != 'free':
membership_line_ids = membership_line_obj.search(cr, SUPERUSER_ID, base_line_domain, context=context)
country_domain = [('member_lines', 'in', membership_line_ids)]
+ if not membership_id:
+ country_domain = ['|', country_domain[0], ('membership_state', '=', 'free')]
else:
membership_line_ids = []
country_domain = [('membership_state', '=', 'free')]
- if post_name:
- country_domain += ['|', ('name', 'ilike', post_name),
- ('website_description', 'ilike', post_name)]
+ if post_name:
+ country_domain += ['|', ('name', 'ilike', post_name),
+ ('website_description', 'ilike', post_name)]
countries = partner_obj.read_group(
cr, SUPERUSER_ID, country_domain + [("website_published", "=", True)], ["id", "country_id"],
groupby="country_id", orderby="country_id", context=request.context)