Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] web_tree_dynamic_colored_field #2999

Open
wants to merge 38 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6750e3a
[IMP] rename module to 'web_tree_dynamic_colored_field'
damdam-s Aug 4, 2015
7e19d5a
delete unused code, move files to standard locations
hbrunn Mar 22, 2016
fa530e9
web_tree_dynamic_colored_field v9
hbrunn Nov 8, 2016
0e4b31c
Migration of web_tree_dynamic_colored_field to 10.0
jesusVMayor May 22, 2017
9cc114d
[MIG] web_tree_dynamic_colored_field: Migration to 11.0
Feb 20, 2018
757aa36
web_tree_dynamic_colored_field: Parse field options with pyeval
guewen Mar 6, 2018
e367b9c
web_tree_dynamic_colored_field: Assume that color may not start with …
guewen Mar 7, 2018
2c627f8
web_tree_dynamic_colored_field: correct options examples in readme
guewen Mar 7, 2018
deb9221
[IMP] web_tree_dynamic_colored_field: Update README.rst (#899)
ljimenezsidoo Mar 28, 2018
d47d081
[FIX] Issue #906
Tardo Jul 4, 2018
0913d3e
Update README because of wrong license
damdam-s Oct 2, 2018
c3f7668
web_tree_dynamic_colored_field: Migration to 12.0
MiquelRForgeFlow Mar 20, 2019
2c5e4f7
remove pyeval class and fixup
AdriaGForgeFlow Apr 4, 2019
f8b9eda
[UPD] README.rst
OCA-git-bot May 22, 2019
678cf34
OCA Transbot updated translations from Transifex
oca-transbot Jul 4, 2016
e978efc
[REF] web_tree_dynamic_colored_field: Black python code
guewen Jan 9, 2020
8796435
[MIG] web_tree_dynamic_colored_field: Migration to 13.0
guewen Jan 9, 2020
32276b6
Remove support of dynamic colors on <tree>
guewen Jan 10, 2020
07bc327
Run pre-commit and fix js issues after rebase on new config
guewen Feb 4, 2020
2894081
run pre-commit with new prettiers
guewen Mar 19, 2020
2b5798c
[UPD] Update web_tree_dynamic_colored_field.pot
oca-travis Mar 19, 2020
5847518
[IMP] web_tree_dynamic_colored_field: black, isort, prettier
phuctranfxvn Feb 7, 2021
4d1dfe2
[MIG] web_tree_dynamic_colored_field: Migration to 14.0
phuctranfxvn Feb 7, 2021
b73eb72
[UPD] Update web_tree_dynamic_colored_field.pot
oca-travis Apr 1, 2021
30247d0
[IMP] web_tree_dynamic_colored_field : Add bg_color_field option
legalsylvain Jun 9, 2021
e4c5030
[IMP] web_tree_dynamic_colored_field: black, isort, prettier
amh-mw Feb 11, 2022
ec41641
[MIG] web_tree_dynamic_colored_field: Migration to 15.0
amh-mw Feb 11, 2022
225b25d
[UPD] Update web_tree_dynamic_colored_field.pot
Oct 17, 2022
0dab72c
[UPD] web_tree_dynamic_colored_field: readme usage section
Tardo Jan 13, 2023
63425d6
[BOT] post-merge updates
OCA-git-bot Feb 20, 2024
84f1537
[IMP] web_tree_dynamic_colored_field: pre-commit auto fixes (before v17)
Mar 12, 2024
ef00fcf
[MIG] web_tree_dynamic_colored_field: Migration to 17.0
dz0 Mar 14, 2024
1ae74a7
[UPD] Update web_tree_dynamic_colored_field.pot
Apr 3, 2024
86b91a9
[BOT] post-merge updates
OCA-git-bot Apr 3, 2024
41f0dde
Added translation using Weblate (Italian)
mymage Apr 19, 2024
65a1f07
[MIG] web_tree_dynamic_colored_field: Migration to 16.0
cvinh Jul 5, 2024
b64dea0
[FIX] Fixed issue of a options not working.
AmmarOfficewalaSerpentCS Nov 22, 2024
3c91c44
[FIX] pre-commit
SMaciasOSI Nov 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions setup/web_tree_dynamic_colored_field/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
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/16.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-16-0/web-16-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=16.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:%2016.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/16.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": "16.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
Loading
Loading