From 5008934c5c64d3738dbf89ed08d4e570decf3c57 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 22 Mar 2016 10:14:50 +0100 Subject: [PATCH 1/5] [RFR] delete unused code, move files to standard locations --- web_tree_dynamic_colored_field/__openerp__.py | 2 +- .../js/web_tree_dynamic_colored_field.js | 41 ++----------------- .../xml/web_tree_dynamic_colored_field.xml | 4 +- .../views/web_tree_dynamic_colored_field.xml | 4 +- 4 files changed, 8 insertions(+), 43 deletions(-) rename web_tree_dynamic_colored_field/static/{ => src}/js/web_tree_dynamic_colored_field.js (54%) rename web_tree_dynamic_colored_field/static/{ => src}/xml/web_tree_dynamic_colored_field.xml (64%) diff --git a/web_tree_dynamic_colored_field/__openerp__.py b/web_tree_dynamic_colored_field/__openerp__.py index d709afa4..45561c91 100644 --- a/web_tree_dynamic_colored_field/__openerp__.py +++ b/web_tree_dynamic_colored_field/__openerp__.py @@ -30,7 +30,7 @@ 'views/web_tree_dynamic_colored_field.xml', ], 'qweb': [ - 'static/xml/*.xml', + 'static/src/xml/*.xml', ], 'auto_install': 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 54% 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..c1a22d76 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(':'), @@ -25,10 +21,7 @@ openerp.web_tree_dynamic_colored_field = function(instance){ var ctx = _.extend( {}, record.attributes, - { - uid: obj.session.uid, - current_date: new Date().toString('yyyy-MM-dd') - } + instance.web.pyeval.context() ); 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 + From b5fea54f7f392f2b98bad05b843967f1099e531a Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 22 Mar 2016 10:50:34 +0100 Subject: [PATCH 2/5] [ADD] support color_field attribute --- web_tree_dynamic_colored_field/README.rst | 29 ++++++++++++++-- .../src/js/web_tree_dynamic_colored_field.js | 34 ++++++++++++++++--- 2 files changed, 55 insertions(+), 8 deletions(-) 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 Date: Tue, 22 Mar 2016 10:52:32 +0100 Subject: [PATCH 3/5] [IMP] update manifest --- web_tree_dynamic_colored_field/__openerp__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web_tree_dynamic_colored_field/__openerp__.py b/web_tree_dynamic_colored_field/__openerp__.py index 45561c91..14b967a3 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.1.0.1', 'depends': ['web'], 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', @@ -32,5 +33,4 @@ 'qweb': [ 'static/src/xml/*.xml', ], - 'auto_install': False } From 7602e7ad53d2e497a4b50739aaac624e4257c94e Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 22 Mar 2016 12:45:52 +0100 Subject: [PATCH 4/5] [IMP] higher version number bump --- web_tree_dynamic_colored_field/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_tree_dynamic_colored_field/__openerp__.py b/web_tree_dynamic_colored_field/__openerp__.py index 14b967a3..891f1c22 100644 --- a/web_tree_dynamic_colored_field/__openerp__.py +++ b/web_tree_dynamic_colored_field/__openerp__.py @@ -22,7 +22,7 @@ 'name': 'Colorize field in tree views', 'summary': 'Allows you to dynamically color fields on tree views', 'category': 'Hidden', - 'version': '8.0.1.0.1', + 'version': '8.0.2.0.0', 'depends': ['web'], 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', From 9bad55cca2444c9f4b74d01c82be912b76c0a8b8 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Fri, 1 Apr 2016 14:54:18 +0200 Subject: [PATCH 5/5] [FIX] typo --- web_tree_dynamic_colored_field/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_tree_dynamic_colored_field/README.rst b/web_tree_dynamic_colored_field/README.rst index f388d8b1..b1a0f354 100644 --- a/web_tree_dynamic_colored_field/README.rst +++ b/web_tree_dynamic_colored_field/README.rst @@ -64,7 +64,7 @@ Usage ... 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 + 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.