Package: odoo-addon-web-tree-dynamic-colored-field
This module aims to add support for dynamically coloring fields in tree view
according to data in the record.FeaturesAdd attributebg_coloron field’soptionsto color background of a cell in tree viewAdd attributefg_coloron field’soptionsto change text color of a cell in tree viewTable of contentsUsageIn the tree view declaration, putoptions='{"bg_color":"red:customer==True"}attribute in thefieldtag:...
<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, putoptions='{"fg_color":"white:customer ==True"}'attribute in thefieldtag:...
<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, useoptions='"color_field":"my_color"'attribute in thetreetag:...
<field name="arch" type="xml">
    <tree string="View name" colors="color_field: my_color" >
        ...
        <field name="my_color" invisible="1"/>
        ...
    </tree>
</field>
...You can also usecolors="bg_color_field:my_color"to defined the field name that will be used
for the background color of the line.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:...<fieldname="arch"type="xml"><treestring="View name">...<fieldname="name"options='{"fg_color": "red:red_color == True; green:green_color == True"}'/>...</tree></field>...Withthisexample,thecontentofthefieldnamed`my_color`willbeusedtopopulatethe`my_color`CSSvalue.Useafunctionfieldtoreturnwhichevercoloryouwantdependingontheotherrecordvalues.Notethatthisoverridestherestof`colors`attributes,andthatyouneedthetreetoloadyourfieldinthefirstplacebyaddingitasinvisiblefield.Can use strings too… In the tree view declaration, putoptions="{'fg_color':'green:customer_state ==\'success\''}"attribute in thefieldtag:...
<field name="arch" type="xml">
    <tree string="View name">
        ...
        <field name="name" options="{'fg_color': 'green:customer_state == \'success\''}"/>
        ...
    </tree>
</field>
...Note that you can use single or normal quotes. If the declaration of the options doesn’t follow the JSON format, the options string will be evaluated using py.eval()Known issues / RoadmapBefore version 13.0, this module had a feature allowing to change the color of
a line depending on a field, using acolorsattribute with the name of the
field on the<tree>element. Since 13.0, thecolorsattribute is no
longer in the RelaxNG schema of the tree view, so we can’t use it anymore.
This feature has then been dropped, but could be reimplement in another way.Bug TrackerBugs are tracked onGitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomedfeedback.Do not contact contributors directly about support or help with technical issues.CreditsAuthorsCamptocampTherp BVContributorsDamien Crier <damien.crier@camptocamp.com>Holger Brunn <hbrunn@therp.nl>Artem Kostyuk <a.kostyuk@mobilunity.com>Guewen Baconnier <guewen.baconnier@camptocamp.com>Phuc Tran Thanh <phuc@trobz.com>Sylvain LE GAL <https://twitter.com/legalsylvain>Other creditsThe development of this module has been financially supported by:CamptocampMaintainersThis 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.This module is part of theOCA/webproject on GitHub.You are welcome to contribute. To learn how please visithttps://odoo-community.org/page/Contribute.