This question has been flagged
2 Replies
8284 Views

Hi, i have a field many2many. I can add records to this field, but i can modify the row and i do not want this.

Anyway to make this records/rows readonly?

Thanks

Avatar
Discard
Author Best Answer

Finally yesterday i solved this way:

in my xml file > many2many field:

<field name="many2many" context="{'form_view_ref':'view.name.form.readonly'}"/>

And my custom view... the only difference with the original is the readonly attrib...

<record model='ir.ui.view' id='identifier'>
        <field name="name">view.name.form.readonly</field>
        <field name="model">model.prueba</field>
        <field name="arch" type="xml">
            <form string="Model" version="7.0">
                <group col="1" name="prueba">
                    <field name="name" readonly="1"/>                        
                    <field name="unidad_de_medida" readonly="1"/>
                    <field name="tipo_de_dato" readonly="1"/>                        
                </group>
            </form>
        </field>
    </record>
Avatar
Discard
Best Answer

Note: The type of field values to pass in vals for relationship fields is specific:

For a many2many field, a list of tuples is expected. Here is the list of tuple that are accepted, with the corresponding semantics

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary (1, ID, { values }) update the linked record with id = ID (write values on it) (2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well) (3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself) (4, ID) link to existing record with id = ID (adds a relationship) (5) unlink all (like using (3,ID) for all linked records) (6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)

Example: [(6, 0, [8, 5, 6, 4])] sets the many2many to ids [8, 5, 6, 4]

Avatar
Discard