From 71d2a97a507dbc87cc66c229b6e5ebaf5bf6bbd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 13 Sep 2013 15:22:34 +0200 Subject: [PATCH] [IMP] mail.compose.message: simplified mass mailing use in composer Only remaining field is mass_mailing_campaign_id; if set, a new segment is automatically created and its id is given to the created mail.mail.statistics using default value in context bzr revid: tde@openerp.com-20130913132234-66vl19w54znky2rc --- .../wizard/mail_compose_message.py | 28 ++++++++----------- .../wizard/mail_compose_message_view.xml | 20 ++----------- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/addons/mass_mailing/wizard/mail_compose_message.py b/addons/mass_mailing/wizard/mail_compose_message.py index 7b22bc8f4aa..dd4aa632a9e 100644 --- a/addons/mass_mailing/wizard/mail_compose_message.py +++ b/addons/mass_mailing/wizard/mail_compose_message.py @@ -28,9 +28,6 @@ class MailComposeMessage(osv.TransientModel): _inherit = 'mail.compose.message' _columns = { - 'use_mass_mailing_campaign': fields.boolean( - 'Use mass mailing campaigns', - ), 'mass_mailing_campaign_id': fields.many2one( 'mail.mass_mailing.campaign', 'Mass mailing campaign', ), @@ -40,22 +37,19 @@ class MailComposeMessage(osv.TransientModel): ), } - _defaults = { - 'use_mass_mailing_campaign': False, - } - - def onchange_mass_mail_campaign_id(self, cr, uid, ids, mass_mailing_campaign_id, mass_mailing_id, context=None): - if mass_mailing_id: - mass_mailing = self.pool['mail.mass_mailing'].browse(cr, uid, mass_mailing_id, context=context) - if mass_mailing.mass_mailing_campaign_id.id == mass_mailing_campaign_id: - return {} - return {'value': {'mass_mailing_id': False}} - def render_message_batch(self, cr, uid, wizard, res_ids, context=None): """ Override method that generated the mail content by adding the mass mailing campaign, when doing pure email mass mailing. """ res = super(MailComposeMessage, self).render_message_batch(cr, uid, wizard, res_ids, context=context) - if wizard.composition_mode == 'mass_mail' and wizard.use_mass_mailing_campaign and wizard.mass_mailing_id: # TODO: which kind of mass mailing ? - for res_id in res_ids: - res[res_id]['mass_mailing_id'] = wizard.mass_mailing_id.id + if wizard.composition_mode == 'mass_mail' and wizard.mass_mailing_campaign_id: # TODO: which kind of mass mailing ? + current_date = fields.datetime.now() + mass_mailing_id = self.pool['mail.mass_mailing'].create( + cr, uid, { + 'mass_mailing_campaign_id': wizard.mass_mailing_campaign_id.id, + 'name': '%s-%s' % (wizard.mass_mailing_campaign_id.name, current_date), + 'date': current_date, + 'domain': wizard.active_domain, + 'template_id': wizard.template_id and wizard.template_id.id or False, + }, context=context) + context['default_mass_mailing_id'] = mass_mailing_id return res diff --git a/addons/mass_mailing/wizard/mail_compose_message_view.xml b/addons/mass_mailing/wizard/mail_compose_message_view.xml index bdd4431a71d..f5dbf57a808 100644 --- a/addons/mass_mailing/wizard/mail_compose_message_view.xml +++ b/addons/mass_mailing/wizard/mail_compose_message_view.xml @@ -9,24 +9,8 @@ - -