diff --git a/mail_move_message/mail_move_message_models.py b/mail_move_message/mail_move_message_models.py index 603a341..fb545a5 100644 --- a/mail_move_message/mail_move_message_models.py +++ b/mail_move_message/mail_move_message_models.py @@ -87,8 +87,14 @@ class Wizard(models.TransientModel): "You can change default value for this option at Settings/System Parameters") @api.depends('message_id') - @api.one + @api.multi def get_can_move(self): + for r in self: + r.get_can_move_one(self) + + @api.multi + def get_can_move_one(self): + self.ensure_one() # message was not moved before OR message is a top message of previous move self.can_move = not self.message_id.moved_by_message_id or self.message_id.moved_by_message_id.id == self.message_id.id @@ -137,8 +143,14 @@ class Wizard(models.TransientModel): self.res_id = None return {'domain': domain} - @api.one + @api.multi def check_access(self): + for r in self: + r.check_access_one(self) + + @api.multi + def check_access_one(self): + self.ensure_one() operation = 'write' if not (self.model and self.res_id): @@ -194,8 +206,14 @@ class Wizard(models.TransientModel): 'type': 'ir.actions.act_window', } - @api.one + @api.multi def delete(self): + for r in self: + r.delete_one(self) + + @api.multi + def delete_one(self): + self.ensure_one() msg_id = self.message_id.id # Send notification @@ -229,8 +247,14 @@ class Wizard(models.TransientModel): context.update({'default_%s' % contact_field: partner_id}) return context - @api.one + @api.multi def read_close(self): + for r in self: + r.read_close_one(self) + + @api.multi + def read_close_one(self): + self.ensure_one() self.message_id.set_message_done() self.message_id.child_ids.set_message_done() return {'type': 'ir.actions.act_window_close'} @@ -247,8 +271,14 @@ class MailMessage(models.Model): moved_by_user_id = fields.Many2one('res.users', 'Moved by user', ondelete='set null') all_child_ids = fields.One2many('mail.message', string='All childs', compute='_get_all_childs', help='all childs, including subchilds') - @api.one + @api.multi def _get_all_childs(self, include_myself=True): + for r in self: + r._get_all_childs_one(self, include_myself=True) + + @api.multi + def _get_all_childs_one(self, include_myself=True): + self.ensure_one() ids = [] if include_myself: ids.append(self.id) @@ -270,8 +300,14 @@ class MailMessage(models.Model): for f in followers: self.env[model].browse(ids).message_subscribe([f.partner_id.id], [s.id for s in f.subtype_ids]) - @api.one + @api.multi def move(self, parent_id, res_id, model, move_back, move_followers=False): + for r in self: + r.move_one(self, parent_id, res_id, model, move_back, move_followers=False) + + @api.multi + def move_one(self, parent_id, res_id, model, move_back, move_followers=False): + self.ensure_one() if parent_id == res_id: return vals = {} diff --git a/mail_to/static/src/js/mail_to.js b/mail_to/static/src/js/mail_to.js index 1667a64..502df14 100644 --- a/mail_to/static/src/js/mail_to.js +++ b/mail_to/static/src/js/mail_to.js @@ -8,7 +8,7 @@ odoo.define('mail_to.MailTo', function (require) { var msg = this._super(data); msg.partner_ids = data.partner_ids; if (!msg.partner_ids) - return msg + return msg; var more_recipients = ''; // value which define more recipients diff --git a/mass_mailing_extra/models.py b/mass_mailing_extra/models.py index 0dadfea..df808f0 100644 --- a/mass_mailing_extra/models.py +++ b/mass_mailing_extra/models.py @@ -8,8 +8,14 @@ class MailMailStats(models.Model): partner_ids = fields.Many2many('res.partner', related='mail_mail_id.recipient_ids', string='Partners (Mail)') - @api.one + @api.multi def _get_partner_id(self): + for r in self: + r._get_partner_id_one(self) + + @api.multi + def _get_partner_id_one(self): + self.ensure_one() if self.model == 'res.partner': self.partner_id = self.res_id else: @@ -17,8 +23,14 @@ class MailMailStats(models.Model): partner_id = fields.Many2one('res.partner', compute=_get_partner_id, string='Partner (Document ID)') - @api.one + @api.multi def _get_partners(self): + for r in self: + r._get_partners_one(self) + + @api.multi + def _get_partners_one(self): + self.ensure_one() res = {} for p in self.partner_ids: res[p.id] = p diff --git a/res_partner_mails_count/models.py b/res_partner_mails_count/models.py index 4fad23e..074e245 100644 --- a/res_partner_mails_count/models.py +++ b/res_partner_mails_count/models.py @@ -8,12 +8,24 @@ class ResPartner(models.Model): mails_to = fields.Integer(compute="_mails_to") mails_from = fields.Integer(compute="_mails_from") - @api.one + @api.multi def _mails_to(self): + for r in self: + r._mails_to_one(self) + + @api.multi + def _mails_to_one(self): + self.ensure_one() for r in self: r.mails_to = self.env['mail.message'].sudo().search_count([('partner_ids', 'in', r.id)]) - @api.one + @api.multi def _mails_from(self): + for r in self: + r._mails_from_one(self) + + @api.multi + def _mails_from_one(self): + self.ensure_one() for r in self: r.mails_from = self.env['mail.message'].sudo().search_count([('author_id', '=', r.id)]) diff --git a/res_partner_strip_email/models.py b/res_partner_strip_email/models.py index d2406fe..5713c79 100644 --- a/res_partner_strip_email/models.py +++ b/res_partner_strip_email/models.py @@ -7,8 +7,14 @@ from openerp import models class ResPartnerStripEmail(models.Model): _inherit = 'res.partner' - @api.one + @api.multi def write(self, vals): + for r in self: + r.write_one(self, vals) + + @api.multi + def write_one(self, vals): + self.ensure_one() vals = self._check_email_field(vals) return super(ResPartnerStripEmail, self).write(vals)