Рубрики
Software

Используем атрибут decoration-* в Odoo

В Odoo есть отличная функциональность, благодаря которой мы можем завдавать различные цвета в отображении объектов. Атрибут decoration-* в доступен только для двух view:

  • Диаграмма Ганта (gannt): success, info, warning, danger и secondary.
  • Список (list): bf, it, success, info, warning, danger, muted и primary.

Какие есть цвета в Odoo?

Используем атрибут decoration-* в Odoo
Цвета в Odoo.
  • decoration-muted: светло-серый
  • decoration-danger: ярко-красный
  • decoration-success: ярко-зелёный
  • decoration-primary: светло-фиолетовый
  • decoration-info: светло-синий
  • decoration-warning: оранжевые
  • decoration-bf: выделение жирным
  • decoration-it: курсив

Как добавить выделение цветом в Tree Veiew Odoo?

Если мы создаем новый view, можно использовать следующую конструкцию:

<record id="view_custom_user_record_tree" model="ir.ui.view">
            <field name="name">Users</field>
            <field name="model">custom.user</field>
            <field name="priority">2</field>
            <field name="arch" type="xml">
            <tree decoration-danger="age <= 20" decoration-success="age > 20">
                    <field name="name"/>
                    <field name="age"/>
                    <field name="city"/>
                </tree>
            </field>
        </record>

Важно! атрибут для условия должен присутствовать в tree view.

В случае, если мы хотим изменить существующий tree view:

    <record id="view_quotation_tree_inherit_customize" model="ir.ui.view">
        <field name="name">sale.order.tree.inherit</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_quotation_tree"/>
        <field name="arch" type="xml">
            <xpath expr="//tree" position="attributes">
                <attribute name="decoration-warning">state == 'draft'</attribute>
                <attribute name="decoration-success">state == 'done'</attribute>
                <attribute name="decoration-danger">state == 'fully_canceled'</attribute>
            </xpath>
     </field>
</record>