From fa87df0ddbe2c1c97c143910377dc2118ff00e6b Mon Sep 17 00:00:00 2001 From: Pierre Rousseau Date: Mon, 15 Apr 2019 08:14:50 +0000 Subject: [PATCH] [IMP] crm_iap_lead*: improve credits consumed feedback To be able to correctly translate the information message on consumed credits, we are building those message in python in a computed field instead of building in xml with four computed fields. Task-ID 1965687 closes odoo/odoo#32676 Signed-off-by: pimodoo --- .../models/crm_iap_lead_mining_request.py | 37 ++++++++++--------- .../crm_iap_lead/views/crm_iap_lead_views.xml | 12 +----- .../views/crm_reveal_views.xml | 1 - 3 files changed, 21 insertions(+), 29 deletions(-) diff --git a/addons/crm_iap_lead/models/crm_iap_lead_mining_request.py b/addons/crm_iap_lead/models/crm_iap_lead_mining_request.py index 84b23c9151e..69f78b7ddff 100644 --- a/addons/crm_iap_lead/models/crm_iap_lead_mining_request.py +++ b/addons/crm_iap_lead/models/crm_iap_lead_mining_request.py @@ -61,25 +61,20 @@ class CRMLeadMiningRequest(models.Model): seniority_id = fields.Many2one('crm.iap.lead.seniority', string='Seniority') # Fields for the blue tooltip - lead_number_info = fields.Integer(string='Number of Leads ', related='lead_number', readonly=True) - lead_total_credit = fields.Integer(compute='_compute_lead_total_credit') - contact_credit_per_company = fields.Integer(compute='_compute_contact_credit_per_company') - contact_total_credit = fields.Integer(compute='_compute_contact_total_credit') + lead_credits = fields.Char(compute='_compute_credits', readonly=True) + lead_contacts_credits = fields.Char(compute='_compute_credits', readonly=True) - @api.depends('lead_number') - def _compute_lead_total_credit(self): - for req in self: - req.lead_total_credit = CREDIT_PER_COMPANY * req.lead_number - - @api.depends('contact_number') - def _compute_contact_credit_per_company(self): - for req in self: - req.contact_credit_per_company = CREDIT_PER_CONTACT * req.contact_number - - @api.depends('contact_number', 'lead_number') - def _compute_contact_total_credit(self): - for req in self: - req.contact_total_credit = CREDIT_PER_CONTACT * req.contact_number * req.lead_number + @api.onchange('lead_number', 'contact_number') + def _compute_tooltip(self): + for record in self: + total_credits = CREDIT_PER_COMPANY * record.lead_number + contact_credits = CREDIT_PER_CONTACT * record.contact_number + total_contact_credits = contact_credits * record.lead_number + message_contact = _("""Up to %d additional credits will be consumed + per company to identify its contacts (making a + total of %d credits for this request).""") + record.lead_credits = _('%d credits will be consumed to find %d companies.') % (total_credits, record.lead_number) + record.lead_contacts_credits = message_contact % (contact_credits, total_contact_credits) @api.depends('lead_ids') def _compute_leads_count(self): @@ -188,6 +183,12 @@ class CRMLeadMiningRequest(models.Model): lead_vals['lead_mining_request_id'] = self.id return lead_vals + @api.model + def get_empty_list_help(self, help): + help_title = _('Create a Lead Mining Request') + sub_title = _('Generate new leads based on their country, industry, size, etc.') + return '

%s

%s

' % (help_title, sub_title) + @api.multi def action_draft(self): self.ensure_one() diff --git a/addons/crm_iap_lead/views/crm_iap_lead_views.xml b/addons/crm_iap_lead/views/crm_iap_lead_views.xml index 6a61b35bb21..700ba6cc1d2 100644 --- a/addons/crm_iap_lead/views/crm_iap_lead_views.xml +++ b/addons/crm_iap_lead/views/crm_iap_lead_views.xml @@ -86,17 +86,10 @@
@@ -175,7 +168,6 @@ diff --git a/addons/crm_iap_lead_website/views/crm_reveal_views.xml b/addons/crm_iap_lead_website/views/crm_reveal_views.xml index 32317c529dc..34cf43c1895 100644 --- a/addons/crm_iap_lead_website/views/crm_reveal_views.xml +++ b/addons/crm_iap_lead_website/views/crm_reveal_views.xml @@ -158,7 +158,6 @@ id="crm_reveal_rule_menu_action" action="crm_reveal_rule_action" parent="crm_iap_lead.crm_menu_lead_generation" - name="Visits to Leads" sequence="5"/>