[FIX] email_template: change name value and concat test
bzr revid: chm@openerp.com-20121107113925-1nmjicj444nez25c
This commit is contained in:
parent
11f9b954d2
commit
42dd7711b5
|
@ -40,8 +40,7 @@
|
|||
<field name="name">Automated Invoice Notification Mail</field>
|
||||
<field name="email_from">${object.user_id.email or object.company_id.email or 'noreply@localhost'}</field>
|
||||
<field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })</field>
|
||||
<field name="email_to">${object.partner_id.email or ''}</field>
|
||||
<field name="email_to_partner">${object.partner_id.id}</field>
|
||||
<field name="email_recipients">${object.partner_id.id}</field>
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
|
|
|
@ -118,8 +118,8 @@ class email_template(osv.osv):
|
|||
"of the message"),
|
||||
'subject': fields.char('Subject', translate=True, help="Subject (placeholders may be used here)",),
|
||||
'email_from': fields.char('From', help="Sender address (placeholders may be used here)"),
|
||||
'email_to': fields.char('To', help="Comma-separated recipient addresses (placeholders may be used here)"),
|
||||
'email_to_partner': fields.char('To partner', help="Comma-separated recipient id partner (placeholders may be used here)"),
|
||||
'email_to': fields.char('To (Emails)', help="Comma-separated recipient addresses (placeholders may be used here)"),
|
||||
'email_recipients': fields.char('To (Partners)', help="Comma-separated ids of recipient partners (placeholders may be used here)"),
|
||||
'email_cc': fields.char('Cc', help="Carbon copy recipients (placeholders may be used here)"),
|
||||
'reply_to': fields.char('Reply-To', help="Preferred response address (placeholders may be used here)"),
|
||||
'mail_server_id': fields.many2one('ir.mail_server', 'Outgoing Mail Server', readonly=False,
|
||||
|
@ -287,7 +287,7 @@ class email_template(osv.osv):
|
|||
template = self.get_email_template(cr, uid, template_id, res_id, context)
|
||||
values = {}
|
||||
for field in ['subject', 'body_html', 'email_from',
|
||||
'email_to', 'email_to_partner', 'email_cc', 'reply_to']:
|
||||
'email_to', 'email_recipients', 'email_cc', 'reply_to']:
|
||||
values[field] = self.render_template(cr, uid, getattr(template, field),
|
||||
template.model, res_id, context=context) \
|
||||
or False
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<group string="Addressing">
|
||||
<field name="email_from" required="1"/>
|
||||
<field name="email_to"/>
|
||||
<field name="email_to_partner"/>
|
||||
<field name="email_recipients"/>
|
||||
<field name="email_cc"/>
|
||||
<field name="reply_to"/>
|
||||
<field name="user_signature"/>
|
||||
|
|
|
@ -172,20 +172,18 @@ class test_message_compose(test_mail.TestMailMockups):
|
|||
self.assertEqual(set(message_bird_pids), set(partner_ids), 'mail.message on bird notified_partner_ids incorrect')
|
||||
|
||||
|
||||
def test_10_template_email_for_composer(self):
|
||||
""" Tests designed for message_post. """
|
||||
cr, uid = self.cr, self.uid
|
||||
# ----------------------------------------
|
||||
# CASE4: Created message with template, test recipients
|
||||
# ----------------------------------------
|
||||
|
||||
# 1 - Bert Tartopoils, with email, object to send message, add his partner_id from email_to
|
||||
u_a_id = self.res_users.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'raoul@raoul.fr', 'login': 'raoul'})
|
||||
p_a_id = self.res_users.browse(cr, uid, u_a_id).partner_id.id
|
||||
# 2 - Carine Poilvache, with email, add his partner_id from email_to and email_to_partner
|
||||
# 1 - Admin, with email, object to send message, add his partner_id from email_to
|
||||
# p_a_id
|
||||
# 2 - Carine Poilvache, with email, add his partner_id from email_to and email_recipients
|
||||
p_b_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c'})
|
||||
# 3 - Dédé Grosbedon, without email, add his partner_id from email_to_partner
|
||||
# 3 - Dédé Grosbedon, without email, add his partner_id from email_recipients
|
||||
p_c_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon'})
|
||||
# 4 - Truc Much, without email, add his partner_id from email_cc
|
||||
p_d_id = self.res_partner.create(cr, uid, {'name': 'Truc Much', 'email': 'd@d'})
|
||||
|
||||
# Create template on res.users
|
||||
user_model_id = self.registry('ir.model').search(cr, uid, [('model', '=', 'res.users')])[0]
|
||||
self.email_template_id = self.email_template.create(cr, uid, {
|
||||
|
@ -194,15 +192,12 @@ class test_message_compose(test_mail.TestMailMockups):
|
|||
'subject': '${object.name}',
|
||||
'body_html': '${object.login}',
|
||||
'email_to': '${object.email} c@c',
|
||||
'email_to_partner': '%i,%i' % (p_b_id, p_c_id),
|
||||
'email_recipients': '%i,%i' % (p_b_id, p_c_id),
|
||||
'email_cc': 'd@d'
|
||||
})
|
||||
|
||||
# patner by email + partner by id (no double)
|
||||
send_to = [p_a_id, p_b_id, p_c_id, p_d_id];
|
||||
|
||||
# Generate messsage with default email and partner on template
|
||||
mail_value = self.mail_compose.generate_email_for_composer(cr, uid, self.email_template_id, u_a_id)
|
||||
mail_value['partner_ids'].sort()
|
||||
|
||||
self.assertEqual(mail_value['partner_ids'], send_to, 'mail.message the partner_ids list create by template is incorrect')
|
||||
self.assertEqual(set(mail_value['partner_ids']), set(send_to), 'mail.message the partner_ids list create by template is incorrect')
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<group>
|
||||
<field name="email_from" readonly="1"/>
|
||||
<field name="email_to" readonly="1"/>
|
||||
<field name="email_to_partner" readonly="1"/>
|
||||
<field name="email_recipients" readonly="1"/>
|
||||
<field name="email_cc" readonly="1" attrs="{'invisible':[('email_cc','=',False)]}"/>
|
||||
<field name="reply_to" readonly="1" attrs="{'invisible':[('reply_to','=',False)]}"/>
|
||||
<field name="subject" readonly="1"/>
|
||||
|
|
|
@ -148,7 +148,7 @@ class mail_compose_message(osv.TransientModel):
|
|||
mail.compose.message, transform email_cc and email_to into partner_ids """
|
||||
template_values = self.pool.get('email.template').generate_email(cr, uid, template_id, res_id, context=context)
|
||||
# filter template values
|
||||
fields = ['body', 'body_html', 'subject', 'email_to', 'email_to_partner', 'email_cc', 'attachments']
|
||||
fields = ['body', 'body_html', 'subject', 'email_to', 'email_recipients', 'email_cc', 'attachments']
|
||||
values = dict((field, template_values[field]) for field in fields if template_values.get(field))
|
||||
values['body'] = values.pop('body_html', '')
|
||||
# transform email_to, email_cc into partner_ids
|
||||
|
@ -159,7 +159,7 @@ class mail_compose_message(osv.TransientModel):
|
|||
partner_id = self.pool.get('res.partner').find_or_create(cr, uid, mail, context=context)
|
||||
values['partner_ids'].append(partner_id)
|
||||
|
||||
partner_ids = values.pop('email_to_partner', '').split(',')
|
||||
partner_ids = values.pop('email_recipients', '').split(',')
|
||||
for partner_id in partner_ids:
|
||||
if partner_id:
|
||||
values['partner_ids'].append(int(partner_id))
|
||||
|
|
|
@ -40,8 +40,7 @@
|
|||
<field name="name">Automated Purchase Order Notification Mail</field>
|
||||
<field name="email_from">${object.validator.email or ''}</field>
|
||||
<field name="subject">${object.company_id.name} Order (Ref ${object.name or 'n/a' })</field>
|
||||
<field name="email_to">${object.partner_id.email or ''}</field>
|
||||
<field name="email_to_partner">${object.partner_id.id}</field>
|
||||
<field name="email_recipients">${object.partner_id.id}</field>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
|
|
Loading…
Reference in New Issue