Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


How to apply attrs based on assigned groups to logged in user?

Anil R. Kesariya
on 5/13/15, 11:11 PM 1,557 views

Hello everybody,

My Goal is to make field readonly based on assigned group to logged in user.

I want to make few field readonly based on assgined groups to logged in user.

I have tried these two methods to set attrs for perticular field.

For Eg, I want to make readonly field on SO form.

We have user_id field inside SO, so i have applied like this on xml part.

This doesn't  work!

<field name="field name" position="attributes">

<attribute name="attrs">{'readonly':[('group_name','in',[group.id for group in user_id.groups_id])]}</attribute>


This is too does not work!

<field name="field name" position="attributes">-->

<attribute name="attrs">{'readonly':[('group_name','in',[group.id for group in user.groups_id])]}</attribute>


Even we have user_id field inside the model, its give user_id field is not defiend. how?

I have tried to apply the same thing based on_change method too!

Is it possible to set attrs on field using onchange method?

Anyboday has idea about this?

Thanks in advance!




Atchuthan - Technical Consultant, Sodexis Inc

--Atchuthan - Technical Consultant, Sodexis Inc--
| 5 3 8
Puducherry, India
--Atchuthan - Technical Consultant, Sodexis Inc--
Passionate coder in Python/Odoo(formerly known as OpenERP).

Contact me via GMail: atchuthantu@gmail.com via Skype: atchuthan_skype
via Linkedin: http://in.linkedin.com/in/atchuthantu
Atchuthan - Technical Consultant, Sodexis Inc
On 5/14/15, 1:10 AM

You could inherit your FORM view with a particular group access to modify readonly attribute.

Please check the sample code available here 


To add your group:
<field name="groups_id" eval="[(4, ref('MODULE_NAME.GROUP_EXTERNAL_ID'))]"/>

To replace other groups and add your group only: <field name="groups_id" eval="[(6,0,[ref('MODULE_NAME.GROUP_EXTERNAL_ID')])]" />

Thanks for this ans. but this will only set perticuler group to field right? or it will make it readonly that field rest of groups those are not assigned to that field?

Anil R. Kesariya
on 5/14/15, 1:21 AM

Anil R. Kesariya

--Anil R. Kesariya--
| 6 5 8
Gandhinagar, India
--Anil R. Kesariya--
ERP Consultant

Key Skill
Technical & Functional Expert
Anil R. Kesariya
On 5/14/15, 1:10 AM

Hi All,

I found solution to achive this goal.

Created boolean field on backend which set true based on parnter onchange method.

That onchange method will search that current logged in user is belongs to that specific group than it will return true for that boolean.

Based on boolean value i have applied attrs on field to make it readonly.


Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

3 follower(s)


Asked: 5/13/15, 11:11 PM
Seen: 1557 times
Last updated: 8/27/15, 3:02 AM