v 8.0 v 9.0 v 10.0 v 11.0 v 12.0 Third Party 2565
Download for v 11.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 94
Technical Name web_tree_dynamic_colored_field
LicenseAGPL-3
Websitehttps://github.com/OCA/web
Versions 12.0 8.0 9.0 11.0 14.0 15.0 10.0
You bought this module and need support? Click here!

Colorize field in tree views

This module aims to add support for dynamically coloring fields in tree view according to data in the record.

It provides attributes on fields with the similar syntax as the colors attribute in tree tags.

Further, it provides a color_field attribute on tree tags's colors to use a field's value as color.

Features

  • Add attribute bg_color on field's options to color background of a cell in tree view
  • Add attribute fg_color on field's options to change text color of a cell in tree view
  • Add attribute color_field on the tree element's colors to use as color

Usage

  • In the tree view declaration, put options='{"bg_color": "red: customer==True"} attribute in the field tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name">
            ...
            <field name="name" options='{"bg_color": "red: customer == True"}'/>
            ...
        </tree>
    </field>
    ...
    
    With this example, column which renders 'name' field will have its background colored in red.
    
  • In the tree view declaration, put options='{"fg_color": "white:customer == True"}' attribute in the field tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name">
            ...
            <field name="name" options='{"fg_color": "white:customer == True"}'/>
            ...
        </tree>
    </field>
    ...
    
    With this example, column which renders 'name' field will have its text colored in white on a customer records.
    
  • In the tree view declaration, use options='"color_field": "my_color"' attribute in the tree tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name" colors="color_field: my_color" >
            ...
            <field name="my_color" invisible="1"/>
            ...
        </tree>
    </field>
    ...
    
  • If you want to use more than one color, you can split the attributes using ';':

options='{"fg_color": "red:red_color == True; green:green_color == True"}'

Example:

...
 <field name="arch" type="xml">
     <tree string="View name">
         ...
         <field name="name" options='{"fg_color": "red:red_color == True; green:green_color == True"}'/>
         ...
     </tree>
 </field>
 ...

 With this example, the content of the field named `my_color` will be used to
 populate the `my_color` CSS value. Use a function field to return whichever
 color you want depending on the other record values. Note that this
 overrides the rest of `colors` attributes, and that you need the tree
 to load your field in the first place by adding it as invisible field.

Note that you should always use single quotes for fields' ``options`` and wrap nested values in double quotes since ``options`` is a JSON object.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smash it by providing a detailed and welcomed feedback.

Credits

Contributors

Maintainer

Odoo Community Association

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit https://odoo-community.org.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
There are no ratings yet!
Demo
by
Rodrigo
on 7/10/19, 2:00 PM

is it there a demo?