I have a many2many field in purchase_order_line, i want to make to make that field as readonly on purchase state only
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
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
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
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up