From 222874d4f67975b18855c7851fdc94f5753d59f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Sun, 15 May 2016 18:20:29 +0200 Subject: [PATCH] [IMP] mis_builder: restore style expressions The addition is local and propagates automatically to the the widget, xls and pdf exports \o/ --- mis_builder/models/mis_report.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/mis_builder/models/mis_report.py b/mis_builder/models/mis_report.py index 5ced5ac2..d61a9249 100644 --- a/mis_builder/models/mis_report.py +++ b/mis_builder/models/mis_report.py @@ -246,9 +246,25 @@ class KpiMatrix(object): val_comment = u'{} = {}'.format( row.kpi.name, row.kpi.expression) - # TODO FIXME style expression + cell_style_props = row.style_props + if row.kpi.style_expression: + # evaluate style expression + try: + style_name = mis_safe_eval(row.kpi.style_expression, + col.locals_dict) + except: + _logger.error("Error evaluating style expression <%s>", + row.kpi.style_expression, exc_info=True) + if style_name: + style = self._style_model.search( + [('name', '=', style_name)]) + if style: + cell_style_props = self._style_model.merge( + [row.style_props, style[0]]) + else: + _logger.error("Style '%s' not found.", style_name) cell = KpiMatrixCell(row, subcol, val, val_rendered, val_comment, - row.style_props, drilldown_arg) + cell_style_props, drilldown_arg) cell_tuple.append(cell) col._set_cell_tuple(row, cell_tuple)