Как задать цвет для определенного поля (только для некоторого столбца) в зависимости от некоторых условий в Odoo 11 в дереве one2many? - PullRequest
0 голосов
/ 06 июля 2018

Я хотел бы дать цвет для определенного значения поля в представлении one2many формы. Это мой пример кода.

 <field name="custom_order_line" mode="tree,kanban" attrs="{'readonly': [('state', '=', 'validate')]}">
    <tree colors="red:customs_sale_price &lt; price_unit;green:customs_sale_price &gt; price_unit;" string="Customs Order Lines" editable="bottom">
        <field name="customs_sale_price" colors="green:state == 'draft' "/>
        <field name="customs_cost_price" colors="red:customs_cost_price &lt; customs_sale_price"/>
    </tree>
</field>

1 Ответ

0 голосов
/ 06 июля 2018

Я нашел модуль (web_tree_dynamic_colored_field), который делает то, что вам нужно. Проверьте ссылку

Пример изменения цвета bg_color:

<field name="arch" type="xml">
    <tree string="View name">
        ...
        <field name="name" options='{"bg_color": "red: customer == True"}'/>
        ...
    </tree>
</field>

Пример изменения цвета fg_color:

<field name="arch" type="xml">
    <tree string="View name">
        ...
        <field name="name" options='{"fg_color": "white:customer == True"}'/>
        ...
    </tree>
</field>

Примечание: , что вы всегда должны использовать одинарные кавычки для полей options и заключать вложенные значения в двойные кавычки, поскольку options является объектом JSON.

Декораторы

Если вы просто хотите раскрасить строки, вы можете использовать декораторы (только для версии 11)

decoration-bf - shows the line in BOLD 
decoration-it - shows the line in ITALICS 
decoration-danger - shows the line in LIGHT RED 
decoration-info - shows the line in LIGHT BLUE 
decoration-muted - shows the line in LIGHT GRAY 
decoration-primary - shows the line in LIGHT PURPLE 
decoration-success - shows the line in LIGHT GREEN 
decoration-warning - shows the line in LIGHT BROWN

Синтаксис

<tree decoration-type="field=='value'">

Пример * * 1 032

<tree decoration-success="state=='done'">
...