Skip to content

Commit

Permalink
Merge PR #2963 into 18.0
Browse files Browse the repository at this point in the history
Signed-off-by legalsylvain
  • Loading branch information
OCA-git-bot committed Nov 4, 2024
2 parents a01bf9e + 93d2a29 commit 7408734
Show file tree
Hide file tree
Showing 22 changed files with 1,083 additions and 0 deletions.
192 changes: 192 additions & 0 deletions web_tree_dynamic_colored_field/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
============================
Colorize field in tree views
============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:6521bdb39984b1f0b648e2ab5e2798ab30f3b70c504669ef51a772bcb92663da
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/18.0/web_tree_dynamic_colored_field
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_tree_dynamic_colored_field
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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

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

**Table of contents**

.. contents::
:local:

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 on customer records.

- 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 customer records.

- 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:

.. code:: xml
...
<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>
...
- Can use strings too... In the tree view declaration, put
``options="{'fg_color': 'green:customer_state == \'success\''}"``
attribute in the ``field`` tag:

::

...
<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 / Roadmap
======================

- Before version 13.0, this module had a feature allowing to change the
color of a line depending on a field, using a ``colors`` attribute
with the name of the field on the ``<tree>`` element. Since 13.0, the
``colors`` attribute 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.
- Since version 17.0 coloring is written into ``style`` attribute of
(td) element

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_tree_dynamic_colored_field%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Camptocamp
* Therp BV

Contributors
------------

- Damien Crier <[email protected]>
- Holger Brunn <[email protected]>
- Artem Kostyuk <[email protected]>
- Guewen Baconnier <[email protected]>
- Phuc Tran Thanh <[email protected]>
- Sylvain LE GAL <https://twitter.com/legalsylvain>
- Jurgis Pralgauskis <[email protected]>

Other credits
-------------

The development of this module has been financially supported by:

- Camptocamp
- Versada

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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 the `OCA/web <https://github.com/OCA/web/tree/18.0/web_tree_dynamic_colored_field>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions web_tree_dynamic_colored_field/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
20 changes: 20 additions & 0 deletions web_tree_dynamic_colored_field/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2015-2018 Camptocamp SA, Damien Crier
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Colorize field in tree views",
"summary": "Allows you to dynamically color fields on tree views",
"category": "Hidden/Dependency",
"version": "18.0.1.0.0",
"depends": ["web"],
"author": "Camptocamp, Therp BV, Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/web",
"demo": ["demo/res_users.xml"],
"installable": True,
"assets": {
"web.assets_backend": [
"web_tree_dynamic_colored_field/static/src/xml/list.xml",
"web_tree_dynamic_colored_field/static/src/js/list_renderer.esm.js",
],
},
}
21 changes: 21 additions & 0 deletions web_tree_dynamic_colored_field/demo/res_users.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_users_tree" model="ir.ui.view">
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_tree" />
<field name="arch" type="xml">
<field name="login_date" position="attributes">
<attribute name="options">{
"bg_color": "#9e1635: login_date == False",
"fg_color": "white: login_date == False"
}</attribute>
</field>
<field name="name" position="attributes">
<attribute name="options"> {
"bg_color": "blue; #653b5b: login == 'admin'",
"fg_color": "white"
}</attribute>
</field>
</field>
</record>
</odoo>
22 changes: 22 additions & 0 deletions web_tree_dynamic_colored_field/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_tree_dynamic_colored_field
#
# Translators:
# Pedro M. Baeza <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-05 01:38+0000\n"
"PO-Revision-Date: 2017-01-05 01:38+0000\n"
"Last-Translator: Pedro M. Baeza <[email protected]>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#~ msgid "columns.fct_colorize(record, column)"
#~ msgstr "columns.fct_colorize(record, column)"
22 changes: 22 additions & 0 deletions web_tree_dynamic_colored_field/i18n/fi.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_tree_dynamic_colored_field
#
# Translators:
# Jarmo Kortetjärvi <[email protected]>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-08 16:36+0000\n"
"PO-Revision-Date: 2016-07-08 16:36+0000\n"
"Last-Translator: Jarmo Kortetjärvi <[email protected]>, 2016\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#~ msgid "columns.fct_colorize(record, column)"
#~ msgstr "columns.fct_colorize(record, column)"
Empty file.
14 changes: 14 additions & 0 deletions web_tree_dynamic_colored_field/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
23 changes: 23 additions & 0 deletions web_tree_dynamic_colored_field/i18n/nl_NL.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_tree_dynamic_colored_field
#
# Translators:
# Peter Hageman <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-22 08:27+0000\n"
"PO-Revision-Date: 2017-06-22 08:27+0000\n"
"Last-Translator: Peter Hageman <[email protected]>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#~ msgid "columns.fct_colorize(record, column)"
#~ msgstr "columns.fct_colorize(record, column)"
23 changes: 23 additions & 0 deletions web_tree_dynamic_colored_field/i18n/sl.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_tree_dynamic_colored_field
#
# Translators:
# Matjaž Mozetič <[email protected]>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-06-24 00:46+0000\n"
"PO-Revision-Date: 2016-06-24 00:46+0000\n"
"Last-Translator: Matjaž Mozetič <[email protected]>, 2016\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"

#~ msgid "columns.fct_colorize(record, column)"
#~ msgstr "columns.fct_colorize(record, column)"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
Empty file.
3 changes: 3 additions & 0 deletions web_tree_dynamic_colored_field/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
7 changes: 7 additions & 0 deletions web_tree_dynamic_colored_field/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- Damien Crier \<<[email protected]>\>
- Holger Brunn \<<[email protected]>\>
- Artem Kostyuk \<<[email protected]>\>
- Guewen Baconnier \<<[email protected]>\>
- Phuc Tran Thanh \<<[email protected]>\>
- Sylvain LE GAL \<<https://twitter.com/legalsylvain>\>
- Jurgis Pralgauskis \<<[email protected]>\>
4 changes: 4 additions & 0 deletions web_tree_dynamic_colored_field/readme/CREDITS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
The development of this module has been financially supported by:

- Camptocamp
- Versada
9 changes: 9 additions & 0 deletions web_tree_dynamic_colored_field/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
This module aims to add support for dynamically coloring fields in tree
view according to data in the record.

## 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
7 changes: 7 additions & 0 deletions web_tree_dynamic_colored_field/readme/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- Before version 13.0, this module had a feature allowing to change the
color of a line depending on a field, using a `colors` attribute with
the name of the field on the `<tree>` element. Since 13.0, the
`colors` attribute 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.
- Since version 17.0 coloring is written into ``style`` attribute of (td) element
Loading

0 comments on commit 7408734

Please sign in to comment.