[FIX] account_analytic_analysis contract remind send a link

bzr revid: al@openerp.com-20130218174548-ct6wwed6plcvdilo
This commit is contained in:
al@openerp.com 2013-02-18 18:45:48 +01:00
commit a899c8087b
2 changed files with 11 additions and 3 deletions

View File

@ -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

View File

@ -4,14 +4,14 @@
<record id="account_analytic_cron_email_template" model="email.template">
<field name="name">Contract expiration reminder</field>
<field name="email_from">${user.email or ''}</field>
<field name="email_from">${object.email or ''}</field>
<field name="subject">Contract expiration reminder ${user.company_id.name}</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
Hello ${user.name},
Hello ${object.name},
% macro account_table(values):
<table cellspacing="1" border="1" cellpadding="4">
@ -26,7 +26,7 @@ Hello ${user.name},
% for account in accounts:
<tr>
<td>${partner.name}</td>
<td>${account.name}</td>
<td><a href="${ctx["base_url"]}/#action=${ctx["action_id"]}&id=${account.id}&view_type=form">${account.name}</a></td>
<td>${account.date_start} to ${account.date and account.date or '???'}</td>
<td>
% if account.quantity_max != 0.0: