[FIX] Fixed kanban aggregates. Added kanban_states support. Added colors
bzr revid: fme@openerp.com-20111108165817-0ae7bp7ulfv3pn3d
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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'];
|
||||
|
||||
Reference in New Issue
Block a user