summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/wizard/mail_compose_message.py
diff options
context:
space:
mode:
authorKeyur Gajjar <kga@odoo.com>2016-06-15 15:03:04 +0200
committerYannick Tivisse <yti@odoo.com>2016-06-17 11:23:12 +0200
commitbbca13541053a3ac35ac2ec340b843205117468a (patch)
treec8abe4782bdcfcb084b60068615da7204f99d95b /addons/mass_mailing/wizard/mail_compose_message.py
parent1467689edf44e3392ea3b195008faec96a3c4d0e (diff)
[MIG] mass_mailing: code migration to new api
NB: A controller in website_mass_mailing has been migrated too. It's not a real issue as this module will also be migrated in the days to come
Diffstat (limited to 'addons/mass_mailing/wizard/mail_compose_message.py')
-rw-r--r--addons/mass_mailing/wizard/mail_compose_message.py65
1 files changed, 28 insertions, 37 deletions
diff --git a/addons/mass_mailing/wizard/mail_compose_message.py b/addons/mass_mailing/wizard/mail_compose_message.py
index de480f455c4..82566623d19 100644
--- a/addons/mass_mailing/wizard/mail_compose_message.py
+++ b/addons/mass_mailing/wizard/mail_compose_message.py
@@ -1,59 +1,50 @@
# -*- coding: utf-8 -*-
-from openerp.osv import osv, fields
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import api, fields, models
-class MailComposeMessage(osv.TransientModel):
+class MailComposeMessage(models.TransientModel):
"""Add concept of mass mailing campaign to the mail.compose.message wizard
"""
_inherit = 'mail.compose.message'
- _columns = {
- 'mass_mailing_campaign_id': fields.many2one(
- 'mail.mass_mailing.campaign', 'Mass Mailing Campaign'
- ),
- 'mass_mailing_id': fields.many2one(
- 'mail.mass_mailing', 'Mass Mailing', ondelete='cascade'
- ),
- 'mass_mailing_name': fields.char('Mass Mailing'),
- 'mailing_list_ids': fields.many2many(
- 'mail.mass_mailing.list', string='Mailing List'
- ),
- }
+ mass_mailing_campaign_id = fields.Many2one('mail.mass_mailing.campaign', string='Mass Mailing Campaign')
+ mass_mailing_id = fields.Many2one('mail.mass_mailing', string='Mass Mailing', ondelete='cascade')
+ mass_mailing_name = fields.Char(string='Mass Mailing')
+ mailing_list_ids = fields.Many2many('mail.mass_mailing.list', string='Mailing List')
- def get_mail_values(self, cr, uid, ids, res_ids, context=None):
+ @api.multi
+ def get_mail_values(self, res_ids):
""" Override method that generated the mail content by creating the
mail.mail.statistics values in the o2m of mail_mail, when doing pure
email mass mailing. """
- res = super(MailComposeMessage, self).get_mail_values(cr, uid, ids, res_ids, context=context)
- # TDE: arg was wiards, not ids - but new API -> multi with ensure_one
- wizard = self.browse(cr, uid, ids[0], context=context)
+ self.ensure_one()
+ res = super(MailComposeMessage, self).get_mail_values(res_ids)
# use only for allowed models in mass mailing
- if wizard.composition_mode == 'mass_mail' and \
- (wizard.mass_mailing_name or wizard.mass_mailing_id) and \
- wizard.model in [item[0] for item in self.pool['mail.mass_mailing']._get_mailing_model(cr, uid, context=context)]:
- mass_mailing = wizard.mass_mailing_id
+ if self.composition_mode == 'mass_mail' and \
+ (self.mass_mailing_name or self.mass_mailing_id) and \
+ self.model in [item[0] for item in self.env['mail.mass_mailing']._get_mailing_model()]:
+ mass_mailing = self.mass_mailing_id
if not mass_mailing:
- reply_to_mode = wizard.no_auto_thread and 'email' or 'thread'
- reply_to = wizard.no_auto_thread and wizard.reply_to or False
- mass_mailing_id = self.pool['mail.mass_mailing'].create(
- cr, uid, {
- 'mass_mailing_campaign_id': wizard.mass_mailing_campaign_id and wizard.mass_mailing_campaign_id.id or False,
- 'name': wizard.mass_mailing_name,
- 'template_id': wizard.template_id and wizard.template_id.id or False,
+ reply_to_mode = 'email' if self.no_auto_thread else 'thread'
+ reply_to = self.reply_to if self.no_auto_thread else False
+ mass_mailing = self.env['mail.mass_mailing'].create({
+ 'mass_mailing_campaign_id': self.mass_mailing_campaign_id.id,
+ 'name': self.mass_mailing_name,
+ 'template_id': self.template_id.id,
'state': 'done',
'reply_to_mode': reply_to_mode,
'reply_to': reply_to,
- 'sent_date': fields.datetime.now(),
- 'body_html': wizard.body,
- 'mailing_model': wizard.model,
- 'mailing_domain': wizard.active_domain,
- }, context=context)
- mass_mailing = self.pool['mail.mass_mailing'].browse(cr, uid, mass_mailing_id, context=context)
+ 'sent_date': fields.Datetime.now(),
+ 'body_html': self.body,
+ 'mailing_model': self.model,
+ 'mailing_domain': self.active_domain,
+ })
for res_id in res_ids:
res[res_id].update({
- 'mailing_id': mass_mailing.id,
+ 'mailing_id': mass_mailing.id,
'statistics_ids': [(0, 0, {
- 'model': wizard.model,
+ 'model': self.model,
'res_id': res_id,
'mass_mailing_id': mass_mailing.id,
})],