[IMP] mass_mailing_{crm/sale}: always show UTM info if not void

It is not necessary to limitate UTM-based statistics based on the mailing model.
Indeed a mailing on contacts could for example generate leads and sales that
people could want to see the mailing view.

Commit linked to task ID 1889754.
This commit is contained in:
Thibault Delavallée
2018-10-02 16:03:26 +02:00
parent f427ddcb36
commit db70862ccd
2 changed files with 10 additions and 16 deletions
@@ -20,15 +20,15 @@ class MassMailing(models.Model):
@api.depends('crm_lead_activated')
def _compute_crm_lead_count(self):
for mass_mailing in self:
if mass_mailing.mailing_model_name != 'crm.lead' or not mass_mailing.crm_lead_activated:
mass_mailing.crm_lead_count = 0
else:
if mass_mailing.crm_lead_activated:
mass_mailing.crm_lead_count = self.env['crm.lead'].search_count(self._get_crm_utm_domain())
else:
mass_mailing.crm_lead_count = 0
@api.depends('crm_lead_activated')
def _compute_crm_opportunities_count(self):
for mass_mailing in self:
if mass_mailing.mailing_model_name != 'crm.lead' or mass_mailing.crm_lead_activated:
if mass_mailing.crm_lead_activated:
mass_mailing.crm_opportunities_count = 0
else:
mass_mailing.crm_opportunities_count = self.env['crm.lead'].search_count(self._get_crm_utm_domain())
@@ -56,5 +56,5 @@ class MassMailing(models.Model):
if self.medium_id:
res.append(('medium_id', '=', self.medium_id.id))
if not res:
res.append(('1', '=', '0'))
res.append((0, '=', 1))
return res
@@ -15,20 +15,14 @@ class MassMailing(models.Model):
@api.depends('mailing_domain')
def _compute_sale_quotation_count(self):
for mass_mailing in self:
if mass_mailing.mailing_model_name != 'sale.order':
mass_mailing.sale_quotation_count = 0
else:
mass_mailing.sale_quotation_count = self.env['sale.order'].search_count(self._get_sale_utm_domain())
mass_mailing.sale_quotation_count = self.env['sale.order'].search_count(self._get_sale_utm_domain())
@api.depends('mailing_domain')
def _compute_sale_invoiced_amount(self):
for mass_mailing in self:
if mass_mailing.mailing_model_name != 'sale.order':
mass_mailing.sale_invoiced_amount = 0
else:
invoices = self.env['sale.order'].search(self._get_sale_utm_domain()).mapped('invoice_ids')
res = self.env['account.invoice.report'].search_read([('invoice_id', 'in', invoices.ids)], ['user_currency_price_total'])
mass_mailing.sale_invoiced_amount = sum(r['user_currency_price_total'] for r in res)
invoices = self.env['sale.order'].search(self._get_sale_utm_domain()).mapped('invoice_ids')
res = self.env['account.invoice.report'].search_read([('invoice_id', 'in', invoices.ids)], ['user_currency_price_total'])
mass_mailing.sale_invoiced_amount = sum(r['user_currency_price_total'] for r in res)
@api.multi
def action_redirect_to_quotations(self):
@@ -57,5 +51,5 @@ class MassMailing(models.Model):
if self.medium_id:
res.append(('medium_id', '=', self.medium_id.id))
if not res:
res.append(('1', '=', '0'))
res.append((0, '=', 1))
return res