[FIX] don't break when @colors end with a semicolon

bzr revid: xmo@openerp.com-20110930132941-mw8byod4xanb8dat
This commit is contained in:
Xavier Morel 2011-09-30 15:29:41 +02:00
parent 32cdec2c72
commit d4d2b1b5b8
1 changed files with 6 additions and 4 deletions

View File

@ -154,6 +154,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
if (py.evaluate(expression, context)) { if (py.evaluate(expression, context)) {
return 'color: ' + color + ';'; return 'color: ' + color + ';';
} }
// TODO: handle evaluation errors
} }
return ''; return '';
}, },
@ -186,13 +187,14 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
this.name = "" + this.fields_view.arch.attrs.string; this.name = "" + this.fields_view.arch.attrs.string;
if (this.fields_view.arch.attrs.colors) { if (this.fields_view.arch.attrs.colors) {
this.colors = _(this.fields_view.arch.attrs.colors.split(';')).map( this.colors = _(this.fields_view.arch.attrs.colors.split(';')).chain()
function (color_pair) { .compact()
.map(function(color_pair) {
var pair = color_pair.split(':'), var pair = color_pair.split(':'),
color = pair[0], color = pair[0],
expr = pair[1]; expr = pair[1];
return [color, py.parse(py.tokenize(expr))]; return [color, py.parse(py.tokenize(expr)), expr];
}); }).value();
} }
this.setup_columns(this.fields_view.fields, grouped); this.setup_columns(this.fields_view.fields, grouped);