Skip to content

Commit f0e2cde

Browse files
committed
Merge PR #48 into 16.0
Signed-off-by pedrobaeza
2 parents cedce61 + 51279a6 commit f0e2cde

File tree

6 files changed

+23
-2
lines changed

6 files changed

+23
-2
lines changed

spreadsheet_oca/static/src/spreadsheet/bundle/filter_panel_datasources.esm.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@ export class PivotPanelDisplay extends Component {
134134
{
135135
title: this.env._t("Select the quantity of rows"),
136136
resModel: "spreadsheet.select.row.number",
137+
context: {
138+
default_can_have_dynamic_cols: Boolean(
139+
cols[0][0].fields.length
140+
),
141+
},
137142
onRecordSaved: async (record) => {
138143
resolve({
139144
dynamic_rows: record.data.dynamic_rows,

spreadsheet_oca/static/src/spreadsheet/pivot_controller.esm.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ patch(
2525
);
2626
return Boolean(colGroupBys.intersection(rowGroupBys).size);
2727
},
28+
containsColGroupBys() {
29+
const colGroupBys = new Set(
30+
this.model.metaData.colGroupBys
31+
.concat(this.model.metaData.expandedColGroupBys)
32+
.map((el) => el.split(":")[0])
33+
);
34+
return Boolean(colGroupBys.size);
35+
},
2836
disableSpreadsheetInsertion() {
2937
return (
3038
!this.model.hasData() ||
@@ -50,6 +58,7 @@ patch(
5058
default_name: this.model.metaData.title,
5159
default_datasource_name: this.model.metaData.title,
5260
default_can_be_dynamic: true,
61+
default_can_have_dynamic_cols: this.containsColGroupBys(),
5362
default_import_data: {
5463
mode: "pivot",
5564
metaData: JSON.parse(JSON.stringify(this.model.metaData)),

spreadsheet_oca/wizards/spreadsheet_select_row_number.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ class SpreadsheetSelectRowNumber(models.TransientModel):
1010

1111
dynamic_rows = fields.Boolean()
1212
number_of_rows = fields.Integer()
13+
can_have_dynamic_cols = fields.Boolean()
1314
dynamic_cols = fields.Boolean()
1415
number_of_cols = fields.Integer()

spreadsheet_oca/wizards/spreadsheet_select_row_number.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313
name="number_of_rows"
1414
attrs="{'invisible': [('dynamic_rows', '=', False)]}"
1515
/>
16-
<field name="dynamic_cols" />
16+
<field name="can_have_dynamic_cols" invisible="1" />
17+
<field
18+
name="dynamic_cols"
19+
attrs="{'invisible': [('can_have_dynamic_cols', '=', False)]}"
20+
/>
1721
<field
1822
name="number_of_cols"
1923
attrs="{'invisible': [('dynamic_cols', '=', False)]}"

spreadsheet_oca/wizards/spreadsheet_spreadsheet_import.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def _default_mode_id(self):
2424
import_data = fields.Serialized()
2525
spreadsheet_id = fields.Many2one("spreadsheet.spreadsheet")
2626
can_be_dynamic = fields.Boolean()
27+
can_have_dynamic_cols = fields.Boolean()
2728
is_tree = fields.Boolean()
2829
dynamic = fields.Boolean(
2930
"Dynamic Rows",

spreadsheet_oca/wizards/spreadsheet_spreadsheet_import.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
options="{'no_create': True}"
2828
/>
2929
<field name="can_be_dynamic" invisible="1" />
30+
<field name="can_have_dynamic_cols" invisible="1" />
3031
<field name="is_tree" invisible="1" />
3132
<field
3233
name="dynamic"
@@ -40,7 +41,7 @@
4041
<field
4142
name="dynamic_cols"
4243
force_save="1"
43-
attrs="{'invisible': ['|', ('can_be_dynamic', '=', False), ('is_tree', '=', True)]}"
44+
attrs="{'invisible': ['|', ('can_have_dynamic_cols', '=', False), ('is_tree', '=', True)]}"
4445
/>
4546
<field
4647
name="number_of_cols"

0 commit comments

Comments
 (0)