summaryrefslogtreecommitdiff
path: root/addons/crm/models
diff options
context:
space:
mode:
authorPatrick Hoste <pko@odoo.com>2020-08-04 12:52:26 +0000
committerThibault Delavallée <tde@odoo.com>2020-08-14 12:59:27 +0000
commit8066ab43482a3875d4f432a468aaa017aeea4bba (patch)
tree40564bb5b7143da3bc446dfb6bc3a065bb63066f /addons/crm/models
parentea1fa673c858c74a1e408ab09d6f3533171253b6 (diff)
[REF] crm: update revenue fields names
PURPOSE Link field name with their content. SPECIFICATIONS This commit changes the field name "expected_revenue" into "prorated_revenue" and the field name "planned_revenue" into "expected_revenue". Indeed content of those fields evolved since their first naming. Their content is not what the field name indicates. Better rename those fields to understand code flow inside CRM. LINKS Task ID-2283052 odoo/odoo#54194 odoo/enterprise#12423 odoo/upgrade#1463
Diffstat (limited to 'addons/crm/models')
-rw-r--r--addons/crm/models/crm_lead.py30
-rw-r--r--addons/crm/models/crm_team.py8
2 files changed, 19 insertions, 19 deletions
diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py
index 57e08c62d29..12b39893342 100644
--- a/addons/crm/models/crm_lead.py
+++ b/addons/crm/models/crm_lead.py
@@ -38,7 +38,7 @@ CRM_LEAD_FIELDS_TO_MERGE = [
'partner_name',
'phone',
'probability',
- 'planned_revenue',
+ 'expected_revenue',
'street',
'street2',
'zip',
@@ -125,8 +125,8 @@ class Lead(models.Model):
help="Classify and analyze your lead/opportunity categories like: Training, Service")
color = fields.Integer('Color Index', default=0)
# Opportunity specific
- planned_revenue = fields.Monetary('Expected Revenue', currency_field='company_currency', tracking=True)
- expected_revenue = fields.Monetary('Prorated Revenue', currency_field='company_currency', store=True, compute="_compute_expected_revenue")
+ expected_revenue = fields.Monetary('Expected Revenue', currency_field='company_currency', tracking=True)
+ prorated_revenue = fields.Monetary('Prorated Revenue', currency_field='company_currency', store=True, compute="_compute_prorated_revenue")
company_currency = fields.Many2one("res.currency", string='Currency', related='company_id.currency_id', readonly=True)
# Dates
date_closed = fields.Datetime('Closed Date', readonly=True, copy=False)
@@ -366,10 +366,10 @@ class Lead(models.Model):
if was_automated:
lead.probability = lead.automated_probability
- @api.depends('planned_revenue', 'probability')
- def _compute_expected_revenue(self):
+ @api.depends('expected_revenue', 'probability')
+ def _compute_prorated_revenue(self):
for lead in self:
- lead.expected_revenue = round((lead.planned_revenue or 0.0) * (lead.probability or 0) / 100.0, 2)
+ lead.prorated_revenue = round((lead.expected_revenue or 0.0) * (lead.probability or 0) / 100.0, 2)
def _compute_meeting_count(self):
if self.ids:
@@ -721,14 +721,14 @@ class Lead(models.Model):
self.ensure_one()
self.action_set_won()
- if self.user_id and self.team_id and self.planned_revenue:
+ if self.user_id and self.team_id and self.expected_revenue:
query = """
SELECT
SUM(CASE WHEN user_id = %(user_id)s THEN 1 ELSE 0 END) as total_won,
- MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '30 days' AND user_id = %(user_id)s THEN planned_revenue ELSE 0 END) as max_user_30,
- MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '7 days' AND user_id = %(user_id)s THEN planned_revenue ELSE 0 END) as max_user_7,
- MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '30 days' AND team_id = %(team_id)s THEN planned_revenue ELSE 0 END) as max_team_30,
- MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '7 days' AND team_id = %(team_id)s THEN planned_revenue ELSE 0 END) as max_team_7
+ MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '30 days' AND user_id = %(user_id)s THEN expected_revenue ELSE 0 END) as max_user_30,
+ MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '7 days' AND user_id = %(user_id)s THEN expected_revenue ELSE 0 END) as max_user_7,
+ MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '30 days' AND team_id = %(team_id)s THEN expected_revenue ELSE 0 END) as max_team_30,
+ MAX(CASE WHEN date_closed >= CURRENT_DATE - INTERVAL '7 days' AND team_id = %(team_id)s THEN expected_revenue ELSE 0 END) as max_team_7
FROM crm_lead
WHERE
type = 'opportunity'
@@ -748,13 +748,13 @@ class Lead(models.Model):
message = False
if query_result['total_won'] == 1:
message = _('Go, go, go! Congrats for your first deal.')
- elif query_result['max_team_30'] == self.planned_revenue:
+ elif query_result['max_team_30'] == self.expected_revenue:
message = _('Boom! Team record for the past 30 days.')
- elif query_result['max_team_7'] == self.planned_revenue:
+ elif query_result['max_team_7'] == self.expected_revenue:
message = _('Yeah! Deal of the last 7 days for the team.')
- elif query_result['max_user_30'] == self.planned_revenue:
+ elif query_result['max_user_30'] == self.expected_revenue:
message = _('You just beat your personal record for the past 30 days.')
- elif query_result['max_user_7'] == self.planned_revenue:
+ elif query_result['max_user_7'] == self.expected_revenue:
message = _('You just beat your personal record for the past 7 days.')
if message:
diff --git a/addons/crm/models/crm_team.py b/addons/crm/models/crm_team.py
index 695823a0d80..5d0b8267d43 100644
--- a/addons/crm/models/crm_team.py
+++ b/addons/crm/models/crm_team.py
@@ -63,14 +63,14 @@ class Team(models.Model):
('team_id', 'in', self.ids),
('probability', '<', 100),
('type', '=', 'opportunity'),
- ]).read(['planned_revenue', 'team_id'])
+ ]).read(['expected_revenue', 'team_id'])
counts = {}
amounts = {}
for datum in opportunity_data:
counts.setdefault(datum['team_id'][0], 0)
amounts.setdefault(datum['team_id'][0], 0)
counts[datum['team_id'][0]] += 1
- amounts[datum['team_id'][0]] += (datum.get('planned_revenue', 0))
+ amounts[datum['team_id'][0]] += (datum.get('expected_revenue', 0))
for team in self:
team.opportunities_count = counts.get(team.id, 0)
team.opportunities_amount = amounts.get(team.id, 0)
@@ -81,9 +81,9 @@ class Team(models.Model):
('probability', '<', 100),
('type', '=', 'opportunity'),
('date_deadline', '<', fields.Date.to_string(fields.Datetime.now()))
- ], ['planned_revenue', 'team_id'], ['team_id'])
+ ], ['expected_revenue', 'team_id'], ['team_id'])
counts = {datum['team_id'][0]: datum['team_id_count'] for datum in opportunity_data}
- amounts = {datum['team_id'][0]: (datum['planned_revenue']) for datum in opportunity_data}
+ amounts = {datum['team_id'][0]: (datum['expected_revenue']) for datum in opportunity_data}
for team in self:
team.opportunities_overdue_count = counts.get(team.id, 0)
team.opportunities_overdue_amount = amounts.get(team.id, 0)