summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)