Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
9914 มุมมอง

Hi masters.


I have a pdf in a many2many field relate to ir.attachment.

But when a common user try to acces the module, the error appears.

How can I avoid this without adding the user to the admin group?


Thanks in advance!

อวตาร
ละทิ้ง
ผู้เขียน

Theres an issue about this:
https://github.com/odoo/odoo/pull/82111
This is the cause:
"Attachments that are uploaded on a record that isn't saved yet are
created with res_id set to 0. In the case of attachments linked through
a m2m rather than the usual (res_model, res_id), it means they may not
be readable afer the creation of the record, except by their creator.

Re-attaching them to the mailing / template at the end of the create()
call fixes the ownership."

I solved adding this in my custom module:
" @api.model
def create(self, vals):
templates = super(RoomsReservation,self).create(vals)
# fix attachment ownership
for template in templates:
if template.attachment_ids:
template.attachment_ids.write({'res_model': self._name, 'res_id': template.id})
return templates"

ผู้เขียน คำตอบที่ดีที่สุด

Theres an issue about this:
https://github.com/odoo/odoo/pull/82111
This is the cause:
"Attachments that are uploaded on a record that isn't saved yet are
created with res_id set to 0. In the case of attachments linked through
a m2m rather than the usual (res_model, res_id), it means they may not
be readable afer the creation of the record, except by their creator.

Re-attaching them to the mailing / template at the end of the create()
call fixes the ownership."

I solved adding this in my custom module:
" @api.model
def create(self, vals):
templates = super(RoomsReservation,self).create(vals)
# fix attachment ownership
for template in templates:
if template.attachment_ids:
template.attachment_ids.write({'res_model': self._name, 'res_id': template.id})
return templates"

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

I have same issue. I had extend model ir.attachment. And i have an issue, when i try to enter in model which connected many2many to new attachment model. I check solution above, and it works for new records, but it doesn't when i updating records. Can you help me with this? I try to do same on write function of parent model, but it doesn't work either.

like this

`

def write(self, vals):
​for record in self:
​print(record.document_ids)
​record.document_ids.write({'res_model': self._name, 'res_id': record.id})

​return super(Project, self).write(vals)
อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
ก.ค. 24
3962
1
เม.ย. 25
4587
0
ธ.ค. 23
1072
1
ก.พ. 23
2335
0
ก.พ. 23
157