Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
2562 Vizualizări

I have a many2many field in purchase_order_line, i want to make to make that field as readonly on  purchase state only

Imagine profil
Abandonează
Cel mai bun răspuns

Hi

You can use attribute as readonly for make it as readonly 

Try with following code


<record id="purchase_orderline_form" model="ir.ui.view">
<field name="name">sale.orderline.form</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook/page[@name='products']/field[@name='order_line']/tree/field[@name='name']"
position="before">
<field name="product_ids" optional="hide" string="Discount" widget="many2many_tags"
attrs="{'readonly':[('state','=','draft')]}"
/>
</xpath>

</field>
</record>


where product_ids is the many2many field


Regards

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

Python and an XML file can be used to make fields read-only based on states.

Using Python:

We can add attributes to the field which need to be hidden.

field_name = fields.field_type( string = ‘Field Name’, states={‘draft’ : [(‘readonly’, True)]})

Using XML:

We can use attrs to make the field read-only

<field name="field_name" string="Field Name" widget="many2many_tags" attrs="{'readonly':[('state','=','draft')]}"/>


Regards

Imagine profil
Abandonează