[REF] mail: same_thread field changed into no_auto_thread, its contrary, to avoid...
authorThibault Delavallée <tde@openerp.com>
Mon, 4 Aug 2014 11:02:42 +0000 (13:02 +0200)
committerThibault Delavallée <tde@openerp.com>
Mon, 4 Aug 2014 12:46:47 +0000 (14:46 +0200)
addons/hr_recruitment/hr_recruitment.py
addons/mail/mail_message.py
addons/mail/tests/test_mail_message.py
addons/mail/wizard/mail_compose_message.py
addons/mail/wizard/mail_compose_message_view.xml
addons/mass_mailing/models/mass_mailing.py

index 4908532..9fe72cc 100644 (file)
@@ -453,7 +453,6 @@ class hr_applicant(osv.Model):
                         'model': self._name,
                         'composition_mode': 'mass_mail',
                         'template_id': stage.template_id.id,
-                        'same_thread': True,
                         'post': True,
                         'notify': True,
                     }, context=compose_ctx)
index b545770..8109e34 100644 (file)
@@ -130,8 +130,8 @@ class mail_message(osv.Model):
             help="Email address of the sender. This field is set when no matching partner is found for incoming emails."),
         'reply_to': fields.char('Reply-To',
             help='Reply email address. Setting the reply_to bypasses the automatic thread creation.'),
-        'same_thread': fields.boolean('Same thread',
-            help='Redirect answers to the same discussion thread.'),
+        'no_auto_thread': fields.boolean('No threading for answers',
+            help='Answers do not go in the original document\' discussion thread. This has an impact on the generated message-id.'),
         'author_id': fields.many2one('res.partner', 'Author', select=1,
             ondelete='set null',
             help="Author of the message. If not set, email_from may hold an email address that did not match any partner."),
@@ -189,7 +189,6 @@ class mail_message(osv.Model):
         'author_id': lambda self, cr, uid, ctx=None: self._get_default_author(cr, uid, ctx),
         'body': '',
         'email_from': lambda self, cr, uid, ctx=None: self._get_default_from(cr, uid, ctx),
-        'same_thread': True,
     }
 
     #------------------------------------------------------
@@ -777,7 +776,7 @@ class mail_message(osv.Model):
         return self.pool['mail.thread'].message_get_reply_to(cr, uid, [res_id], default=email_from, context=ctx)[res_id]
 
     def _get_message_id(self, cr, uid, values, context=None):
-        if values.get('same_thread', True) is False:
+        if values.get('no_auto_thread', False) is True:
             message_id = tools.generate_tracking_message_id('reply_to')
         elif values.get('res_id') and values.get('model'):
             message_id = tools.generate_tracking_message_id('%(res_id)s-%(model)s' % values)
index 40d6786..7bbc9aa 100644 (file)
@@ -90,7 +90,7 @@ class TestMailMessage(TestMail):
         self.registry('ir.config_parameter').unlink(cr, uid, param_ids)
 
         # Do: free message; specified values > default values
-        msg_id = self.mail_message.create(cr, user_raoul_id, {'same_thread': False, 'reply_to': reply_to1, 'email_from': email_from1})
+        msg_id = self.mail_message.create(cr, user_raoul_id, {'no_auto_thread': True, 'reply_to': reply_to1, 'email_from': email_from1})
         msg = self.mail_message.browse(cr, user_raoul_id, msg_id)
         # Test: message content
         self.assertIn('reply_to', msg.message_id,
index 41dc4a9..66f843c 100644 (file)
@@ -248,7 +248,7 @@ class mail_compose_message(osv.TransientModel):
             rendered_values = self.render_message_batch(cr, uid, wizard, res_ids, context=context)
         # compute alias-based reply-to in batch
         reply_to_value = dict.fromkeys(res_ids, None)
-        if mass_mail_mode and wizard.same_thread:
+        if mass_mail_mode and not wizard.no_auto_thread:
             reply_to_value = self.pool['mail.thread'].message_get_reply_to(cr, uid, res_ids, default=wizard.email_from, context=dict(context, thread_model=wizard.model))
 
         for res_id in res_ids:
@@ -274,11 +274,11 @@ class mail_compose_message(osv.TransientModel):
                 email_dict = rendered_values[res_id]
                 mail_values['partner_ids'] += email_dict.pop('partner_ids', [])
                 mail_values.update(email_dict)
-                if wizard.same_thread:
+                if not wizard.no_auto_thread:
                     mail_values.pop('reply_to')
                     if reply_to_value.get(res_id):
                         mail_values['reply_to'] = reply_to_value[res_id]
-                if not wizard.same_thread and not mail_values.get('reply_to'):
+                if wizard.no_auto_thread and not mail_values.get('reply_to'):
                     mail_values['reply_to'] = mail_values['email_from']
                 # mail_mail values: body -> body_html, partner_ids -> recipient_ids
                 mail_values['body_html'] = mail_values.get('body', '')
index 5d358e3..860e106 100644 (file)
                         <field name="notify"
                             attrs="{'invisible':['|', ('composition_mode', '!=', 'mass_post')]}"/>
                         <!-- mass mailing -->
-                        <field name="same_thread" attrs="{'invisible':[('composition_mode', '!=', 'mass_mail')]}"/>
+                        <field name="no_auto_thread" attrs="{'invisible':[('composition_mode', '!=', 'mass_mail')]}"/>
                         <field name="reply_to" placeholder="Email address to redirect replies..."
-                            attrs="{'invisible':['|', ('same_thread', '=', True), ('composition_mode', '!=', 'mass_mail')],
-                                    'required':[('same_thread', '!=', True), ('composition_mode', '=', 'mass_mail')]}"/>
+                            attrs="{'invisible':['|', ('no_auto_thread', '=', False), ('composition_mode', '!=', 'mass_mail')],
+                                    'required':[('no_auto_thread', '=', True), ('composition_mode', '=', 'mass_mail')]}"/>
                     </group>
                     <field name="body"/>
                     <field name="attachment_ids" widget="many2many_binary" string="Attach a file"/>
index ae1a334..b80aa43 100644 (file)
@@ -601,7 +601,7 @@ class MassMailing(osv.Model):
                 'composition_mode': 'mass_mail',
                 'mass_mailing_id': mailing.id,
                 'mailing_list_ids': [(4, l.id) for l in mailing.contact_list_ids],
-                'same_thread': mailing.reply_to_mode == 'thread',
+                'no_auto_thread': mailing.reply_to_mode != 'thread',
             }
             if mailing.reply_to_mode == 'email':
                 composer_values['reply_to'] = mailing.reply_to