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

I have a model like :

class Mymodel(models.model):
_name= mymodel
field_1 = fields.char()
field_2 = fields.char()
field_3 = fields.char()

And i have 2 groups say group1 and group2 . group1 users can only read field_1 and field_2 

but can modify field_3 . group2 users can edit field_1 only , other fields only read permission . 

How to achieve this.

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

Hi  ​T Ketaki Debadarshini,

You can achieve this by using following code

In Python

from lxml import etree


@api.model
def fields_view_get(self, view_id='you_form_view_id', view_type='form', toolbar=False, submenu=False):
res = super(ClassName, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar,
submenu=submenu)
doc = etree.XML(res['arch'])
if self.env.user.has_group('group1'):
for node in doc.xpath("//field[@name='field1']"):
node.set('modifiers', '{"readonly": true}')
for node in doc.xpath("//field[@name='field2']"):
node.set('modifiers', '{"readonly": true}')
elif self.env.user.has_group('group2'):
for node in doc.xpath("//field[@name='field2']"):
node.set('modifiers', '{"readonly": true}')
for node in doc.xpath("//field[@name='field3']"):
node.set('modifiers', '{"readonly": true}')
res['arch'] = etree.tostring(doc)
return res





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

Thank you Gokulakrishnan Murugesan.. It worked. :)

Related Posts ตอบกลับ มุมมอง กิจกรรม
Group access permissings wrong แก้ไขแล้ว
1
ก.พ. 23
2315
2
ก.ย. 19
4387
2
ก.ค. 23
5507
Show buttons only to users in a group แก้ไขแล้ว
3
ม.ค. 24
12602
2
มี.ค. 25
5692