From fb4ab9dd0c4559c1e4b0130d4ee9eec746004466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 17 Sep 2013 10:50:03 +0200 Subject: [PATCH] [IMP] mass mailing: improvements : - improved mass mailing wizard creation (everything is showed, better alignment, filter_id required, added default document on Partner) - campaign: o2m is now readonly in form view, added an empty list help bzr revid: tde@openerp.com-20130917085003-yof5gfy68y56ougf --- addons/mass_mailing/mass_mailing_view.xml | 17 ++-- .../mail_mass_mailing_create_segment.py | 15 +++- .../mail_mass_mailing_create_segment.xml | 81 +++++++++++-------- 3 files changed, 70 insertions(+), 43 deletions(-) diff --git a/addons/mass_mailing/mass_mailing_view.xml b/addons/mass_mailing/mass_mailing_view.xml index b7128f8e7dd..bfe02c0ca60 100644 --- a/addons/mass_mailing/mass_mailing_view.xml +++ b/addons/mass_mailing/mass_mailing_view.xml @@ -47,7 +47,7 @@ - + @@ -55,10 +55,8 @@ - - - - + + @@ -203,7 +201,7 @@ - + @@ -289,6 +287,13 @@ mail.mass_mailing.campaign form kanban,tree,form + +

+ Click to define a new mass mailing campaign. +

+ Create a campaign to structure mass mailing and get analysis from email status. +

+
diff --git a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py index 927c34ab5fd..9ea0d8aa1c5 100644 --- a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py +++ b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py @@ -36,8 +36,10 @@ class MailMassMailingCreate(osv.TransientModel): required=True, ), 'model_id': fields.many2one( - 'ir.model', 'Model', + 'ir.model', 'Document', required=True, + help='Document on which the mass mailing will run. This must be a ' + 'valid OpenERP model.', ), 'model_model': fields.related( 'model_id', 'name', @@ -45,7 +47,10 @@ class MailMassMailingCreate(osv.TransientModel): ), 'filter_id': fields.many2one( 'ir.filters', 'Filter', + required=True, domain="[('model_id', '=', model_model)]", + help='Filter to be applied on the document to find the records to be ' + 'mailed.', ), 'domain': fields.related( 'filter_id', 'domain', @@ -56,14 +61,20 @@ class MailMassMailingCreate(osv.TransientModel): domain="[('model_id', '=', model_id)]", ), 'name': fields.char( - 'Name', required=True, + 'Mailing Name', required=True, + help='Name of the mass mailing.', ), 'mass_mailing_id': fields.many2one( 'mail.mass_mailing', 'Mass Mailing', ), } + def _get_default_model_id(self, cr, uid, context=None): + model_ids = self.pool['ir.model'].search(cr, uid, [('model', '=', 'res.partner')], context=context) + return model_ids and model_ids[0] or False + _defaults = { + 'model_id': lambda self, cr, uid, ctx=None: self._get_default_model_id(cr, uid, context=ctx), } def on_change_model_id(self, cr, uid, ids, model_id, context=None): diff --git a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml index a10101e9446..e307bdd8909 100644 --- a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml +++ b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml @@ -11,47 +11,58 @@ -

- Please choose a mass mailing campaign that will hold the new mailing. -

- -

- Please choose a model on which you will run the mass mailing. -

- +