Skip to content
Snippets Groups Projects
Commit 8bd86a7e authored by Jeremy Kersten's avatar Jeremy Kersten
Browse files

[FIX] website_crm_partner_assign: remove deprecated code

Add 2 fields stored to allow make all in one search and
not postprocess the list of partners.
parent 8ea34642
Branches
Tags
No related merge requests found
......@@ -259,11 +259,9 @@ class WebsiteCrmPartnerAssign(WebsitePartnerPage):
# search partners matching current search parameters
partner_ids = partner_obj.sudo().search(
base_partner_domain, order="grade_id DESC, display_name ASC") # todo in trunk: order="grade_id DESC, implemented_count DESC", offset=pager['offset'], limit=self._references_per_page
base_partner_domain, order="grade_sequence DESC, implemented_count DESC, display_name ASC, id ASC",
offset=pager['offset'], limit=self._references_per_page)
partners = partner_ids.sudo()
# remove me in trunk
partners = sorted(partners, key=lambda x: (x.grade_id.sequence if x.grade_id else 0, len([i for i in x.implemented_partner_ids if i.website_published])), reverse=True)
partners = partners[pager['offset']:pager['offset'] + self._references_per_page]
google_map_partner_ids = ','.join(map(str, [p.id for p in partners]))
google_maps_api_key = request.env['ir.config_parameter'].sudo().get_param('google_maps_api_key')
......
......@@ -37,6 +37,7 @@ class ResPartner(models.Model):
partner_weight = fields.Integer('Level Weight', default=lambda *args: 0,
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)")
grade_id = fields.Many2one('res.partner.grade', 'Level')
grade_sequence = fields.Integer(related='grade_id.sequence', readonly=True, store=True)
activation = fields.Many2one('res.partner.activation', 'Activation', index=True)
date_partnership = fields.Date('Partnership Date')
date_review = fields.Date('Latest Partner Review')
......@@ -49,6 +50,12 @@ class ResPartner(models.Model):
'res.partner', 'assigned_partner_id',
string='Implementation References',
)
implemented_count = fields.Integer(compute='_compute_implemented_partner_count', store=True)
@api.one
@api.depends('implemented_partner_ids')
def _compute_implemented_partner_count(self):
self.implemented_count = len(self.implemented_partner_ids.filtered(lambda x: x.website_published))
@api.onchange('grade_id')
def _onchange_grade_id(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment