I've read the docs and looked at the original source code for many examples, but can't seem to understand what the states="" do for a button? I originally thought this would be to only show the button in these states, but for that I see attrs="{'invisible'.. are used.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
Hi,
If the attribute states are used along with a button, then the button only will be visible in the given state.
See the sample,
<button string="Confirm" type="object" name="confirm_resignation"
states='draft' class="oe_highlight"/>
Now this confirm button will only visible in the state draft.
To hide the button based on multiple conditions, like based state and some other field value,
<button name="invoice_print" string="Print Receipt" type="object"
attrs="{'invisible':['|',('sent','=',False), ('state', 'not in', ('open','paid'))]}"
groups="base.group_user"/>
If we simultaneously give attrs and states, states won't work. That's why states are given inside attrs
Thanks
+1
Thanks! And +2 for explaining that last bit, that's exactly why I didnt get the expected behaviour (I was using states and attrs invisible
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
1月 24
|
14257 | ||
|
4
3月 20
|
2835 | ||
|
2
3月 18
|
5062 | ||
|
0
1月 18
|
3174 | ||
|
2
2月 24
|
25634 |