Revert "[FIX] mail: remove attachment as main at unlink"
This reverts commit abc45b1
Since by default the ondelete attribute of a many2one is `set null`,
this was completely unnecessary to begin with.
Bug caused by this commit:
Unlink a record that has some attachments.
The unlink first removes the record, then its related attachments.
It calls remove_as_main_attachment, which reads the attachment res_model and
res_id. This triggers a check that the related record can be read.
However the related record has already been removed, an exception is raised.
It is thus impossible to unlink a record.
Closes #32563
closes odoo/odoo#32572
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
This commit is contained in:
@@ -15,19 +15,6 @@ class IrAttachment(models.Model):
|
||||
for record in self:
|
||||
record.register_as_main_attachment(force=False)
|
||||
|
||||
@api.multi
|
||||
def unlink(self):
|
||||
self.remove_as_main_attachment()
|
||||
super(IrAttachment, self).unlink()
|
||||
|
||||
@api.multi
|
||||
def remove_as_main_attachment(self):
|
||||
for attachment in self:
|
||||
related_record = self.env[attachment.res_model].browse(attachment.res_id)
|
||||
if related_record and hasattr(related_record, 'message_main_attachment_id'):
|
||||
if related_record.message_main_attachment_id == attachment:
|
||||
related_record.message_main_attachment_id = False
|
||||
|
||||
def register_as_main_attachment(self, force=True):
|
||||
""" Registers this attachment as the main one of the model it is
|
||||
attached to.
|
||||
|
||||
Reference in New Issue
Block a user