summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2013-09-13 15:22:34 +0200
committerThibault Delavallée <tde@openerp.com>2013-09-13 15:22:34 +0200
commit71d2a97a507dbc87cc66c229b6e5ebaf5bf6bbd8 (patch)
treee81b5bb324cdb246d4e7920938c147207c0fccc3 /addons
parent7b75c481d637812e96587bc2e744d4a1c4454be7 (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
Diffstat (limited to 'addons')
-rw-r--r--addons/mass_mailing/wizard/mail_compose_message.py28
-rw-r--r--addons/mass_mailing/wizard/mail_compose_message_view.xml20
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>