diff options
| author | Thibault Delavallée <tde@openerp.com> | 2013-09-13 15:22:34 +0200 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2013-09-13 15:22:34 +0200 |
| commit | 71d2a97a507dbc87cc66c229b6e5ebaf5bf6bbd8 (patch) | |
| tree | e81b5bb324cdb246d4e7920938c147207c0fccc3 | |
| parent | 7b75c481d637812e96587bc2e744d4a1c4454be7 (diff) | |
[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
| -rw-r--r-- | addons/mass_mailing/wizard/mail_compose_message.py | 28 | ||||
| -rw-r--r-- | addons/mass_mailing/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 @@ <field name="inherit_id" ref="mail.email_compose_message_wizard_form"/> <field name="arch" type="xml"> <xpath expr="//field[@name='notify']" position="after"> - <field name="use_mass_mailing_campaign" - attrs="{'invisible': [('composition_mode', '!=', 'mass_mail')]}"/> - <label for="mass_mailing_campaign_id" string=" "/> - <div> - <group> - <field name="mass_mailing_campaign_id" - on_change="onchange_mass_mail_campaign_id(mass_mailing_campaign_id, mass_mailing_id, context)" - attrs="{'invisible': ['|', ('composition_mode', '!=', 'mass_mail'), ('use_mass_mailing_campaign', '=', False)], - 'required': [('composition_mode', '=', 'mass_mail'), ('use_mass_mailing_campaign', '=', True)]}"/> - <field name="mass_mailing_id" - attrs="{'invisible': ['|', ('composition_mode', '!=', 'mass_mail'), ('use_mass_mailing_campaign', '=', False)], - 'required': [('composition_mode', '=', 'mass_mail'), ('use_mass_mailing_campaign', '=', True)]}" - context="{'default_mass_mailing_campaign_id': mass_mailing_campaign_id, - 'default_template_id': template_id, - 'default_domain': active_domain, - 'form_view_ref': 'mass_mailing.view_mail_mass_mailing_form_readonly'}"/> - </group> - </div> + <field name="mass_mailing_campaign_id" + attrs="{'invisible': [('composition_mode', '!=', 'mass_mail')]}"/> </xpath> </field> </record> |
