Browse Source

[IMP] mis_builder: simplify widget template

Plus more consistent vocabulary for row/col labels
pull/189/head
Stéphane Bidoul 9 years ago
parent
commit
992a14b316
  1. 20
      mis_builder/models/mis_report.py
  2. 62
      mis_builder/static/src/xml/mis_widget.xml

20
mis_builder/models/mis_report.py

@ -369,8 +369,8 @@ class KpiMatrix(object):
header = [{'cols': []}, {'cols': []}] header = [{'cols': []}, {'cols': []}]
for col in self.iter_cols(): for col in self.iter_cols():
header[0]['cols'].append({ header[0]['cols'].append({
'description': col.description,
'comment': col.comment,
'label': col.description,
'description': col.comment,
'colspan': col.colspan, 'colspan': col.colspan,
}) })
for subcol in col.iter_subcols(): for subcol in col.iter_subcols():
@ -380,22 +380,22 @@ class KpiMatrix(object):
'colspan': 1, 'colspan': 1,
}) })
content = []
body = []
for row in self.iter_rows(): for row in self.iter_rows():
row_data = { row_data = {
'row_id': row.row_id, 'row_id': row.row_id,
'parent_row_id': (row.parent_row and 'parent_row_id': (row.parent_row and
row.parent_row.row_id or None), row.parent_row.row_id or None),
'description': row.description,
'comment': row.comment,
'label': row.description,
'description': row.comment,
'style': self._style_model.to_css_style( 'style': self._style_model.to_css_style(
row.style_props), row.style_props),
'cols': []
'cells': []
} }
for cell in row.iter_cells(): for cell in row.iter_cells():
if cell is None: if cell is None:
# TODO use subcol style here # TODO use subcol style here
row_data['cols'].append({})
row_data['cells'].append({})
else: else:
col_data = { col_data = {
'val': (cell.val 'val': (cell.val
@ -407,12 +407,12 @@ class KpiMatrix(object):
} }
if cell.drilldown_arg: if cell.drilldown_arg:
col_data['drilldown_arg'] = cell.drilldown_arg col_data['drilldown_arg'] = cell.drilldown_arg
row_data['cols'].append(col_data)
content.append(row_data)
row_data['cells'].append(col_data)
body.append(row_data)
return { return {
'header': header, 'header': header,
'content': content,
'body': body,
} }

62
mis_builder/static/src/xml/mis_widget.xml

@ -10,40 +10,40 @@
</div> </div>
<table class="oe_list_content mis_builder"> <table class="oe_list_content mis_builder">
<thead> <thead>
<t t-foreach="widget.mis_report_data.header" t-as="h">
<tr class="oe_list_header_columns">
<th class="oe_list_header_char">
</th>
<th t-foreach="h_value.cols" t-as="col" class="oe_list_header_char mis_builder_collabel" t-att-colspan="col.colspan">
<t t-esc="col.description"/>
<t t-if="col.comment">
<br/>
<t t-esc="col.comment"/>
</t>
</th>
</tr>
</t>
<tr t-foreach="widget.mis_report_data.header" t-as="row" class="oe_list_header_columns">
<th class="oe_list_header_char">
</th>
<th t-foreach="row.cols" t-as="col" class="oe_list_header_char mis_builder_collabel" t-att-colspan="col.colspan">
<t t-esc="col.label"/>
<t t-if="col.description">
<br/>
<t t-esc="col.description"/>
</t>
</th>
</tr>
</thead> </thead>
<tbody> <tbody>
<tr t-foreach="widget.mis_report_data.content" t-as="c">
<td t-att="{'style': c_value.style}">
<t t-esc="c_value.description"/>
<tr t-foreach="widget.mis_report_data.body" t-as="row">
<td t-att="{'style': row.style}">
<t t-esc="row.label"/>
<t t-if="row.description">
<br/>
<t t-esc="row.description"/>
</t>
</td>
<td t-foreach="row.cells" t-as="cell" t-att="{'style': cell.style, 'title': cell.val_c}" class="mis_builder_amount">
<t t-if="cell.drilldown_arg">
<a href="javascript:void(0)"
class="mis_builder_drilldown"
t-att-data-drilldown="JSON.stringify(cell.drilldown_arg)"
>
<t t-esc="cell.val_r"/>
</a>
</t>
<t t-if="!cell.drilldown_arg">
<t t-esc="cell.val_r"/>
</t>
</td> </td>
<t t-foreach="c_value.cols" t-as="value">
<td t-att="{'style': value_value.style, 'title': value_value.val_c}" class="mis_builder_amount">
<t t-if="value_value.drilldown_arg">
<a href="javascript:void(0)"
class="mis_builder_drilldown"
t-att-data-drilldown="JSON.stringify(value_value.drilldown_arg)"
>
<t t-esc="value_value.val_r"/>
</a>
</t>
<t t-if="!value_value.drilldown_arg">
<t t-esc="value_value.val_r"/>
</t>
</td>
</t>
</tr> </tr>
</tbody> </tbody>
<tfoot> <tfoot>

Loading…
Cancel
Save