Skip to Content
Menu
This question has been flagged
1 Reply
3112 Views

.py file:

....

field_x=fields.Char("Name")

....


in xml file:

....

<name="field_x" groups="A" readonly="1"/>

<name="field_x" groups="B" />  

....

I have tried to set it like this, but group A will see nothing forever even if group B has changed the "field_x";

in the fact I just want to group A can read the "field_x" rather than write it and group B can both read and write it; shall I ?

in addition, I also want to get this effect: once  the "field_x" is filled by something, nobody can edit again. shall I?

Avatar
Discard
Best Answer

You need to create two XML views.  

The first one contains field_x once, and is for the least restrictive permissions - read/write - group B.  

The second one contains field_x once, and is for the most restrictive permissions - read.

Give the second XML view a higher priority than the first, and use the groups tag ON THE VIEW to restrict it just to those in the first group.  You don't need to use the groups tag on the field in either view if you do it this way.

Take a look at res.partner.property.form.inherit which adds new fields to the view - but only for those in the Accounting & Finance group.  You will replace the fields with the read only versions of themselves.

UPDATE:

In Developer Mode:

1. Visit Settings --> Technical --> User Interface --> Views

2. Enter res.partner.property.form.inherit into the search box to find the View.


Avatar
Discard
Author

thanks for your explanation; but I don;t know how to find "res.partner.property.form.inherit"?

could you give me more details about it? for example, which module?which view? like this

Author

thank you