diff --git a/mail_move_message_models.py b/mail_move_message_models.py index 2b61289..2f78936 100644 --- a/mail_move_message_models.py +++ b/mail_move_message_models.py @@ -154,14 +154,17 @@ class wizard(models.TransientModel): 'target': 'new', 'context': {'default_message_id': message_id}, } + @api.multi def move(self): for r in self: r.check_access() - if r.parent_id: - if not (r.parent_id.model == r.model and - r.parent_id.res_id == r.res_id): - r.parent_id = None + if not r.parent_id or not (r.parent_id.model == r.model and + r.parent_id.res_id == r.res_id): + #link with the first message of record + parent = self.env['mail.message'].search([('model','=',r.model), ('res_id','=',r.res_id)], order='id', limit=1) + r.parent_id = parent.id or None + r.message_id.move(r.parent_id.id, r.res_id, r.model, r.move_back) if not ( r.model and r.res_id ): diff --git a/static/src/js/mail_move_message.js b/static/src/js/mail_move_message.js index acd3b13..a655407 100644 --- a/static/src/js/mail_move_message.js +++ b/static/src/js/mail_move_message.js @@ -76,6 +76,9 @@ openerp.mail_move_message = function (session) { }); pop.on('create_completed', self, function(id) { related_field.set_value(id); + if(self.field_manager.fields['filter_by_partner']) { + self.field_manager.fields['filter_by_partner'].set_value(true); + } }); }); }