diff options
| author | Patrick Hoste <pko@odoo.com> | 2020-08-04 12:52:26 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-08-14 12:59:27 +0000 |
| commit | 8066ab43482a3875d4f432a468aaa017aeea4bba (patch) | |
| tree | 40564bb5b7143da3bc446dfb6bc3a065bb63066f /addons/crm/models | |
| parent | ea1fa673c858c74a1e408ab09d6f3533171253b6 (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.py | 30 | ||||
| -rw-r--r-- | addons/crm/models/crm_team.py | 8 |
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) |
