1 # -*- coding: utf-8 -*-
3 from openerp.osv import osv, fields
6 class MailComposeMessage(osv.TransientModel):
7 """Add concept of mass mailing campaign to the mail.compose.message wizard
9 _inherit = 'mail.compose.message'
12 'mass_mailing_campaign_id': fields.many2one(
13 'mail.mass_mailing.campaign', 'Mass Mailing Campaign',
15 'mass_mailing_id': fields.many2one(
16 'mail.mass_mailing', 'Mass Mailing'
18 'mass_mailing_name': fields.char('Mass Mailing'),
19 'mailing_list_ids': fields.many2many(
20 'mail.mass_mailing.list', string='Mailing List'
24 def get_mail_values(self, cr, uid, wizard, res_ids, context=None):
25 """ Override method that generated the mail content by creating the
26 mail.mail.statistics values in the o2m of mail_mail, when doing pure
27 email mass mailing. """
28 res = super(MailComposeMessage, self).get_mail_values(cr, uid, wizard, res_ids, context=context)
29 # use only for allowed models in mass mailing
30 if wizard.composition_mode == 'mass_mail' and \
31 (wizard.mass_mailing_name or wizard.mass_mailing_id) and \
32 wizard.model in [item[0] for item in self.pool['mail.mass_mailing']._get_mailing_model(cr, uid, context=context)]:
33 mass_mailing = wizard.mass_mailing_id
35 mass_mailing_id = self.pool['mail.mass_mailing'].create(
37 'mass_mailing_campaign_id': wizard.mass_mailing_campaign_id and wizard.mass_mailing_campaign_id.id or False,
38 'name': wizard.mass_mailing_name,
39 'template_id': wizard.template_id and wizard.template_id.id or False,
41 'mailing_type': wizard.model,
42 'mailing_domain': wizard.active_domain,
44 mass_mailing = self.pool['mail.mass_mailing'].browse(cr, uid, mass_mailing_id, context=context)
45 for res_id in res_ids:
47 'mailing_id': mass_mailing.id,
48 'statistics_ids': [(0, 0, {
49 'model': wizard.model,
51 'mass_mailing_id': mass_mailing.id,
53 # email-mode: keep original message for routing
54 'notification': mass_mailing.reply_to_mode == 'thread',