Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
21940 มุมมอง

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.


อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

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

อวตาร
ละทิ้ง
ผู้เขียน

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

Related Posts ตอบกลับ มุมมอง กิจกรรม
1
ม.ค. 24
14338
4
มี.ค. 20
2893
2
มี.ค. 18
5172
0
ม.ค. 18
3329
2
ก.พ. 24
25748