diff --git a/web_tree_dynamic_colored_field/README.rst b/web_tree_dynamic_colored_field/README.rst
index 90174e3d..f388d8b1 100644
--- a/web_tree_dynamic_colored_field/README.rst
+++ b/web_tree_dynamic_colored_field/README.rst
@@ -4,14 +4,20 @@ 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 new attributes with the same syntax as 'colors' attribute in tree tag.
+It provides attributes on fields with the same syntax as the 'colors' attribute
+in tree tags.
+
+Further, it provides a ``color_field`` attribute on tree tags to use a field's
+value as color.
Features
========
-* Add attribute 'bg_color' to color background of a cell in tree view
+* Add attribute ``bg_color`` on fields to color background of a cell in tree view
+
+* Add attribute ``fg_color`` on fields to change text color of a cell in tree view
-* Add attribute 'fg_color' to change text color of a cell in tree view
+* Add attribute ``color_field`` on the tree element to use as color
Usage
@@ -45,7 +51,23 @@ Usage
With this example, column which renders 'name' field will have its text colored in white.
+* In the tree view declaration, use color_field="color" attribute in the tree tag::
+
+ ...
+
+
+ ...
+
+ ...
+
+
+ ...
+ With this example, the content of the field named `color` will be used to
+ populate the `color` CSS calue. Use a function field to return whichever
+ color you want depending on the other record values. Note this this
+ overrides the `colors` attribute, and that you need the tree to load your
+ field in the first place by adding it as invisible field.
Bug Tracker
===========
@@ -63,6 +85,7 @@ Contributors
------------
* Damien Crier
+* Holger Brunn
Maintainer
----------
diff --git a/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js
index c1a22d76..36b4dac6 100644
--- a/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js
+++ b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js
@@ -8,6 +8,14 @@ openerp.web_tree_dynamic_colored_field = function(instance){
}
};
+ var get_eval_context = function(record){
+ return _.extend(
+ {},
+ record.attributes,
+ instance.web.pyeval.context()
+ );
+ };
+
var colorize_helper = function(obj, record, column, field_attribute, css_attribute){
var result = '';
if (column[field_attribute]){
@@ -18,11 +26,7 @@ openerp.web_tree_dynamic_colored_field = function(instance){
var colors = colors.filter(function CheckUndefined(value, index, ar) {
return value != undefined;
})
- var ctx = _.extend(
- {},
- record.attributes,
- instance.web.pyeval.context()
- );
+ var ctx = get_eval_context(record);
for(i=0, len=colors.length; i