Skip to content
Snippets Groups Projects
Commit 9043305f authored by XavierDo's avatar XavierDo
Browse files

[FIX] mail: verify attachment access early to avoid errors later

parent 6639630d
Branches
Tags
No related merge requests found
......@@ -62,7 +62,18 @@ class MailMail(models.Model):
values['notification'] = True
if not values.get('mail_message_id'):
self = self.with_context(message_create_from_mail_mail=True)
return super(MailMail, self).create(values)
new_mail = super(MailMail, self).create(values)
if values.get('attachment_ids'):
new_mail.attachment_ids.check(mode='read')
return new_mail
@api.multi
def write(self, vals):
res = super(MailMail, self).write(vals)
if vals.get('attachment_ids'):
for mail in self:
mail.attachment_ids.check(mode='read')
return res
@api.multi
def unlink(self):
......
......@@ -742,6 +742,10 @@ class Message(models.Model):
# delegate creation of tracking after the create as sudo to avoid access rights issues
tracking_values_cmd = values.pop('tracking_value_ids', False)
message = super(Message, self).create(values)
if values.get('attachment_ids'):
message.attachment_ids.check(mode='read')
if tracking_values_cmd:
message.sudo().write({'tracking_value_ids': tracking_values_cmd})
......@@ -764,6 +768,9 @@ class Message(models.Model):
if 'model' in vals or 'res_id' in vals:
self._invalidate_documents()
res = super(Message, self).write(vals)
if vals.get('attachment_ids'):
for mail in self:
mail.attachment_ids.check(mode='read')
self._invalidate_documents()
return res
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment