diff --git a/addons/mass_mailing/data/mass_mailing_demo.xml b/addons/mass_mailing/data/mass_mailing_demo.xml index 4857c235a98..d6fc5167e45 100644 --- a/addons/mass_mailing/data/mass_mailing_demo.xml +++ b/addons/mass_mailing/data/mass_mailing_demo.xml @@ -69,29 +69,26 @@ Imported Contacts - mail.mass_mailing.contact Customers - res.partner - [('customer', '=', True)] Aristide Antario aa@example.com - + Beverly Bridge bb@example.com - + Carol Cartridge cc@example.com - + @@ -103,13 +100,12 @@ Newsletter - + First Newsletter done - @@ -117,7 +113,6 @@ Second Newsletter test - diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index 5dbbc584785..83bcf267748 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -54,9 +54,10 @@ class MassMailingContact(osv.Model): _columns = { 'name': fields.char('Name'), 'email': fields.char('Email', required=True), + 'create_date': fields.datetime('Create Date'), 'list_id': fields.many2one( 'mail.mass_mailing.list', string='Mailing List', - ondelete='cascade', + ondelete='cascade', required=True, ), 'opt_out': fields.boolean('Opt Out', help='The contact has chosen not to receive mails anymore from this list'), } @@ -104,8 +105,8 @@ class MassMailingCampaign(osv.Model): 'res.users', 'Responsible', required=True, ), - 'category_ids': fields.many2many( - 'mail.mass_mailing.category', 'Categories'), + 'category_ids': fields.many2many('mail.mass_mailing.category', 'mail_mass_amiling_category_rel', + 'category_id', 'campaign_id', string='Categories'), 'mass_mailing_ids': fields.one2many( 'mail.mass_mailing', 'mass_mailing_campaign_id', 'Mass Mailings', @@ -174,8 +175,8 @@ class MassMailing(osv.Model): 'reply_to': fields.char('Reply To'), # Target Emails - 'mailing_model': fields.selection(_get_mailing_model, string='Model', required=True), - 'mailing_domain': fields.char('Domain', required=True), + 'mailing_model': fields.selection(_get_mailing_model, string='Model'), + 'mailing_domain': fields.char('Domain'), 'contact_list_ids': fields.many2many( 'mail.mass_mailing.list', 'mail_mass_mailing_list_rel', string='Mailing Lists', @@ -215,7 +216,6 @@ class MassMailing(osv.Model): def on_change_mailing_model(self, cr, uid, ids, mailing_model, context=None): values = { 'contact_list_ids': [], - 'template_id': False, 'contact_nbr': 0, 'auto_reply_to_available': not mailing_model in self._get_private_models(context), 'reply_in_thread': not mailing_model in self._get_private_models(context), @@ -247,21 +247,6 @@ class MassMailing(osv.Model): ) return {'value': values} - def on_change_template_id(self, cr, uid, ids, template_id, context=None): - values = {} - if template_id: - template = self.pool['email.template'].browse(cr, uid, template_id, context=context) - if template.email_from: - values['email_from'] = template.email_from - if template.reply_to: - values['reply_to'] = template.reply_to - values['body_html'] = template.body_html - else: - values['email_from'] = self.pool['mail.message']._get_default_from(cr, uid, context=context) - values['reply_to'] = False - values['body_html'] = False - return {'value': values} - def on_change_contact_ab_pc(self, cr, uid, ids, contact_ab_pc, contact_nbr, context=None): return {'value': {'contact_ab_nbr': contact_nbr * contact_ab_pc / 100.0}} diff --git a/addons/mass_mailing/views/mass_mailing.xml b/addons/mass_mailing/views/mass_mailing.xml index 7c0280f2c1f..b7d2017666e 100644 --- a/addons/mass_mailing/views/mass_mailing.xml +++ b/addons/mass_mailing/views/mass_mailing.xml @@ -6,7 +6,7 @@ - - + + @@ -38,8 +39,8 @@ 10 - + @@ -100,15 +101,18 @@
- -
- +
+
+
- - - -
@@ -268,35 +272,16 @@ or