Dynamic form elements using attrs
So far, we have only looked into changing forms depending on the user's groups (the groups attribute on elements and the groups_id field on inherited views) and nothing more. This recipe will show you how to modify the form view based on the value of the fields in it.
How to do it...
- Define an attribute called
attrson a form element:<field name="parent_id" attrs="{ 'invisible': [('is_company', '=', True)], 'required': [('is_company', '=', False)] }" /> - Ensure that all the fields you refer to are available in your form:
<field name="is_company"/>
This will make the parent_id field invisible if the partner is a company and required if it's not a company.
How it works...
The attrs attribute contains a dictionary with invisible, required, and readonly keys (all of which are optional). The values are domains that...