diff --git a/web_tree_dynamic_colored_field/README.rst b/web_tree_dynamic_colored_field/README.rst index 90174e3d..b1a0f354 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 value. 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/__openerp__.py b/web_tree_dynamic_colored_field/__openerp__.py index 45c2be52..891f1c22 100644 --- a/web_tree_dynamic_colored_field/__openerp__.py +++ b/web_tree_dynamic_colored_field/__openerp__.py @@ -19,9 +19,10 @@ # ############################################################################## { - 'name': 'web tree dynamic colored field', + 'name': 'Colorize field in tree views', + 'summary': 'Allows you to dynamically color fields on tree views', 'category': 'Hidden', - 'version': '8.0.1.0.0', + 'version': '8.0.2.0.0', 'depends': ['web'], 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', @@ -30,8 +31,6 @@ 'views/web_tree_dynamic_colored_field.xml', ], 'qweb': [ - 'static/xml/*.xml', + 'static/src/xml/*.xml', ], - 'auto_install': False, - 'installable': False, } diff --git a/web_tree_dynamic_colored_field/static/js/web_tree_dynamic_colored_field.js b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js similarity index 51% rename from web_tree_dynamic_colored_field/static/js/web_tree_dynamic_colored_field.js rename to web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js index 2c3b5e4f..36b4dac6 100644 --- a/web_tree_dynamic_colored_field/static/js/web_tree_dynamic_colored_field.js +++ b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js @@ -1,8 +1,4 @@ openerp.web_tree_dynamic_colored_field = function(instance){ - var _t = instance.web._t, - _lt = instance.web._lt; - var QWeb = instance.web.qweb; - var pair_colors = function(pair_color){ if (pair_color != ""){ var pair_list = pair_color.split(':'), @@ -12,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]){ @@ -22,14 +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, - { - uid: obj.session.uid, - current_date: new Date().toString('yyyy-MM-dd') - } - ); + var ctx = get_eval_context(record); for(i=0, len=colors.length; i - fct_colorize(record, column) + columns.fct_colorize(record, column) - \ No newline at end of file + diff --git a/web_tree_dynamic_colored_field/views/web_tree_dynamic_colored_field.xml b/web_tree_dynamic_colored_field/views/web_tree_dynamic_colored_field.xml index 4d425fd9..7341731d 100644 --- a/web_tree_dynamic_colored_field/views/web_tree_dynamic_colored_field.xml +++ b/web_tree_dynamic_colored_field/views/web_tree_dynamic_colored_field.xml @@ -5,8 +5,8 @@ - \ No newline at end of file +