diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 2f996e00579..bdc01a8781b 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -1,15 +1,13 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import pytz -from datetime import datetime, timedelta, date +from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta import logging from operator import itemgetter -from werkzeug import url_encode from openerp import SUPERUSER_ID -from openerp import tools, api +from openerp import tools, api, fields as newfields from openerp.addons.base.res.res_partner import format_address from openerp.addons.crm import crm_stage from openerp.osv import fields, osv @@ -1106,14 +1104,7 @@ Update your business card, phone book, social media,... Send an email right now return res def retrieve_sales_dashboard(self, cr, uid, context=None): - date_today = date.today() - # We imitate here what the JS search does in the user's browser: - # retrieve the user's local date - if context and context.get('tz'): - user_tz = pytz.timezone(context['tz']) - now_utc = pytz.utc.localize(datetime.now()) - now_user_tz = now_utc.astimezone(user_tz) - date_today = date(now_user_tz.year, now_user_tz.month, now_user_tz.day) + date_today = newfields.Date.from_string(fields.date.context_today(self, cr, uid, context=context)) res = { 'meeting': { diff --git a/addons/sale_crm/crm_lead.py b/addons/sale_crm/crm_lead.py index 77c05f1be2b..d8fd0493960 100644 --- a/addons/sale_crm/crm_lead.py +++ b/addons/sale_crm/crm_lead.py @@ -1,8 +1,8 @@ -from openerp import models, fields, api, _, tools -from datetime import datetime, date +from openerp import models, fields, api, tools +from openerp.osv import fields as oldfields +from datetime import datetime from dateutil.relativedelta import relativedelta -import openerp.addons.decimal_precision as dp class crm_lead(models.Model): _inherit = ['crm.lead'] @@ -28,6 +28,8 @@ class crm_lead(models.Model): def retrieve_sales_dashboard(self, cr, uid, context=None): res = super(crm_lead, self).retrieve_sales_dashboard(cr, uid, context=None) + today = fields.Date.from_string(oldfields.date.context_today(self, cr, uid, context=context)) + res['invoiced'] = { 'this_month': 0, 'last_month': 0, @@ -35,7 +37,7 @@ class crm_lead(models.Model): account_invoice_domain = [ ('state', 'in', ['open', 'paid']), ('user_id', '=', uid), - ('date', '>=', date.today().replace(day=1) - relativedelta(months=+1)), + ('date', '>=', today.replace(day=1) - relativedelta(months=+1)), ('type', 'in', ['out_invoice', 'out_refund']) ] @@ -43,9 +45,9 @@ class crm_lead(models.Model): for inv in invoice_ids: if inv['date']: inv_date = datetime.strptime(inv['date'], tools.DEFAULT_SERVER_DATE_FORMAT).date() - if inv_date <= date.today() and inv_date >= date.today().replace(day=1): + if inv_date <= today and inv_date >= today.replace(day=1): res['invoiced']['this_month'] += inv['amount_untaxed_signed'] - elif inv_date < date.today().replace(day=1) and inv_date >= date.today().replace(day=1) - relativedelta(months=+1): + elif inv_date < today.replace(day=1) and inv_date >= today.replace(day=1) - relativedelta(months=+1): res['invoiced']['last_month'] += inv['amount_untaxed_signed'] res['invoiced']['target'] = self.pool('res.users').browse(cr, uid, uid, context=context).target_sales_invoiced