[IMP]Improved conditions and unique list.

bzr revid: bth@tinyerp.com-20131114130936-1xiuqpyenxzs9ki1
This commit is contained in:
bth-openerp 2013-11-14 18:39:36 +05:30
parent 66c590aa29
commit c54919fed9
2 changed files with 11 additions and 8 deletions

View File

@ -59,12 +59,13 @@ class WebsiteCrmPartnerAssign(http.Controller):
country = country_obj.browse(request.cr, request.uid, country_id, request.context)
where += " and r.country_id = "+str(country_id)
if post_name:
where += " or r.name ilike '%%%s%%'" % post_name + " or r.website_description ilike '%%%s%%'" % post_name
where += " and (r.name ilike '%%%s%%'" % post_name + " or r.website_description ilike '%%%s%%'" % post_name + ")"
query = 'select r.id from res_partner r, res_partner_grade g where r.grade_id=g.id and '+ where+ ' order by g.sequence DESC limit '+ str(self._references_per_page)+ ' offset '+ str(pager['offset'])
request.cr.execute(query)
partnerres = request.cr.fetchall()
search_partner_ids = [x[0] for x in partnerres]
def _uniquify_list(seq):
seen = set()
return [x for x in seq if x not in seen and not seen.add(x)]
search_partner_ids = _uniquify_list([x[0] for x in request.cr.fetchall()])
partners = partner_obj.browse(
request.cr, openerp.SUPERUSER_ID, search_partner_ids, request.context)

View File

@ -49,12 +49,14 @@ class WebsiteMembership(http.Controller):
else:
membership = None
if post_name:
where += " or r.name ilike '%%%s%%'" % post_name + " or r.website_description ilike '%%%s%%'" % post_name
where += " and (r.name ilike '%%%s%%'" % post_name + " or r.website_description ilike '%%%s%%'" % post_name + ")"
query = 'select m.id, p.name_template, m.membership_id, m.partner, r.name, r.parent_id, r.website_short_description, r.image_small from membership_membership_line m, product_product p, res_partner r where m.membership_id=p.id and m.partner=r.id and '+ where + ' order by m.membership_id, m.member_price DESC'
query = 'select m.id from membership_membership_line m, product_product p, res_partner r where m.membership_id=p.id and m.partner=r.id and '+ where + ' order by m.membership_id, m.member_price DESC'
cr.execute(query)
search_membership_ids = [x[0] for x in cr.fetchall()]
def _uniquify_list(seq):
seen = set()
return [x for x in seq if x not in seen and not seen.add(x)]
search_membership_ids = _uniquify_list([x[0] for x in cr.fetchall()])
# group by country, based on all customers (base domain)
membership_line_ids = membership_line_obj.search(cr, uid, base_line_domain, context=context)
countries = partner_obj.read_group(