Skip to Content
Menu
This question has been flagged
3 Replies
7431 Views

I have requirement of modifying sale order workflow. I have added extras state in sale.order class. I want fields to be editable in form on those states. Following is the way we put states parameter in field.

states={'draft': [('readonly', False)], 'sent': [('readonly', False)],'newstate1' : [('readonly', False)]} 

I don't want to override existing fields. Is there any way I can apply states to all fields or selected fields in a class?


Thanks

Avatar
Discard
Best Answer

you can change it in the xml view itself by using attributes:

For example:

<field name="your_field" position="attributes">

<attribute name="attrs">{'readonly':['('state',' in',['draft','sent','newstate1']}</attribute>

</field>

Avatar
Discard
Author

Thanks Vasant I want to apply through fields definition in py file. The problem is I don't want to write xpath or override for all fields which are there in default modules. This will be hectic. I hope you got my problem.

Best Answer

Use ORM method "fields_get"

In that you can change/set the property of a field... Try it out, It worked for me..

Refer in standard objects, like account_payment, res_bank etc, in which they have used it to customize the property of fields..


Avatar
Discard
Related Posts Replies Views Activity
3
Dec 23
91455
3
Sep 21
5389
1
Sep 15
9090
4
Aug 25
6030
3
Jul 23
5932