Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
7667 Lượt xem

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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>

Ảnh đại diện
Huỷ bỏ
Tác giả

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.

Câu trả lời hay nhất

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..


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 12 23
92144
3
thg 9 21
5709
1
thg 9 15
9415
4
thg 8 25
6906
3
thg 7 23
6235