Se rendre au contenu
Menu
Cette question a été signalée
2 Réponses
2554 Vues

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

Avatar
Ignorer
Meilleure réponse

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

Avatar
Ignorer
Meilleure réponse

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

Avatar
Ignorer