diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index ddd937644b0..708c4b56629 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -19,6 +19,7 @@ # ############################################################################## import datetime +import logging import time from openerp.osv import osv, fields @@ -28,6 +29,7 @@ from openerp.tools.translate import _ from openerp.addons.decimal_precision import decimal_precision as dp +_logger = logging.getLogger(__name__) class account_analytic_account(osv.osv): _name = "account.analytic.account" @@ -488,6 +490,8 @@ class account_analytic_account(osv.osv): return res def cron_account_analytic_account(self, cr, uid, context=None): + if context is None: + context = {} remind = {} def fill_remind(key, domain, write_pending=False): @@ -498,6 +502,7 @@ class account_analytic_account(osv.osv): ('manager_id.email', '!=', False), ] base_domain.extend(domain) + accounts_ids = self.search(cr, uid, base_domain, context=context, order='name asc') accounts = self.browse(cr, uid, accounts_ids, context=context) for account in accounts: @@ -516,9 +521,12 @@ class account_analytic_account(osv.osv): # Expires in less than 30 days fill_remind("future", [('state', 'in', ['draft', 'open']), ('date', '!=', False), ('date', '<', (datetime.datetime.now() + datetime.timedelta(30)).strftime("%Y-%m-%d"))]) + context['base_url'] = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') + context['action_id'] = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'action_account_analytic_overdue_all')[1] template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'account_analytic_cron_email_template')[1] for user_id, data in remind.items(): context["data"] = data + _logger.debug("Sending reminder to uid %s", user_id) self.pool.get('email.template').send_mail(cr, uid, template_id, user_id, context=context) return True diff --git a/addons/account_analytic_analysis/account_analytic_analysis_cron.xml b/addons/account_analytic_analysis/account_analytic_analysis_cron.xml index 39da3caa0a3..3264facdf89 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_cron.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_cron.xml @@ -4,14 +4,14 @@ Contract expiration reminder - ${user.email or ''} + ${object.email or ''} Contract expiration reminder ${user.company_id.name} ${object.email} ${object.lang} @@ -26,7 +26,7 @@ Hello ${user.name}, % for account in accounts: ${partner.name} - ${account.name} + ${account.name} ${account.date_start} to ${account.date and account.date or '???'} % if account.quantity_max != 0.0: