summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2011-11-08 17:58:17 +0100
committerFabien Meghazi <fme@openerp.com>2011-11-08 17:58:17 +0100
commit66f71407f2c838dd2d88c90ebd0b8d5fe16f7c5d (patch)
tree540ba62f34210e9cd4c7acacbdc348a0f128ca74
parenta9c17d03d5ff22d580455c0d89d7e9713d1d025c (diff)
[FIX] Fixed kanban aggregates. Added kanban_states support. Added colors
bzr revid: fme@openerp.com-20111108165817-0ae7bp7ulfv3pn3d
-rw-r--r--addons/web_kanban/static/src/css/kanban.css12
-rw-r--r--addons/web_kanban/static/src/js/kanban.js32
2 files changed, 27 insertions, 17 deletions
diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css
index 6c6ddd57dec..86818f6541c 100644
--- a/addons/web_kanban/static/src/css/kanban.css
+++ b/addons/web_kanban/static/src/css/kanban.css
@@ -278,12 +278,18 @@
border-color: #D979C1;
}
-/* Alert color */
-.openerp .oe_kanban_color_alert .oe_kanban_color_border {
+/* Red border */
+.openerp .oe_kanban_color_alert .oe_kanban_color_border,
+.openerp .oe_kanban_color_red .oe_kanban_color_border {
border-color: #c00 !important;
}
-/* Green color */
+/* Green border */
.openerp .oe_kanban_color_green .oe_kanban_color_border {
border-color: #0c0 !important;
}
+
+/* Blue border */
+.openerp .oe_kanban_color_blue .oe_kanban_color_border {
+ border-color: #00c !important;
+}
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index c43ea503841..b2d5dcadc25 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -52,17 +52,8 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
this.has_been_loaded.resolve();
},
add_qweb_template: function() {
- var group_operator = ['avg', 'max', 'min', 'sum', 'count']
for (var i=0, ii=this.fields_view.arch.children.length; i < ii; i++) {
var child = this.fields_view.arch.children[i];
- if (child.tag === "field") {
- for(j=0, jj=group_operator.length; j < jj; j++) {
- if (child.attrs[group_operator[j]]) {
- this.aggregates[child.attrs.name] = child.attrs[group_operator[j]];
- break;
- }
- }
- }
if (child.tag === "templates") {
this.transform_qweb_template(child);
this.qweb.add_template(openerp.web.json_node_to_xml(child));
@@ -71,18 +62,25 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
}
},
transform_qweb_template: function(node) {
- var qweb_prefix = QWeb.prefix;
+ var qweb_prefix = QWeb.prefix,
+ group_operator = ['avg', 'max', 'min', 'sum', 'count'];
switch (node.tag) {
case 'field':
- node.tag = 't';
- node.attrs['t-esc'] = 'record.' + node.attrs['name'] + '.value';
+ node.tag = qweb_prefix;
+ node.attrs[qweb_prefix + '-esc'] = 'record.' + node.attrs['name'] + '.value';
+ for (var j = 0, jj = group_operator.length; j < jj; j++) {
+ if (node.attrs[group_operator[j]]) {
+ this.aggregates[node.attrs.name] = node.attrs[group_operator[j]];
+ break;
+ }
+ }
break
case 'button':
case 'a':
var type = node.attrs.type || '';
if (_.indexOf('action,object,edit,delete,color'.split(','), type) !== -1) {
_.each(node.attrs, function(v, k) {
- if (_.indexOf('icon,type,name,string,context,states'.split(','), k) != -1) {
+ if (_.indexOf('icon,type,name,string,context,states,kanban_states'.split(','), k) != -1) {
node.attrs['data-' + k] = v;
delete(node.attrs[k]);
}
@@ -91,7 +89,13 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
var states = _.map(node.attrs['data-states'].split(','), function(state) {
return "record.state.raw_value == '" + _.trim(state) + "'";
});
- node.attrs['t-if'] = states.join(' or ');
+ node.attrs[qweb_prefix + '-if'] = states.join(' or ');
+ }
+ if (node.attrs['data-kanban_states']) {
+ var states = _.map(node.attrs['data-kanban_states'].split(','), function(state) {
+ return "record.kanban_state.raw_value == '" + _.trim(state) + "'";
+ });
+ node.attrs[qweb_prefix + '-if'] = states.join(' or ');
}
if (node.attrs['data-string']) {
node.attrs.title = node.attrs['data-string'];