summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-03-06 11:56:50 +0100
committerChristophe Simonis <chs@odoo.com>2018-03-06 11:56:50 +0100
commit5e6bb745e8bbd6c8bfb7ea50fe68fba02ac41a15 (patch)
tree53fe76eb61694195c2b4921953aa4b2b765b9602 /addons
parent36d691026989508d7e5272561bb5f1f16dad0bc1 (diff)
parent4aea19d9e81a65ffefa9c770622b7772d071b781 (diff)
[MERGE] forward port branch 9.0 up to 4aea19d9e81
Diffstat (limited to 'addons')
-rw-r--r--addons/crm/models/crm_lead.py26
-rw-r--r--addons/crm/static/src/js/sales_team_dashboard.js2
-rw-r--r--addons/sale_crm/models/crm_lead.py3
3 files changed, 16 insertions, 15 deletions
diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py
index f23d5382b2f..411aa08a9fe 100644
--- a/addons/crm/models/crm_lead.py
+++ b/addons/crm/models/crm_lead.py
@@ -928,34 +928,36 @@ class Lead(FormatAddress, models.Model):
'nb_opportunities': 0,
}
+ today = fields.Date.from_string(fields.Date.context_today(self))
+
opportunities = self.search([('type', '=', 'opportunity'), ('user_id', '=', self._uid)])
for opp in opportunities:
# Expected closing
if opp.date_deadline:
date_deadline = fields.Date.from_string(opp.date_deadline)
- if date_deadline == date.today():
+ if date_deadline == today:
result['closing']['today'] += 1
- if date.today() <= date_deadline <= date.today() + timedelta(days=7):
+ if today <= date_deadline <= today + timedelta(days=7):
result['closing']['next_7_days'] += 1
- if date_deadline < date.today() and not opp.date_closed:
+ if date_deadline < today and not opp.date_closed:
result['closing']['overdue'] += 1
# Next activities
if opp.next_activity_id and opp.date_action:
date_action = fields.Date.from_string(opp.date_action)
- if date_action == date.today():
+ if date_action == today:
result['activity']['today'] += 1
- if date.today() <= date_action <= date.today() + timedelta(days=7):
+ if today <= date_action <= today + timedelta(days=7):
result['activity']['next_7_days'] += 1
- if date_action < date.today() and not opp.date_closed:
+ if date_action < today and not opp.date_closed:
result['activity']['overdue'] += 1
# Won in Opportunities
if opp.date_closed:
date_closed = fields.Date.from_string(opp.date_closed)
- if date.today().replace(day=1) <= date_closed <= date.today():
+ if today.replace(day=1) <= date_closed <= today:
if opp.planned_revenue:
result['won']['this_month'] += opp.planned_revenue
- elif date.today() + relativedelta(months=-1, day=1) <= date_closed < date.today().replace(day=1):
+ elif today + relativedelta(months=-1, day=1) <= date_closed < today.replace(day=1):
if opp.planned_revenue:
result['won']['last_month'] += opp.planned_revenue
@@ -980,9 +982,9 @@ class Lead(FormatAddress, models.Model):
for activity in activites_done:
if activity['date']:
date_act = fields.Date.from_string(activity['date'])
- if date.today().replace(day=1) <= date_act <= date.today():
+ if today.replace(day=1) <= date_act <= today:
result['done']['this_month'] += 1
- elif date.today() + relativedelta(months=-1, day=1) <= date_act < date.today().replace(day=1):
+ elif today + relativedelta(months=-1, day=1) <= date_act < today.replace(day=1):
result['done']['last_month'] += 1
# Meetings
@@ -997,9 +999,9 @@ class Lead(FormatAddress, models.Model):
for meeting in meetings:
if meeting['start']:
start = datetime.strptime(meeting['start'], tools.DEFAULT_SERVER_DATETIME_FORMAT).date()
- if start == date.today():
+ if start == today:
result['meeting']['today'] += 1
- if date.today() <= start <= date.today() + timedelta(days=7):
+ if today <= start <= today + timedelta(days=7):
result['meeting']['next_7_days'] += 1
result['done']['target'] = self.env.user.target_sales_done
diff --git a/addons/crm/static/src/js/sales_team_dashboard.js b/addons/crm/static/src/js/sales_team_dashboard.js
index b2bec86a753..2f1df97bbb1 100644
--- a/addons/crm/static/src/js/sales_team_dashboard.js
+++ b/addons/crm/static/src/js/sales_team_dashboard.js
@@ -8,7 +8,7 @@ SalesTeamDashboardView.include({
fetch_data: function() {
return new Model('crm.lead')
- .call('retrieve_sales_dashboard', []);
+ .call('retrieve_sales_dashboard', [], {context: this.session.user_context || {}});
}
});
diff --git a/addons/sale_crm/models/crm_lead.py b/addons/sale_crm/models/crm_lead.py
index 190b07dc686..a55e1ba83b8 100644
--- a/addons/sale_crm/models/crm_lead.py
+++ b/addons/sale_crm/models/crm_lead.py
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from datetime import date
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, _
@@ -31,7 +30,7 @@ class CrmLead(models.Model):
@api.model
def retrieve_sales_dashboard(self):
res = super(CrmLead, self).retrieve_sales_dashboard()
- date_today = date.today()
+ date_today = fields.Date.from_string(fields.Date.context_today(self))
res['invoiced'] = {
'this_month': 0,